cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Sparkes <pe...@didm.co.uk>
Subject Re: AW: AW: eXist xmldb
Date Fri, 09 Jun 2006 18:39:03 GMT
Hi Chris,

I am having difficulties, can you please help

To start the server, add the following to the cocoon.xconf:

<component role=" org.exist.server" 
class="de.cware.cweb.system.xmldb.XmlDbServerImpl" 
home="C:/home/domains" suffix="data/xmldb" minBrokers="1" maxBrokers="5"/>

Well I have to admit, that I created my own Server component for 
starting the db itself inside cocoon … think you will have to have a 
look for code looking like:

BrokerPool.configure(“exist”, minBrokers, maxBrokers, config);


1. I assume that the XmlDbServerImpl above is your own component for 
starting the db inside cocoon - is that true?
2. What is  home="C:/home/domains" for ?
3. What is  suffix="data/xmldb" for ?

 

This is where initializing the BorkerPool for the instance is 
initialted. Couldn’t fin exactly which class is needed for this.

If you don’t manage to find it, I can send you mine, but that is made 
for initializing multiple Database Instances automatically (one per 
virtual hosts) but It would be suitable for a start J

4. I can't manage it, can you please send me yours

Thanks Peter

> Hi All,
>
>  
>
> As I mentioned, my version only uses local access, so configuring all 
> these additional servlets is not necessary and the additional jars 
> aren’t needed.
>
> One thing I remembered thou:I think the Driver automatically 
> initializes the database if it can’t find an instance … had quite some 
> problems with this.
>
> Then it would be better to put the config-file in the place Abbas 
> recommended. It will then find it automatically.
>
>  
>
> Regards, chris
>
>  
>
>  
>
>  
>
>  
>
> ------------------------------------------------------------------------
>
> *Von:* Abbas Mousavi [mailto:abbasmousavi@yahoo.com]
> *Gesendet:* Mittwoch, 7. Juni 2006 01:19
> *An:* users@cocoon.apache.org
> *Betreff:* Re: AW: eXist xmldb
>
>  
>
> Hi Peter and Chris
>
>  
>
> I think that I should add something to the chris mail:
>
>  
> Mainly - as I know - there is two document for Installing exist with 
> cocoon on tomcat one at Cocoon Wiki and One at eXist Wiki:
>
>  http://wiki.exist-db.org/space/CocoonInstall
>
> http://wiki.apache.org/cocoon/EXistInCocoon?highlight=%28exist%29
>
>  
>
> I prefer the document at eXist site, as Chris said, the document says 
> that you should copy
>
>    
>
> * commons-pool-1.1.jar
>
>     * xmlrpc-1.2-patched.jar
>
>     * xmldb.jar
>
>     * exist.jar
>
>     * exist-optional.jar
>
>  
>
> and optionaly
>
>     * castor-0.9.5-xml.jar
>
>     * commons-fileupload-1.0.jar
>
>     * isorelax.jar
>
>     * jgroups-all.jar
>
>     * xsdlib.jar
>
>     * msv.jar
>
>  
>
> from cocoon distribution to cocoon/WEB-INF/lib, (the exact list of 
> required jars depends on your needs.) then you should remove
>
>  
>
>     * xmldb-api-20030701.jar
>
>     * xmldb-common-20030701.jar
>
>     * xmldb-xupdate-20040205.jar
>
>  
>
> From cocoon/WEB-INF/lib.
>
>  
>
> Next, copy the central configuration file for exists from 
> $EXIST_HOME/webapp/WEB-INF/conf.xml to cocoon/WEB-INF.
>
> If you need to use the SOAP service, you should also copy 
> $EXIST_HOME/webapp/WEB-INF/server-config.wsdd to cocoon/WEB-INF.
>
> In order to move the data in the eXist database, copy the contents of 
> $EXIST_HOME/webapp/WEB-INF/data/ to cocoon/WEB-INF/data/.
>
>  
>
> Edit cocoon/WEB-INF/web.xml. At the top, before the Cocoon servlet is 
> configured, add the following lines:
>
> You can eliminate the servlets that you don’t need them, You may 
> skip the AxisServlet, AdminServlet, WebDAVServlet or RpcServlet 
> (needed if you want to access the database instance from a remote 
> client app), but you definitely need EXistServlet here
>
>  
>
> <!-- 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>
>
>  
>
> <servlet> <servlet-name>WebDAVServlet</servlet-name> 
> <servlet-class>org.exist.http.servlets.WebDAVServlet</servlet-class>
>
>  
>
> <init-param> <param-name>authentication</param-name> 
> <param-value>basic</param-value> </init-param> </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> <param-name>encoding</param-name> 
> <param-value>UTF-8</param-value> </init-param> </servlet>
>
>  
>
> <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>
>
>  
>
> <!-- configure the Axis servlets. Axis provides eXist's web-services 
> via SOAP --> <servlet> <servlet-name>AxisServlet</servlet-name>

