Wrapping up Cayenne 3.0

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Jun 18 2008 - 09:06:33 EDT

  • Next message: Aristedes Maniatis: "Re: Wrapping up Cayenne 3.0"

    Wanted to float the idea of wrapping up 3.0 release. Contrary to what
    I said in the past (3.0 final == certified JPA release), there are a
    few considerations that made me change my mind in favor of 3.0 without
    full/any JPA:

    1. Lack of momentum. We were unable to find any committed volunteers
    to work on the JPA provider, even though we had maybe 5 or 6 declared
    volunteers, so I ended up doing all work myself. I have a few theories
    why, but this is not important for this discussion.

    2. My personal availability to do Cayenne work has shrunk
    significantly with growing ObjectStyle consulting business. The
    remaining time is spent on Cayenne classic API, driven by user
    requests and my own needs.

    3. The amount of new features developed in Cayenne classic in 3.0
    requires some serious catching up to do - add modeler support for many
    new features, write tutorials and documentation. In this respect I
    think one thing is very important - communicate to our users a clear
    definition of "what is Cayenne" now (i.e. the scope of fully supported
    features, best practices, etc.). We've done that pretty well in the
    past, but it is impossible to do it with a moving target. There are
    questions being asked like "is there POJO support?", "how do I
    configure cache", etc. All we can do is give a vague answer "it sorta
    work, there's no modeler or documentation"). With the amount of cool
    new stuff, I wish we could give users more definite answers (or maybe
    I am too backwards thinking, and in the post-Web 2.0 world everybody
    is comfortable using nightly builds in production, and we are wasting
    time with all the cleanup? :-))

    Anyways... Regardless of the limited resources we've managed to
    advance Cayenne 3.0 very far, and regardless of the lack of docs for
    the new features, people love and use them already, so there are lots
    of things to be proud of:

       http://cayenne.apache.org/doc/guide-to-30-features.html

    So here is the suggested plan. The development part of it is presented
    from the POV of "Andrus as a Cayenne committer" (i.e. the stuff I will
    be working on that does not require PMC consensus and does not require
    others to follow). Release plan part will require the PMC consensus.

    DEVELOPMENT:

    JPA is still on the table, only postponed till the future releases
    (3.1). For now concentrate on wrapping up classic API features. Here
    is an approximate (and pretty long) list:

      * EJBQL missing features (constructors, flattened relationships,
    better error reporting)
      * Vertical Inheritance
      * Multiple cayenne.xml in the project (CAY-943)
      * Generating Query and Procedure Access Code (CAY-1070)
      * Modeler SoC 2008
      * Modeler: support for embeddables
      * Modeler: support for EJBQL queries
      * Tutorials
      * Resolve JPA legal caveat [1]
      * (plus lots of smaller features and bug fixes) :

    RELEASE PLAN:

    * Once major remaining features are in, we change releases suffix from
    Mx to Bx ("milestone" to "beta") and go into the code freeze.
    * Once we fix all bugs and write docs, we do release candidates
    (somewhere here we also branch for 3.1 development)
    * We release 3.0-final
    * We EOL 1.2 (SourceForge) and 2.0 (Apache) branches.

    Thoughts?

    Andrus

    [1] JPA Legal Caveat: (something to confirm on legal-discuss). We are
    not allowed to release a JPA provider until it fully passes the TCK.
    Per some interpretations of the JPA spec license it seems to mean that
    we can't release a 3.0-final that contains JPA-nonfinal provider jars
    (while we can still release milestone non-final releases of JPA). So
    we'll likely have to fork JPA stuff in a separate assembly. That's a
    minor detail IMO. We can easily comply.



    This archive was generated by hypermail 2.0.0 : Wed Jun 18 2008 - 09:07:39 EDT