Guvnor war filenames and default URL's
kurtstam Mar 25, 2011 9:52 AMHi guys, Geoffrey sent this out to the active developers who seem to gravitate to Proposition 1 (in favor of keeping things simple) However I though I'd open it up to a wider audience:
We used to have this situation (pre split-up):
- Module drools-guvnor, type war
- builds 1 war: drools-guvnor.war
- Hosted mode works.
- Non-hosted mode URL: http://localhost:8080/drools-guvnor/
- builds 1 war: drools-guvnor.war
- Release contains drools-guvnor.war
After the split-up (unreleased) this changed slightly:
- Module guvnor-webapp, type war
- builds 1 war: guvnor-webapp.war
- Hosted mode works.
- Non-hosted mode URL: http://localhost:8080/guvnor-webapp/
- builds 1 war: guvnor-webapp.war
- Release contains guvnor-webapp.war
So, what's wrong with this?
- That 1 war doesn't deploy without modification on JBoss 5 or 6
- The modification is different between 5 and 6
- That file name doesn't have the version string (= bad practice)
- Confusing if you download guvnor 5.0 and 5.1 and drop them into the same folder in the internal fileserver (mirror).
- Basically you overwrite the previous one and other people might mistake it for the previous one
- Confusing if you download guvnor 5.0 and 5.1 and drop them into the same folder in the internal fileserver (mirror).
Solution I've been able to do so far:
- Module guvnor-webapp, type war
- builds 1 war: guvnor-webapp-5.2.0.war
- This is the generic war, which is the stone out of which the specific wars are cut.
- Hosted mode works.
- Non-hosted mode URL: Doesn't matter, because it's not used?
- builds 1 war: guvnor-webapp-5.2.0.war
- Module guvnor-distribution, type pom with a list of assemblies
- builds several wars:
- guvnor-5.2.0-jbossas-5.1.war
- URL: http://localhost:8080/guvnor-5.2.0-jbossas-5.1/
- guvnor-5.2.0-jbossas-6.0.war
- URL: http://localhost:8080/guvnor-5.2.0-jbossas-6.0/
- guvnor-5.2.0-tomcat-6.0.war
- URL: http://localhost:8080/guvnor-5.2.0-tomcat-6.0/
- guvnor-5.2.0-jbossas-5.1.war
- Each war deploys without modification on the specific app server.
- builds several wars:
So, what's the problem?
- The URL needs to be documented in the manual.
- More than 1 URL, that changes per version is confusing.
So, what's the proposed solutions?
- Proposition 1: It's fine like that.
- People expect the URL to match the war filename.
- It's a JEE standard. No magic happening.
- At least they will find it like that and they can rename the file if they want a different url.
- gdesmet: +1
- People expect the URL to match the war filename.
- Proposition 2: Use jboss-web.xml to set the URL for all jboss wars to guvnor:
- URL: http://localhost:8080/guvnor/
- Problem: this is impossible to add this in the tomcat war (there is no tomcat-web.xml).
- The tomcat URL stays: http://localhost:8080/guvnor-5.2.0-tomcat-6.0/
- unless they change the war filename or TOMCAT_HOME/conf/server.xml
- The tomcat URL stays: http://localhost:8080/guvnor-5.2.0-tomcat-6.0/
- gdesmet: +0
- ok, we're giving better service to JBoss AS
- but in total it is a step forward for the tomcat crowd as they get a specific version war
- ok, we're giving better service to JBoss AS
- Proposition 3: Give all wars the same name guvnor.war and use different directories.
- Problem: this will be very confusing for both the build and the download files.
- gdesmet: -1
- It's making the bad practice of not including the version number even worse.
So I am thinking proposition 1 or 2, what do you think?
Speak up now or hold your peace forever.
--K