Hello, I've briefly looked through current JIRAs, mixed it with my own thoughts and what I recently saw on the mailing lists. I've managed a little list of features which are desired in Cayenne by me or someone else. Firstly I'd like to discuss them on dev list, and after that present on users list, so that they (users) could share their own ideas. The list can contain all aspects of Cayenne, such as core functionality, GUI support, third-party integration or some spec compliance. There's no guarantee that any of this features will appear in Cayenne 3.1, whose development had de-facto started. But at least we can have in mind other's thoughts and opinions. The list can appear very messy, but we've not discussed any roadmap recently (in fact, never since I'm in the project). Of course, there's no assignnee on any of the tasks, but if there's anyone volunteering whether of the team or not, please say it :) Any ideas/critics/comments are greatly welcomed. We can start a new thread on any specific feature.
So, my list (without any specific order): Core functionality: --- Query generics (CAY-1294) - this is largely desired task, but it can only be done with lots of rework of guts of Cayenne, if ever can in current architecture. More info in the Jira. --- Linking Cayenne with some IoC container (more at http://markmail.org/message/xyyixpaolg45cj4x). in fact, the work had already started by Andrus. --- Finish (vertical) inheritance (CAY-1090) - not sure, how much is to be done there. Link to description is in Jira. --- Managing DB indexes with Cayenne (CAY-204). This is useful when forward-engineering, i.e. starting with Cayenne project, then put it in database (especially many databases). --- Add support for pre-ordering of relationships (CAY-477) - very useful feature. Miss it a lot, although never thought about how to implement it. --- Allowing "lazy" attributes and/or streaming of large data (CAY-316). Currently Cayenne is quite weak in working with LOBs. For instance, one have to create separate table for LOBs so that all data is not eagerly fetched in select query. --- ROP: add lifecycle callbacks for client classes. --- ROP: unify client- and server classes. i really want to see classes that can work both on client and server someday. GUI support: --- Create Eclipse plugin for Cayenne. This is a very large task, somewhat discussed at http://cayenne.markmail.org/search/?q=eclipse+vs+swing#query:eclipse%20vs%20swing+page:1+mid:3laascxup2afjux5+state:results. Noone disputes the need of such plugin in general, but we need a leader to start the project. Personally, I can't do that because of serious lack of knowledge in SWT. No matter whether we succeed in creation of plugin or stay with existing modeler, following points must be improved from our current state: --- Add some graphical modeling editor for ER and Class diagrams (CAY-762). Maybe be able to import some existing formats. --- Stop using HSQL internally in modeling (e.g. switch to JDK preferences). It is slow and buggy. --- Improve XML Project <---> code interaction. E.g. generate classes automatically, generate listener classes and so on. --- Make GUI tool it more user-friendly (many JIRAs for that, also was a thread recently, can't find it now). we really can improve user interface (remove extra clicks, change button positioning etc) and design. That'll be enough for the first time :) Thanks, Andrey
