HowTo: Install Tomcat, Cocoon, Exist with and without Eclipse
Transcription
HowTo: Install Tomcat, Cocoon, Exist with and without Eclipse
HowTos für Installation von Tomcat, Cocoon und eXist ohne und mit Eclipse mit Bitte um Kommentare und Korrekturen von Peter Strassnig Bakk. techn. Technische Universität Graz letztes Update: 8. Februar 2006 Inhaltsverzeichnis 1 Verwendete Software und Versionen 2 2 Tomcat, Cocoon und Exist ohne Eclipse 3 2.1 Installation von Apache Tomcat . . . . . . . . . . . . . . . . . 3 2.2 Installation von Apache Cocoon . . . . . . . . . . . . . . . . . 3 2.3 Installation von eXist . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 Integration von eXist in Apache Cocoon . . . . . . . . . . . . 4 3 Tomcat, Cocoon und Exist in Eclipse 3.1 8 3.1 Installation von Apache Tomcat in Eclipse . . . . . . . . . . . 8 3.2 Cocoon 2.1.7 in Eclipse 3.1 laden . . . . . . . . . . . . . . . . 9 3.3 Erstellen von Cocoon mit Ant von Eclipse: . . . . . . . . . . . 10 3.4 Integration von eXist in Apache Cocoon . . . . . . . . . . . . 11 1 1 Verwendete Software und Versionen Für die Entwicklung des Systems wird die aktuelle Version des jeweiligen Softwareproduktes mit Stand 1. Juli 2005 verwendet. Konkret wären dies: • Apache Cocoon in der Version 2.1.7 • eXist XML-Datenbank in der Version 1.0-beta2 • Tomcat als Servletcontainer in der Version 5.5.9 • Java 2 SDK in der Version 1.4.2 • Adobe Acrobat Professional Version 7.0 • Adobe Acrobat SDK Version 5.0 Release 4 • Eclipse 3.1.1 inkl. deutschem Sprachpacket. 2 2 Tomcat, Cocoon und Exist ohne Eclipse 2.1 Installation von Apache Tomcat 1. Nach dem Download des Tomcat ([Apache Tomcat, 2005]) Windows Installers wird dieser Ausgeführt und unterstützt den Benutzer bei der Installation. Tomcat in der verwendeten Version benötigt normalerweise Java ab der Version 1.5. Da Cocoon, speziell der XML-Parser Xerxes, nicht mit dieser Version läuft ist es Notwendig für Tomcat einen Patch einzuspielen. Dieser ist ebenfalls auf der Tomcat Homepage zu nden. Dieser Patch ist unter 'JDK 1.4 Compatability Package' auf der Tomcat HP zu nden. Konkret müssen folgende Files eingespielt werden: In den Ordner TOMCAT-HOME/bin/ • jmx.jar und in den Ordner TOMCAT-HOME/common/endorsed/ • xerxesImpl.jar • xml-apis.jar 2. Nach dem einspielen der genannten Dateien läuft Tomcat einwandfrei und kann unter der Adresse localhost:8080 aus einem Browser heraus erreicht werden! 2.2 Installation von Apache Cocoon Für die Installation von Cocoon reicht es das Verzeichnis cocoon/build/webapp in den webapps Ordner von Tomcat zu copieren und danach in cocoon umzubenennen. Cocoon muss nach dem Download mittles build.bat / .sh compiliert werden um einen webapp Ordner zu erhalten. Eine zweite Möglichkeit besteht darin cocoon mit dem Befehl build -war zu compilieren und die Datei cocoon.war in den Ordner TOMCAT/webapps zu kopieren. Beim nächsten Start von Tomcat wird die .war Datei automatisch entpackt und im Tomcat/webapps Ordner unter dem entsprechenden Namen zugänglich gemacht. 3 2.3 Installation von eXist Von der Homepage von Exist [eXist, 2005] wird die aktuelle version als exist(version).jar File downgeloaded. Dies ist der Installer für Windows. Er versucht alle Pfade und Umgebungsvariablen richtig zu setzten. Wichtig ist dass die Umgebungsvariable EXIST_HOME richtig gesetzt ist! Da diese Installation später nach der Integration von Cocoon nicht mehr benötigt wird, ist es von Vorteil eXist nicht direkt in ein Unterverzeichnis von Tomcat zu installieren. Zum Test der Datenbank kann die Datei \..\Exist\bin\startup.bat ausgeführt werden um den Exist Server zu starten. Danach kann die lokale Startseite, die Dokumentation und die Beispiele über http://localhost:8080/exist erreicht werden! 2.4 Integration von eXist in Apache Cocoon Folgende Schritte sind auszuführen um die XML-Datenbank in die Cocoon Umgebung zu integrieren um einen Zugri über die XMLDB API zu ermöglichen. [Wiki.exist-db.org, 2005] Hier wird davon ausgegangen dass Cocoon in der angegebenen Version im Servletcontainer Tomcat läuft und über die Umgebungsvariable CATALINAHOME/webapps/cocoon erreicht werden kann. Weiters muss eXist installiert sein und über EXIST-HOME/ erreichbar sein. 1. Aus dem Verzeichnis EXIST-HOME/lib/core sind folgende Dateien in das Verzeichnis /cocoon/WEB-INF/lib zu kopieren: • commons-pool-1.1.jar • xmlrpc-1.2-patched.jar • xmldb.jar 4 Da eXist die aktuellen Versionen der XMLDB API benötigt müssen folgende älteren Files aus dem Verzeichnis /cocoon/WEB-INF/lib gelöscht werden. • xmlrpc-1.1.jar • xmldb-api-20030701.jar • xmldb-common-20030701.jar • xmldb-xupdate-20040205.jar Aus dem Verzeichnis EXIST-HOME/lib/optional sind folgende Dateien in das Verzeichnis /cocoon/WEB-INF/lib zu kopieren: • castor-0.9.5.jar Anmerkung : bei Verwendung von eXist-1.0b2-build-1107 muss die datei seperat heruntergeladen werden (zb.: http://dist.codehaus.org/castor /0.9.5/castor-0.9.5.jar). • commons-leupload-1.0.jar • isorelax.jar • xsdlib.jar • msv.jar Anmerkung : isorelax.jar, xsdlib.jar und msv.jar waren nicht vorhanden, folgender Workaround hat geholfen: von http://www.relaxer.org /download/relaxer-1.0.zip wurde der Relaxer heruntergeladen, in dem Archive benden sich isorelax.jar, xsdlib.jar und msv.jar • jgroups-all.jar (Diese Datei ist bei der Standardauslieferung von Exist nicht standardmäÿig enthalten. Sie kann bei [cvs.sourceforge.net, 2005] downgeloaded werden! Es kann sein dass sie nicht im lib/optional, sondern im lib/core Verzeichnis zu nden ist) Aus dem Verzeichnis EXIST-HOME sind folgende Dateien in das Verzeichnis /cocoon/WEB-INF/lib zu kopieren: • exist.jar • exist-optional.jar 2. Als nächstes muss die Kongurationsdatei für Exist (EXIST-HOME/webapp/WEBINF/conf.xml) in das Verzeichnis ../cocoon/WEB-INF/ kopieren. 5 3. Editieren der web.xml Datei im Verzeichnis /cocoon/WEB-INF/ Für den Zugri auf eXist über xml-rpc, web-dav, SOAP oder XMLDB müssen einige Servlets deniert werden, zumindest muss das eXist Servlet deniert werden! Das EXIST-Servlet muÿ vor dem Cocoon-Servlet deniert werden. <servlet> <servlet-name>EXistServlet</servlet-name> <servlet-class>org.exist.http.servlets.EXistServlet</servlet-class> <!-- eXist's home directory. All file names in the configuration file will be relative to this directory. --> <init-param> <param-name>basedir</param-name> <param-value>WEB-INF/</param-value> </init-param> <init-param> <param-name>start</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 4. Als nächstes muÿ das Mapping für das Servlet deniert werden. Diese werden ebenfalls in der Datei web.xml von Cocoon wieder vor den Cocoon Mappings deniert. <!-- eXist's DatabaseAdminServlet --> <servlet-mapping> <servlet-name>EXistServlet</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> 6 5. Nun muss in der Datei cocoon.xconf noch der Treiber für den Datenbankzugri über die XMLDB API und dem xmldb Pseudoprotokoll deniert werden. Dazu wird in cocoon.xconf ein zusätzlicher xmldb Treiber hinzugefügt. <driver class="org.exist.xmldb.DatabaseImpl" type="exist"/> 6. Um die XSP Logicsheets von Exist verwenden zu können muss noch eine Denition in der Datei cocoon.xconf vorgenommen werden. Die Denition wird direkt nach der Denition der JAVA Eigenschaften vorgenommen! <builtin-logicsheet> <parameter name="prefix" value="xdb" /> <parameter name="uri" value="http://exist-db.org/xmldb/1.0" /> <parameter name="href" value="resource://org/exist/xmldb.xsl" /> <builtin-logicsheet> <parameter name="prefix" value="xdb" /> <parameter name="uri" value="http://exist-db.org/xmldb/1.0" /> <parameter name="href" value="resource://org/exist/xmldb.xsl" /> </builtin-logicsheet> </builtin-logicsheet> 7. Nun kann der Inhalt von EXIST-HOME/webapp/ in ein Verzeichnis im Cocoon-Rootverzeichniss kopiert werden (z. B. cocoon/exist/). 8. Wichtig ist dass in der Kongurationsdatei von Exist, conf.xml im cocoon/WEB-INF/ Ordner, der Pfad für die Datenbankresourcen geändert wird. Wurde der Pfad cocoon/exist verwendet, muss der Pfad auf '../exist/WEB-INF/data' geändert werden! <db-connection database="native" files="../exist/WEB-INF/data" pageSize="4096" cacheSize="48M" free_mem_min="5"> 7 3 Tomcat, Cocoon und Exist in Eclipse 3.1 3.1 Installation von Apache Tomcat in Eclipse Um Tomcat nun aus der Eclipse Entwicklungsumgebung starten zu können, müssen zusätzlich zur oben beschriebenen Standardinstalation von Tomcat noch weitere Schritte ausgeführt werden. Dabei das einspielen des Patches 'JDK 1.4 Compatability Package' der auf der Tomcat HP zu nden ist, nicht vergessen. 1. Download des Susdeo Eclipse Tomcat Launcher Plugin ([Susdeo, 2005]). Das Zip-Archiv in den Ordner Eclipse/plugin entpacken und Eclipse starten. 2. In der Naviagionsleiste FENSTER->Perspektive bearbeiten wählen. Den Dialog 'Andere' önen und dort 'Tomcat' markieren. Dialog durch bestätigen schlieÿen. 3. Im Naviagionsmenü FENSTER->BENUTERVORGABEN, Tomcat auswählen. 4. Hier die richtige Tomcat Version wählen, in unserem Fall 5.x, und das Tomcat-Homeverzeichnis mit dem Browse Button auswählen. Dialog mit Ok schlieÿen. 5. Will man das Invoker-Servlet von Tomcat verwenden, es ermöglicht das Testen von Servlet-Klassen durch Eingabe des Klassenpfades im Browser, muss noch überprüft werden ob folgende Zeilen in der Datei web.xml von Tomcat nicht auskommentiert ist. <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> Nun kann man direkt aus Eclipse heraus, Tomcat starten und stoppen. Und auch die Kommandozeilenausgabe in der Konsole verfolgen. 6. Um Cocoon nicht immer als *.war Archiv in Tomcat entpacken zu müssen gibt es die Möglichkeit Tomcat mitzuteilen wo Cocoon im Eclipse Workspace zu nden ist. Hierfür ist der Eintrag folgender Zeile am Ende der Datei server.xml im conf Verzeichnis von Tomcat erforderlich. 8 <Server> ...... <Context path="/cocoon" reloadable="true" docBase="X:\Eclipse_Workspace\cocoon-2.1.7\build\webapp" workDir="X:\Eclipse_Workspace\cocoon-2.1.7\build\work" /> </Host> </Engine> </Service> </Server> Wobei 'path' den Namen angibt mit dem Cocoon unter Tomcat eingetragen wird und unter welchem es im Browser nach dem Host und Port von Tomcat gefunden wird. 'docBase' gibt an wo das Verzeichnis 'webapp' von Cocoon zu nden ist. Dieses erhält man natürlich erst nach dem compilieren von Cocoon. 'workDir' gibt das Verzeichnis an in dem temporäre Dateien gespeichert werden (optional). 3.2 Cocoon 2.1.7 in Eclipse 3.1 laden 1. Entpacken der Cocoon-Dateien in den Eclipse-Workspace Ordner (wird bei der installation von Eclipse angelegt). Die Dateien sollen nun in einer Verzeichnisstruktur eclipse_workspace/cocoon-2.1.7/... zu nden sein. 2. Onen eines Command-line-Fensters, wechseln in obigen Ordner (eclipseworkspace/cocoon-2.1.7/...) durch Eingabe von build eclipse-project werden die notwendigen *.project und *.classpath Dateien angelegt, die notwendig sind um Cocoon in Eclipse zu laden. Dieser 'build' Vorgang dauert je nach Hardware ca. 8 - 10 Sekunden. 3. Starten der Eclipse-Arbeitsoberäche. Unter der Navigationsleiste DATEI>NEU->Java Projekt wählen. 9 4. Es wird ein Dialogfenster geönet um ein Java Projekt anzulegen. Unter Projektname nun den gleichen Namen eingeben wie der Cocoon Ordner im Eclipse Workspace heiÿt. In unserem Fall: cocoon-2.1.7 Im Fieldset 'Inhalt' muss das Feld 'Neues Projekt im Arbeitsbereich erstellen' gewählt sein. Die restlichen Einstellungen können standardmäÿig übernommen werden. Nur wenn der Name des Projektes mit dem Namen des Cocoon-Ordners übereinstimmt erscheint im 'Neues Java Projekt erstellen' Fenster die Meldung: "Die angegebene externe Position ist bereits vorhanden .... versucht der Assistent automatisch ... Quellen- und Klassenpfade zu ermitteln ... entsprechend zu kongurieren." Nun auf 'Fertig stellen' klicken. Nach ein bisschen rechenarbeit sollte das Projekt 'cocoon-2.1.7' geönet werden. 5. Nun noch unter dem Punkt Projekt in der Navigationsleiste, PROJEKT>Bereinigen wählen. Vorher sicher stellen das der Punkt 'Automatisch Erstellen' nicht markiert ist. Cocoon ist nun als Eclipse Projekt angelegt nun muss es natürlich noch kompiliert werden können. Dazu sind folgende Schritte notwendig. 3.3 Erstellen von Cocoon mit Ant von Eclipse: Für das compilieren von Cocoon mit dem Ant-Tool von Eclipse werden die neuesten JAR Dateien von Xerxes und Ant benötigt. Um diese Einzubinden sind folgende Schritte notwendig. 1. In der Navigationsleise von Eclipse auf FENSTER->Benutzervorgaben klicken. In den Benutzervorgaben die Anzeige für ANT->LAUFZEIT önen. Im der Karteikarte 'Klassenpfad', 'Globale Einträge' anklicken (markieren). Nun auf 'JARs hinzufügen...' klicken. Es Erscheint ein Fenster 'JARs Auswählen' in dem Unser Cocoon Projekt angeführt ist. Die Datei cocoon-2.1.7/tools/lib/ant-contrib-0.6.jar 10 auswählen. Sie wird zu den Globalen einträgen hinzugefügt. Den Vorgang für die Dateien cocoon-2.1.7/lib/endoresed/xml-apis.jar cocoon-2.1.7/lib/endoresed/xercesImpl-2.6.2.jar wiederholen. Nun das Fenster 'Benutervorgaben' durch klicken von OK schlieÿen. 2. Nun kann die Datei 'build.xml' von Cocoon in das Eclipse Ant geladen werden. Auf FENSTER->SICHT anzeigen...->ANT klicken. In der JAVA-Perspektive erscheint nun das Ansichtsfenster für Ant. Nun einfach die build.xml aus dem Cocoon Stammverzeichnis in die ANT-Sicht ziehen. Dort müssten nun sämtliche Build-Ziele, mit einem kleinen grünen Kreis davor, erscheinen. Um nun beispielsweise die Cocoon-Webapp zu erstellen, einfach einen doppelklick auf das Ziel 'webapp' in der Ant-Sicht. Die Ausgabe der Erstellung ist in der Konsole zu verfolgen. 3. Oene Fragen: Fügt man Cocoon neue Klasen und Pakete hinzu, werden diese nicht in dem Ordner in dem sich auch die *.java Dateien benden erstellt, sonder in dem Ordner: eclipse_workspace\cocoon-2.1.7\build\eclipse\... Man kann sie natürlich an die gewünschte Stelle kopierent, dies scheint aber eine unbefriedigende Lösung zu sein. Vielleicht weiÿ ja jemand Rat wie dieses Manko behoben werden kann! 3.4 Integration von eXist in Apache Cocoon Um eXist in Cocoon unter Verwendung von Eclipse zu integrieren sind folgende Schritte notwendig. Die direkte integration hat unter anderem den Vorteil dass eXist automatisch mit Cocoon mit gestartet wird. Hier wird davon ausgegangen dass Cocoon in der angegebenen Version im Servletcontainer Tomcat lauähig ist und Tomcat über Eclipse gestartet werden kann. Weiters muss eXist in einem beliebigen Verzeichniss installiert und über EXIST-HOME/ erreichbar sein. 11 1. Aus dem Verzeichnis EXIST-HOME/lib/core sind folgende Dateien in das Verzeichnis /cocoon/WEB-INF/lib zu kopieren: • commons-pool-1.1.jar • xmlrpc-1.2-patched.jar • xmldb.jar Da eXist die aktuellen Versionen der XMLDB API benötigt müssen folgende älteren Files aus dem Verzeichnis /cocoon/WEB-INF/lib gelöscht werden. • xmlrpc-1.1.jar • xmldb-api-20030701.jar • xmldb-common-20030701.jar • xmldb-xupdate-20040205.jar Aus dem Verzeichnis EXIST-HOME/lib/optional sind folgende Dateien in das Verzeichnis /cocoon/WEB-INF/lib zu kopieren: • castor-0.9.5.jar • commons-leupload-1.0.jar • isorelax.jar • xsdlib.jar • msv.jar • Anmerkung: Wird auch die Datei jgroups-all.jar in dieses Verzeichnis kopiert (wie ohne Eclipse funktionsfähig) läuft die Datenbank und auch Cocoon nicht! Aus dem Verzeichnis EXIST-HOME sind folgende Dateien in das Verzeichnis /cocoon/WEB-INF/lib zu kopieren: • exist.jar • exist-optional.jar 2. Als nächstes muss die Kongurationsdatei für Exist (EXIST-HOME/webapp/WEBINF/conf.xml) in das Verzeichnis ../cocoon/WEB-INF/ kopieren. 12 3. Editieren der web.xml Datei im Verzeichnis /cocoon/WEB-INF/ Drei Servlets sind für den Betrieb von eXist in Cocoon unerlässlich. Zum einen das EXistServlet selbst, das xmlrpc-Servlet wird benötigt um mit dem Commandline-Client auf Exist zuzugreifen, und das XQueryServlet um die Admin-Seiten und die Beispiele die in eXist enthalten sind verwenden zu können! Anmerkung: Für den Zugri auf eXist über web-dav oder SOAP müssten weitere Servlets deniert werden. Die notwendigen EXIST-Servlets müssen vor dem Cocoon-Servlet deniert werden. Den folgenden Code vor dem Cocoon-Servlet in der Datei web.xml von Cocoon einfügen. <!-- RpcServlet provides XML-RPC access to eXist --> <servlet> <servlet-name>org.exist.xmlrpc.RpcServlet</servlet-name> <servlet-class>org.exist.xmlrpc.RpcServlet</servlet-class> </servlet> <!-- XQueryServlet generates HTML from an XQuery file. --> <servlet> <servlet-name>XQueryServlet</servlet-name> <servlet-class>org.exist.http.servlets.XQueryServlet</servlet-class> <init-param> <param-name>uri</param-name> <param-value>xmldb:exist:///db</param-value> </init-param> <init-param> <param-name>form-encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>container-encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> 13 <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </servlet> <!-- DatabaseAdminServlet: this servlet can be used to ensure that eXist is running in the background. Just set the start-parameter to true and load-on-startup to 1 --> <servlet> <servlet-name>EXistServlet</servlet-name> <servlet-class>org.exist.http.servlets.EXistServlet</servlet-class> <!-- where to find eXist's configuration file relative to the basedir of the web-application. --> <init-param> <param-name>configuration</param-name> <param-value>conf.xml</param-value> </init-param> <!-- eXist's home directory. All file names in the configuration file will be relative to this directory. --> <init-param> <param-name>basedir</param-name> <param-value>WEB-INF/</param-value> </init-param> <init-param> <param-name>start</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 4. Als nächstes müssen die Mappings für die obigen Servlets deniert werden. Diese werden ebenfalls in der Datei web.xml von Cocoon wieder vor den Cocoon Mappings deniert. 14 <!-- Define where the XMLRPC servlet listens --> <servlet-mapping> <servlet-name>org.exist.xmlrpc.RpcServlet</servlet-name> <url-pattern>/xmlrpc</url-pattern> </servlet-mapping> <!-- eXist's DatabaseAdminServlet --> <servlet-mapping> <servlet-name>EXistServlet</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> <!-- XQueryServlet --> <servlet-mapping> <servlet-name>XQueryServlet</servlet-name> <url-pattern>*.xql</url-pattern> </servlet-mapping> 5. Nun muss in der Datei cocoon.xconf noch der Treiber für den Datenbankzugri über die XMLDB API und dem xmldb Pseudoprotokoll deniert werden. Dazu wird in cocoon.xconf ein zusätzlicher xmldb Treiber hinzugefügt. Unter '<! xmldb pseudo protocol >' bei den Source-Factories folgenden Treiber hinzufügen. <driver class="org.exist.xmldb.DatabaseImpl" type="exist"/> Um mögliche Wechselwirkungen zu vermeiden sollten die Treiber für die Standard Cocoon XML-Datenbank (Xindice) auskommentiert werden. 6. Die XSP Logicsheets sind notwendig um die mit eXist gelieferten Beispiele und die XSP Funktionalität nutzen zu können. Um die XSP Logicsheets von Exist verwenden zu können muss noch eine Denition in der Datei cocoon.xconf vorgenommen werden. Die Denition wird direkt nach der Denition der JAVA Eigenschaften vorgenommen! <markup-languages> <xsp-language logger="core.markup.xsp" name="xsp"> <parameter name="prefix" value="xsp"/> <parameter name="uri" value="http://apache.org/xsp"/> 15 <!--+ | Properties for the java language +--> <target-language name="java"> <!-- Defines the XSP Core logicsheet for the Java language --> <parameter name="core-logicsheet" value="resource://org/apache/cocoo <builtin-logicsheet> <parameter name="prefix" value="xdb"/> <parameter name="uri" value="http://exist-db.org/xmldb/1.0"/> <parameter name="href" value="resource://org/exist/xmldb.xsl"/> </builtin-logicsheet> ... 7. Nun kann der Inhalt von EXIST-HOME/webapp/ in ein Verzeichnis im Cocoon-Rootverzeichniss kopiert werden (z. B. cocoon/exist/). 8. Wichtig ist dass in der Kongurationsdatei von Exist, conf.xml im cocoon/WEB-INF/ Ordner, der Pfad für die Datenbankresourcen geändert wird. Wurde der Pfad cocoon/exist verwendet, muss der Pfad auf '../exist/WEB-INF/data' geändert werden! <db-connection database="native" files="../exist/WEB-INF/data" pageSize="4096" cacheSize="48M" free_mem_min="5"> 9. Nun Cocoon mit der integrierten eXist Datenbank nochmals compilieren und Tomcat aus Exlipse heraus starten. Die Datenbank müsste nun unter http://localhost:8080/cocoon/exist/index.xml erreichbar sein. Bei den Beispielen oder manch anderen Seiten kann es notwendig sein Pfade für div. Stylesheet Dateien anzupassen, da diese relativ zum EXIST-HOME Verzeichnis angegeben sind. Dies lässt sich aber recht einfach aus den Fehlermeldungen für die entsprechenden Dateien erkennen. 10. Um das Client-Tool von eXist nun auch für die Integrierte Variante von eXist verwenden zu können muss beim Client-Tool, welches im EXISTHOME/bin Verzeichnis zu nden ist, folgende URL eingeben werden: xmldb:exist://localhost:8080/cocoon/xmlrpc 16 Um diese URL standardmäÿig einzutragen muss man im EXIST-HOME die Datei client.properties folgendermaÿen ändern: # access eXist via XML-RPC provided by remote Tomcat uri=xmldb:exist://localhost:8080/cocoon/xmlrpc 11. Treten beim Import der Beispieldaten (shakespeare etc.) über die AdminSeiten, Probleme (es werden zwar die Collections angelegt aber keine Dateien angelegt) auf, kann dies daran liegen, dass nun unsere Exist Datenbank innerhalb von Cocoon liegt und Probleme mit den Importpfaden vorhanden sind. In der Datei setup.xqm (Verzeichnis coocon/exist/admin) wird über util:system-property der Pfad zum WEBINF Verzeichnis von Exist abgefragt. Anschlieÿend wird der Pfad so umgebaut dass er auf das Verzeichnis samples auf gleicher ebene wie WEB-INF zeigt. Mit dem Befehl util:system-property wird nun aber nicht die Umgebungsvariable aus dem System ausgelesen sondern der Pfad in dem die conf.xml von Exist zu nden ist. Das ist ja bei uns der WEB-INF Ordner von Cocoon. Unglücklicherweise gibt es auf gleicher ebene unterhalb von WEB-INF auch von Cocoon einen Ordner 'samples', Exist importiert nun die dort enthaltenen XML-Files. Da es sich ja hier ohnehin nur um den Import der Beispieldaten handelt, habe ich das Problem sozusagen auf die harte Tour gelöst, ich habe der Variable 'dir' in der Funktion setup:ImportLocal den absoluten Pfad zum Exist Verzeichnis angegeben, in das wir Exist zu begin installiert haben (z. B. bei mir x: exist). Nun müsste der Import der Beispieldatein einwandfrei funktionieren. 12. ungelöste Probleme Zur zeit kann ich über das Client-Tool keine XML-Dateien hochladen, andere (zb. css) funktionieren problemlos. Ich vermute dass auch hier irgendwo ein Problem mit irgendwelchen Pfaden vorliegt. Möglicherweise auch ein Problem mit Zugrisrechten. Die Verwendung des Client Tools ist aber nicht zwingend erforderlich. Ko Vielleicht weiÿ ja einer von euch Rat. Ansonsten werde ich das Dokument updaten wenn ich neues weiÿ. 17 Literatur [Wiki.exist-db.org, 2005] Wiki zur eXist Datenbank, http://wiki.existdb.org/comments/CocoonInstall/, Stand Juli 2005 [Apache Tomcat, 2005] Apache Tomcat http://jakarta.apache.org/tomcat/, Stand Juli 2005 Homepage, [eXist, 2005] native XML Database Exist Homepage, http://exist-db.org, Stand Juli 2005 [cvs.sourceforge.net, 2005] Optionale CVS Komponenten für eXist, http://cvs.sourceforge.net/viewcvs.py/exist/eXist-1.0/lib/optional/, Stand Juli 2005 [Susdeo, 2005] Susdeo Eclipse Tomcat Launcher http://www.sysdeo.com/eclipse/tomcatPlugin.html, Stand ber 2005 18 Plugin, Novem-