On 7/18/07, David Jencks <[EMAIL PROTECTED]> wrote:
I've been working with Peter Petersson to get roller 4 running on geronimo 2, and we've now succeeded. As a result we have some ideas to make roller more javaee friendly and geronimo friendly.
Great! See my comments below:
1. Provide an option to look up the EntityManagerFactory in jndi rather than constructing it through java code. Generally in ee5 app servers you want to use the ee5 mechanisms to access the ee5 features :-) so just as there is an option to look up the datasource in jndi rather than using a Driver class directly, it would be great to have the option to look up the EMF in jndi as well. I don't see a convenient way to use the ee5 injection features since AFAICT there aren't any managed objects (servlets, filters, listeners, or jsf managed beans) very near the code that needs the EMF. I've implemented this and it works in geronimo, see ROL-1482. The only possibly objectionable part of this patch I can imagine is the switch to the servlet 2.5 schema for the persistence unit ref. In geronimo at least we can work around a 2.4 web.xml if you don't want to upgrade yet: the remainder of the patch would still be extremely helpful.
If this is configurable, I don't see a problem with that. I believe with the latest 4.0 stuff, Roller can be configured to run w/o modifying the app server. I don't mind a JNDI lookup if we can maintain the ability to run w/o configuring the app server. I'm not certain about this - especially since 3.1 does require you to configure a JNDI datasource. I don't think we should require Servlet 2.5 for Roller since we aren't currently taking advantage of any of the 2.5 features.
2.jpa mapping info. I notice you are currently using orm.xml files. Do you have plans to move to annotations, and is anyone working on that? Also IIUC it's possible to make the annotations or orm files match the script generated schema more closely by including stuff like column sizes, does anyone have an opinion on if that is desirable?
I don't believe there's anything preventing us from using annotations. We're requiring Java 5 for 4.0 and Dave recently added Guice which depends on annotations.
3. For deployment in geronimo, and use in a geronimo plugin, we need to get at at least the roller war and possibly some inner details such as the core jar. It would be most convenient for us if these were available through a maven repository. So this leads to the questions... 3a. Would you consider including some use of the maven ant tasks in the ant build scripts to get various artifacts into maven repositories? 3b Are you completely thrilled with the ant build or would you be interested in considering a maven build system?
I'm likely the only fan of Maven on the Roller project. IMO, we could easily move to Maven and make it easier to develop purely from an IDE - but since I don't do much development on Roller, I'm not an authority on how much Ant is used. I think it's reasonable to go with a hybrid solution (pom.xml with dependencies) that allows Ant and Maven to be used.
If anyone's interested the current geronimo roller plugin is at https://svn.apache.org/repos/asf/geronimo/plugins/roller I put some really basic and probably hard to follow build instructions in a README.
Thanks! Matt
many thanks david jencks
-- http://raibledesigns.com