grenoml wrote:
1. The 'context XML config file' came into being with the Tomcat 4.1.x releases. For earlier Tomcat releases the user can just put the context mapping into the server.xml file or alternatively download the release-identified war and rename it to Xindice.war.
Ouch. This makes things worse to me. Look, there is *no way* for Xindice to work "out of the box" if the context map is not /Xindice: the path is harcoded in the XML-RPC client (see org.apache.xindice.client.xmldb.xmlrpc.CollectionImpl.java), so the presence of an /Xindice context is absolutely necessary.
Now, given that WAR archives taught users the "drop and forget" approach, we would end up with lots of angry users in despair (yes, I agree, they should read the doc and we should put in bold capital letters that they have either to rename the war or to change the servlet mapping, but then again you know that this never happens :-/). ATM, apart from a semi-automatic fix available only in the latest Tomcat release (there are *many* Tomcat 3.x and 4.0.x around, not to mention different servlet containers), there is no automatic way to accomplish this, I still think that calling the war Xindice.war (which is IMHO a bad naming anyway, I much prefer xindice.war, no capitals) is the fastest and easiest way to avoid problems. As for version informations, see below.
I think that this is a matter of pure taste. I consider myself a somewhat experienced (albeit a bit disappointed) Tomcat user, but
still I like more to have plain setups (besides, I would certainly use your
context file for loggins setup, that's really cool). I think that if
the jars inside WEB-INF/lib are versioned it's easy enough to understand what version you are running.
I'm not agreeing with you here. There's just no guarantee that any of the jars in WEB-INF/lib would change between releases or that a *user* would ever remember which third-party jar changes went with which release of Xindice.
I'm afraid you haven't got my point, as I'm not talking about third party jars. As of now Xindice classes are under /WEB-INF/classes, and with this setup I agree that you lose any version information. I want to make a very small change so that Xindice classes will be in a versioned jar under /WEB-INF/lib (such as xindice-1.1b.jar): would that be enough?
Again, I think all that is necessary is a good INSTALL DOC that tells
them what each piece is and does.
This is needed anyway, and we should be working on it (as on general 1.1 documentation which is still underway. Way underway :-)).
I think that the Xindice war should contain some type of internal servlet for this rather than requiring the user to drop a separate war into Tomcat. I like the concept of having a database collection setup on first request. I think that whatever the first user demonstration experience with Xindice is to be, that it must be entirely self-contained within the Xindice war file. I'm speaking with my *user* hat on here.
Good suggestion too, I like that user hat. :-) I'll try to come up with something flexible and automated in these days: meanwhile, suggestions are more than welcome.
Ciao,
-- Gianugo
