Plans for the future (aka 3.1 roadmap)

From: Andrey Razumovsky (razumovsky.andre..mail.com)
Date: Tue Nov 17 2009 - 14:26:17 EST

  • Next message: Michael Gentry: "Re: Plans for the future (aka 3.1 roadmap)"

    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



    This archive was generated by hypermail 2.0.0 : Tue Nov 17 2009 - 14:27:20 EST