> <display-name>Apache-Axis Servlet</display-name> 
> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>

> </servlet>
>
>  
>
> <servlet> <servlet-name>AdminServlet</servlet-name> <display-name>Axis

> Admin Servlet</display-name> <servlet-class> 
> org.apache.axis.transport.http.AdminServlet </servlet-class> 
> <load-on-startup>100</load-on-startup> </servlet>
>
>  
>
>  
>
> Next, you need to add url mappings for these servlets. At the bottom 
> section of the file, again before the Cocoon mapping, add:
>
> Again you can use only url mappings that you need
>
>  
>
> <!-- 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>
>
>  
>
> <servlet-mapping> <servlet-name>WebDAVServlet</servlet-name> 
> <url-pattern>/webdav/*</url-pattern> </servlet-mapping>
>
>  
>
> <!-- XQueryServlet --> <servlet-mapping> 
> <servlet-name>XQueryServlet</servlet-name> 
> <url-pattern>*.xql</url-pattern> </servlet-mapping>
>
>  
>
> <!-- The following servlet-mappings are for Axis (SOAP) --> 
> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> 
> <url-pattern>/axis-servlet/AxisServlet</url-pattern> </servlet-mapping>
>
>  
>
> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> 
> <url-pattern>*.jws</url-pattern> </servlet-mapping>
>
>  
>
> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> 
> <url-pattern>/services/*</url-pattern> </servlet-mapping>
>
>  
>
> <servlet-mapping> <servlet-name>AdminServlet</servlet-name> 
> <url-pattern>/axis-servlet/AdminServlet</url-pattern> </servlet-mapping>
>
>  
>
>  
>
> Then edit cocoon/WEB-INF/cocoon.xconf. Change the section that 
> configures the xmldb pseudo protocol. Add the xmldb driver for eXist:
>
> <!-- xmldb pseudo protocol -->
>
> <component-instance
>
> class="org.apache.cocoon.components.source.impl.XMLDBSourceFactory"
>
> name="xmldb">
>
>   <!-- Add here other XML:DB compliant databases' drivers -->
>
>   <driver class="org.exist.xmldb.DatabaseImpl" type="exist"/>
>
> </component-instance>
>
>  
>
> This configuration works but from my experience it is better that you 
> also replace 
> org.apache.cocoon.components.source.impl.XMLDBSourceFactory with 
> org.exist.cocoon.XMLDBSourceFactory, since it seems that
>
> org.apache.cocoon.components.source.impl.XMLDBSourceFactory has some 
> problems with unicode document, but 
> org.exist.cocoon.XMLDBSourceFactory uses eXist’s xmldb source and is 
> taylored to eXist and has no Unicode problem.
>
>  
>
>  
>
> To use eXist's XSP logicsheet, edit the section on markup languages 
> and include a reference to eXist's logicsheet at the top:
>
>  
>
> <markup-languages>
>
>     <xsp-language logger="core.markup.xsp" name="xsp">
>
>       <parameter name="prefix" value="xsp"/>
>
>       <parameter name="uri" value="http://apache.org/xsp"/>
>
>  
>
> <!--+ | 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/cocoon/components/language/markup/xsp/java/xsp.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> ...
>
>  
>
> You should now be able to copy the contents of eXist's webapp 
> directory ($EXIST_HOME/webapp) into a subdirectory of your Cocoon 
> installation (e.g. cocoon/exist) and access eXist's main page and most 
> examples. However, some examples won't work as they assume a fixed 
> path /exist. The XQuery scripts need to be changed accordingly.
>
> Also you can use XQuery Generator as Chris said.
>
>  
>
> Regards
>
> Abbas
>
> ------------------------------------------------------------------------
>
> Yahoo! Messenger with Voice. 
> <http://us.rd.yahoo.com/mail_us/taglines/postman3/*http:/us.rd.yahoo.com/evt=39666/*http:/messenger.yahoo.com>

> PC-to-Phone calls for ridiculously low rates.
>

Mime
View raw message