Tim, here is a bit of feedback about DCD
- data management only supporting int as returntype for method createItem ( signature in the docs is createItem(item:myDatatype):int ) seems a bit limitative. We should be able to return the PK datatype or eventually the bean itself. When we are configuring data management the first thing we pick is the primary key so the wizard should be able to validate if the returntype for createItem match de PK. UpdateItem is also problematic, we are assuming that the bean is saved as is, but if we want to update some additional fields server-side, we have to implement some kind of push so the client is updated. The update signature should be updateItem((item: myDatatype):myDatatype or updateItem((item: myDatatype):*
- Really don't like the way the services are generated inline and with the endpoint hardcoded. In the past, no endpoint was necessary, even less a full hardcoded one. Since we point it to the services-config, why is there a need to write it in the code? Removing it from the services generated we are still able to run it successfully.
- Pagination should support a single count method for multiple paged queries as I explained in another thread. A ER has been made https://bugs.adobe.com/jira/browse/FB-20809.
- Lazy-loaded related objects should be supported, the basic support lazy-loading just for the first level (object itself) is quite limitative because complex objects (with many associations ) will take a lot of time to load every single related object. For small projects it can ok, but not for medium / large ones.
- The invocation process to service call should be based on events like the rest of the frameworks, flex included, like that we would be able to easily replace the generated code with our own implementation.
- Forms generation is quite useful, just think it should be more advanced like enabling formatting and validation process.
Thanks a lot for detailed description on your issues.
And regarding your first issue, DataMangement already allows these kind of signatures that you are requesting for. createItem() can return either the primary key type or the whole VO/Bean itself. For example if my data type is "Movie" & UID/PK is "Name" which is "String", then my createItem can be "createItem(m:Movie):String" or "createItem(m:Movie):Movie".
Datamangement at is current state also allows updateItem to be flexible. It can either be "updateItem(m:MyType):MyType" or "updateItem(m:MyType):void"
So, the things which you are requesting for are already available currently. Please let us know if you are unable to use them or hitting any issues while doing so.
Thanks so much for your time.
Srinivas Annam - Adobe