root/main/trunk/gli/lib/README.txt @ 29730

Revision 29730, 4.2 KB (checked in by ak19, 5 years ago)

The second and final part of the commits to getting GLI running again and parsing web.xml, after the changes to commit r29687, where web.xml was split into two and included server.xml. In this commit: 1. GLI uses an EntityResolver? to resolve entities in web.xml that are defined in the included servlets.xml file. In order to keep XMLTools.java tidy and hopefully make the GLI entity resolver more reusable, the new GLIEntityResolver.java class checks default search paths first when asked to resolve entities. web/WEB-INF, where web.xml and servlets.xml live, has been added to the default search paths, as also the gli user dir where the web.xml and server.xml will be in a client-gli situation. 2. Small tidy up to Greenstone runtime's GSEntityResolver. 3. Remote Greenstone gliserver.pl needs to also transfer the new server.xml file when zipping up web.xml. 4. Minor touchups to the new README on apache.jar.

Line 
1---------------------------
2THE apache.jar FILE
3---------------------------
4
5GLI's apache.jar is a custom jar file that collects together apache libraries necessary to compile, build and run GLI. There's no documentation on the various jar files that it contains, but I've guessed by inspecting the contents.
6
7Some of the contents are from xercesImpl.jar and xml-apis.jar, which may need to be kept up-to-date in tandem, since they are related and interdependent jar files as updates to xalan.jar for instance come with correspondingly updated xerces, xml-apis and other related jars.
8
9
10Commit r29729 adds the contents of xml-apis.jar (sax) and xercesImpl.jar (both found in GS3/web/WEB-INF/lib else packages/tomcat/lib) into apache.jar, replacing the older xerces and xml-apis contained of apache.jar.
11This update was necessary to handle commit r29687 where web.xml was split into web.xml and servlets.xml, with the former including the latter as an entity. GLI needs to use an EntityResolver to work with this, but the older xerces and xml-apis in apache.jar would still result in GLI failing to start, unable to parse web.xml because of the way in which servlets.xml was included. The xercesImpl and xml-apis jars in GS3/web/WEB-INF/lib (copied into packages/tomcat/lib) contain versions of these jars that do make the EntityResolver in GLI work.
12
13
14---------------------------
15CONTENTS OF apache.jar
16---------------------------
17
18Overview of the contents of apache.jar and whether they got updated in the upcoming commit 29729.
19
20- javax: came with the updated version of xml-apis.jar
21- license: came with the updated version of xml-apis.jar
22
23- com: not sure where the contents came from, but they're not apache. Left them as-is.
24
25- org:
26    - w3c: replaced with w3c folder from xml-apis.jar from GS3/web/WEB-INF/lib (packages/tomcat/lib)   
27        also added /org/w3c/dom/html/HTMLDOMImplementation.class of xercesImpl.jar in here, to replace the older version
28    - xml: replaced with xml folder from xml-apis.jar from GS3/web/WEB-INF/lib (packages/tomcat/lib)
29    - saxpath: left as-is. See jaxen below.
30    - jaxen: left as-is. The latest version is 1.1.6 from jaxen.codehaus.org/releases.html, but it seems to be a separate project from apache's xerces and xml-apis and therefore not tightly connected with them. The latest version of jaxen includes saxpath, which means that jaxen and saxpath may be tightly connected to each other and require concurrent updating, even if they're not dependent on xerces and xml-apis and therefore not require concurrent updating with them.
31
32    - apache: most of the contents, being the html, wml, xerces and xml folders have been replaced by their counterparts from the current version of xercesImpl.jar used in GS3/web/WEB-INF/lib (packages/tomcat/lib)
33        - xmlcommons: replaced with org/apache/xmlcommons folder from xml-apis.jar from GS3/web/WEB-INF/lib (packages/tomcat/lib)
34        - log4j: left as-is.
35        - commons: left as-is.
36            - codec: appears to be from commons-codec,
37            - logging: appears to be from commons-logging.
38            - not sure where the 4 other subfolders of commons (beanutils, collections, digester, httpclient) are from. See commit message of http://trac.greenstone.org/log/gli/trunk/lib/apache.jar?rev=14319 for ideas.
39       
40
41Essentially, in commit 29729, the entire contents of GS3 web-lib's xml-apis.jar and xercesImpl.jar have been added to apache.jar after unzipping it, replacing earlier versions already present. The "javax" and "licence" toplevel folders of apache.jar are proper additions, deriving from xml-apis.jar. All other contents of apache.jar have been left as they were.
42
43
44---------------------------
45UPDATING apache.jar
46---------------------------
47
48After unzipping apache.jar, its contents were updated to use the later xerces and xml-apis as described above.
49
50How to recreate the apache.jar:
51> cd gli/lib/apache
52> jar -cvf apache.jar *
53
54The apache.jar file gets generated inside gli/lib/apache, move it into gli/lib. Then commit it.
55
56Further changes to makejar.sh/bat, to mention the new javax subfolder, since it may also need to be unzipped from apache.jar along with the other contained libraries, so that xml-apis' javax too can be included in GLI.jar when this is generated, in case there is any dependence on javax in the rest of xml-apis' classes.
57
58
59
60
Note: See TracBrowser for help on using the browser.