Re: CayenneModeler plugin environment

From: Kevin Duffey (kevinmduffe..ahoo.com)
Date: Sat Jul 22 2006 - 23:52:37 EDT

  • Next message: Andrus Adamchik: "Re: CayenneModeler plugin environment"

    Hi all,

    I have not joined the cayenne-dev list, so I may not see some replies. I am on about 17 mailing lists right now and while I do not mean any offense, I don't have the time to start developing on a new project.

    A few thoughts since Andrus has emailed Evert and I. First, I would like to explore Evert's "2.0" codebase a bit, possibly with Evert and Andrus on IM if there is any possibility we can all three meet. I know I am in California, PST and Evert is Netherlands. I am on Yahoo IM as is Evert if Andrus, you could maybe join up (if you dont have Yahoo account) and meet with us, or we can log in to any IRC server (usually EFNET works well) and chat in a private channel. Does this work for you Andrus... if so, yahoo/irc? Anyone else on the cayenne project is welcome to join as well.

    The 2.0 codebase is a rewrite of the engine from scratch. It shares many of the same ideas, especially at the classloader level, but we ran into some snags with plugin dependencies (primarily circular references where plugin A depends on B, B on C and C on A.. not a good thing to do). As well, Evert, who did most of the unload coding of plugins, learned that there is quite a problem in trying to unload plugins once one plugin grabs a ref to any class in another plugin. I used to contribute to the Eclipse Equniox project, and learned from them that they basically unload the entire plugin stack to do a runtime reload of just a single plugin, depending on the dependency complexities. Anyway, don't want to delve into that now, just a heads up of why the 2.0 codebase may be the way to go, especially if a few of you on the cayenne project will help contributes to it (both code and ideas).

    As Andrus mentioned, I am tied up with my present job, but always check emails, and would like to start contributing a bit more to the new codebase.

    Look forward to working with you guys.

    Andrus Adamchik <andru..bjectstyle.org> wrote: I am back to the plugin engine topic again. Now it is out of the
    hypothetical realm, as 3.0 development has already started.

    First I wanted to address earlier suggestion by Ahmed [1] to use JPF
    [2]. Cayenne *as a package* is released under Apache license. ASF has
    an explicit policy that prohibits bundling (L)GPL software. We can't
    even use Launch4j for the Windows distro as it has a binary component
    that is distributed with Cayenne. The only "workaround" for the LGPL
    "incompatibility" is to release the Modeler entirely outside of
    Apache, which is certainly NOT what we want.

    *****

    Another candidate is Platonos [3]. Which is an excellent one, but as
    Ahmed and myself pointed out, the project is dormant, as its
    developers can't for personal reasons dedicate much time to it.

    I contacted Platonos developers to get a better feeling of the
    situation (I am cc'ing to Kevin and Evert who are the main force
    behind the project). To be entirely accurate the project is not
    dormant - Evert is developing a new version [4], which I still need
    to explore, and looking into JSR 198 (A Standard Extension API for
    IDE, which itself seems dormant :-)). And Kevin is consistently
    providing support on the user mailing list. Essentially the situation
    is slightly better than I had with JStaple some time ago (really
    passionate about the project, but not realistic to do 100 things at
    once).

    Kevin suggested donating Platonos code to Apache. In the ideal world
    this would be a great idea. This is a very nice component that would
    fit either in Jakarta commons or Cayenne (believe it or not, such
    commonly useful thing as a plugin engine is nowhere to be found).
    Still with no support from the original developers for the time-
    consuming incubation process, I don't see this as an option at this
    time. Essentially this would place the Platonos incubation burden on
    Cayenne committers. Don't know about others, but for me this is out
    of the question at the moment. While I'd be glad to mentor such
    project at the Incubator, anything beyond that is unrealistic until
    Cayenne's own incubation is finished. Maybe we can scout for
    volunteers on the Incubator list??

    Anyways, IMO the best option would be to start with current Platonos
    code, working out any issues with Kevin and Evert. Kevin also
    suggested giving commit access to interested Cayenne committers.
    While I am not psyched about taking over the project without any
    sense of direction on my end (this is a bit un-Apache as well), it
    will be sort of a guarantee for the ongoing support of CayenneModeler
    requirements. The first one of those being Maven builds from repo
    that we could use in Cayenne.

    Thoughts? Comments?

    (Kevin, Evert, please feel free to chime in as well)

    Andrus

    [1] http://objectstyle.org/cayenne/lists/cayenne-devel/2006/07/0032.html
    [2] http://jpf.sourceforge.net/
    [3] http://platonos.sourceforge.net
    [4] http://platonos.cvs.sourceforge.net/platonos/ppe2/

                     
    ---------------------------------
    Do you Yahoo!?
     Get on board. You're invited to try the new Yahoo! Mail Beta.



    This archive was generated by hypermail 2.0.0 : Sat Jul 22 2006 - 23:56:55 EDT