On 5/16/07, Matt Raible <[EMAIL PROTECTED]> wrote:
I think the easiest way to make Roller portable among app server is to make everything self-contained w/in the WAR itself. We did this for security when we added in Acegi.
I don't want folks to have to modify the contents of the WAR at all, that's one of he reasons I don't like Acegi -- users have to modify security.xml for SSO, LDAP and any other alternate configurations.
We can do this for JavaMail pretty easily (I actually did it once to prove a point to the JavaLobby guys). For a DataSource, you could do that pretty easily too (with out w/o Spring). I think if you allow JavaMail and the DataSource to be overridden and looked up from JNDI, you get the best of both worlds.
Yes, the actual DB connection and mail-session stuff is the easy part of the installer work. I think the hard part will be getting the automatic DB upgrade stuff to work well, with the right amount of UI, error reporting and feed-back.
If the WAR is self contained, it should be able to deploy on any app server. If it doesn't, it's a problem with an underlying framework or the server's implementation. Ever since we switched AppFuse to use Spring to configure everything in the WAR, a lot of deployment issues have gone away.
I'd like the WAR to be immutable -- there should be no need to edit it's contents. To deploy Roller you create a roller-custom.properties file with your settings and/or create the App Server resources you need and drop in the un-altered WAR that you downloaded. - Dave