ozeigermann 2004/01/15 05:23:09
Modified: src/doc/samples Domain.sample
src/doc installation.xml howto-tomcat.xml
howto-j2eestore.xml conf-lib.xml
Log:
Brushed up and cleaned docs again. They still are far from being good :(
Revision Changes Path
1.2 +258 -234 jakarta-slide/src/doc/samples/Domain.sample
Index: Domain.sample
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/samples/Domain.sample,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Domain.sample 11 Sep 2001 00:37:37 -0000 1.1
+++ Domain.sample 15 Jan 2004 13:23:09 -0000 1.2
@@ -1,236 +1,260 @@
<?xml version="1.0"?>
-
-<slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6"
default="slide">
-
-<!--
-logger
-~~~~~~
-org.apache.slide.util.logger.SimpleLogger
- default logger with 1 log level
-log4j.Log4jLogger
- logger with fine granularity
- see http://jakarta.apache.org/log4j/
-
-logger-level
-~~~~~~~~~~~~
-0 EMERGENCY
-1 CRITICAL
-2 ERROR
-4 WARNING
-6 INFO
-7 DEBUG
--->
-
- <namespace name="slide">
-<!-- ### Memory Configuration ###
- The following memory configuration uses the MemoryDescriptorsStore
- for node,security,locks and revisions. For content the FileContentStore
- is used. Content is reset before start.
--->
- <definition>
- <store name="memory">
- <nodestore classname="slidestore.reference.MemoryDescriptorsStore">
- </nodestore>
- <securitystore>
- <reference store="nodestore" />
- </securitystore>
- <lockstore>
- <reference store="nodestore" />
- </lockstore>
- <revisiondescriptorsstore>
- <reference store="nodestore" />
- </revisiondescriptorsstore>
- <revisiondescriptorstore>
- <reference store="nodestore" />
- </revisiondescriptorstore>
- <contentstore classname="slidestore.reference.FileContentStore">
- <parameter name="rootpath">contentstore</parameter>
- <parameter name="version">false</parameter>
- <parameter name="resetBeforeStarting">true</parameter>
- </contentstore>
- </store>
- <scope match="/" store="memory" />
- </definition>
-
-
-<!-- ### JDBC Configuration ###
- The following jdbc sample configuration uses the hsql Database Engine
- a relational database engine written in Java, for more info:
- http://hsqldb.sourceforge.net/
--->
-<!--
- <definition>
- <store name="jdbc">
- <nodestore classname="slidestore.reference.JDBCDescriptorsStore">
- <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
- <parameter name="url">jdbc:hsqldb:slidestructure</parameter>
- <parameter name="user">sa</parameter>
- <parameter name="password"></parameter>
- </nodestore>
- <securitystore>
- <reference store="nodestore" />
- </securitystore>
- <lockstore>
- <reference store="nodestore" />
- </lockstore>
- <revisiondescriptorsstore>
- <reference store="nodestore" />
- </revisiondescriptorsstore>
- <revisiondescriptorstore>
- <reference store="nodestore" />
- </revisiondescriptorstore>
- <contentstore classname="slidestore.reference.JDBCContentStore">
- <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
- <parameter name="url">jdbc:hsqldb:slidecontent</parameter>
- <parameter name="user">sa</parameter>
- <parameter name="password"></parameter>
- </contentstore>
- </store>
- <scope match="/" store="jdbc" />
- </definition>
--->
-
-
- <configuration>
-
- <!-- Actions mapping -->
- <default-action>/actions</default-action>
- <read-object>/actions/read</read-object>
- <create-object>/actions/write</create-object>
- <remove-object>/actions/write</remove-object>
- <grant-permission>/actions/manage</grant-permission>
- <revoke-permission>/actions/manage</revoke-permission>
- <read-permissions>/actions/manage</read-permissions>
- <lock-object>/actions/write</lock-object>
- <kill-lock>/actions/manage</kill-lock>
- <read-locks>/actions/read</read-locks>
- <read-revision-metadata>/actions/read</read-revision-metadata>
- <create-revision-metadata>/actions/write</create-revision-metadata>
- <modify-revision-metadata>/actions/write</modify-revision-metadata>
- <remove-revision-metadata>/actions/write</remove-revision-metadata>
- <read-revision-content>/actions/read</read-revision-content>
- <create-revision-content>/actions/write</create-revision-content>
- <modify-revision-content>/actions/write</modify-revision-content>
- <remove-revision-content>/actions/write</remove-revision-content>
-
- <!-- Paths configuration -->
- <userspath>/users</userspath>
- <guestpath>guest</guestpath>
- <filespath>/files</filespath>
- <parameter name="dav">true</parameter>
- <parameter name="standalone">true</parameter>
-
- <!-- Roles definition -->
- <role name="root">slideroles.basic.RootRole</role>
- <role name="user">slideroles.basic.UserRole</role>
- <role name="guest">slideroles.basic.GuestRole</role>
-
- <!-- Users management -->
- <auto-create-users>true</auto-create-users>
-
- <!-- Default properties mapping -->
- <default-property name="foo" namespace="nsfoo/" value="bar"
- role="user"/>
- <default-property name="password" namespace="slide/" value=""
- role="user"/>
-
- </configuration>
-
- <data>
-
- <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/">
-
- <permission action="/actions" subject="root"/>
- <permission action="/actions/read" subject="user"
- inheritable="false"/>
- <permission action="/actions/read" subject="nobody"
- inheritable="false"/>
-
- <!-- /users represents the unauthenticated user -->
-
- <objectnode classname="org.apache.slide.structure.SubjectNode"
- uri="/users">
-
- <permission action="/actions" subject="~"/>
- <permission action="/actions" subject="guest"
- inheritable="true" negative="true"/>
- <permission action="/actions/read" subject="user"
- inheritable="false"/>
-
- <!-- Permission group example -->
-
- <objectnode classname="org.apache.slide.structure.GroupNode"
- uri="/users/groupA">
- <objectnode classname="org.apache.slide.structure.LinkNode"
- uri="/users/groupA/john" linkedUri="/users/john" />
- <objectnode classname="org.apache.slide.structure.LinkNode"
- uri="/users/groupA/root" linkedUri="/users/root" />
- <objectnode classname="org.apache.slide.structure.SubjectNode"
- uri="/users/groupA/singleGroupMember" />
- </objectnode>
-
- <!-- /users/root represents the administrator -->
-
- <objectnode classname="slideroles.basic.RootRoleImpl"
- uri="/users/root">
- <revision>
- <property name="password">root</property>
- </revision>
- </objectnode>
-
- <!-- /users/john represents an authenticated user -->
-
- <objectnode classname="slideroles.basic.UserRoleImpl"
- uri="/users/john">
- <revision>
- <property name="password">john</property>
- </revision>
- </objectnode>
-
- <!-- /users/guest represents an authenticated or unauthenticated
- guest user -->
-
- <objectnode classname="slideroles.basic.GuestRoleImpl"
- uri="/users/guest">
- <revision>
- <property name="password"></property>
- </revision>
- </objectnode>
-
- </objectnode>
-
- <objectnode classname="org.apache.slide.structure.ActionNode"
- uri="/actions">
-
- <objectnode classname="org.apache.slide.structure.ActionNode"
- uri="/actions/read"/>
-
- <objectnode classname="org.apache.slide.structure.ActionNode"
- uri="/actions/write"/>
-
- <objectnode classname="org.apache.slide.structure.ActionNode"
- uri="/actions/manage"/>
-
- </objectnode>
-
- <objectnode classname="org.apache.slide.structure.SubjectNode"
- uri="/files">
-
- <!-- ### Give read/write/manage permission to guest ###
- Uncomment the following line to give permission to do
- all actions on /files to guest (unauthenticated users) -->
- <!-- <permission action="/actions" subject="/users/guest"/> -->
-
- <permission action="/actions/manage" subject="/users/john"/>
- <permission action="/actions/write" subject="+/users/groupA"/>
- <permission action="/actions/read" subject="nobody"/>
-
- </objectnode>
-
- </objectnode>
-
- </data>
-
- </namespace>
-
+<slide>
+ <namespace name="slide">
+ <definition>
+ <store name="tx">
+ <nodestore
classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">
+ <parameter name="rootpath">store/metadata</parameter>
+ <parameter name="workpath">work/metadata</parameter>
+ </nodestore>
+ <securitystore>
+ <reference store="nodestore"/>
+ </securitystore>
+ <lockstore>
+ <reference store="nodestore"/>
+ </lockstore>
+ <revisiondescriptorsstore>
+ <reference store="nodestore"/>
+ </revisiondescriptorsstore>
+ <revisiondescriptorstore>
+ <reference store="nodestore"/>
+ </revisiondescriptorstore>
+ <contentstore
classname="org.apache.slide.store.txfile.TxFileContentStore">
+ <parameter name="rootpath">store/content</parameter>
+ <parameter name="workpath">work/content</parameter>
+ </contentstore>
+ </store>
+ <scope match="/" store="tx"/>
+ </definition>
+ <configuration>
+ <!-- Actions mapping -->
+ <read-object>/actions/read</read-object>
+ <create-object>/actions/write</create-object>
+ <remove-object>/actions/write</remove-object>
+ <grant-permission>/actions/write-acl</grant-permission>
+ <revoke-permission>/actions/write-acl</revoke-permission>
+ <read-permissions>/actions/read-acl</read-permissions>
+
<read-own-permissions>/actions/read-current-user-privilege-set</read-own-permissions>
+ <lock-object>/actions/write</lock-object>
+ <kill-lock>/actions/unlock</kill-lock>
+ <read-locks>/actions/read</read-locks>
+ <read-revision-metadata>/actions/read</read-revision-metadata>
+
<create-revision-metadata>/actions/write-properties</create-revision-metadata>
+
<modify-revision-metadata>/actions/write-properties</modify-revision-metadata>
+
<remove-revision-metadata>/actions/write-properties</remove-revision-metadata>
+ <read-revision-content>/actions/read</read-revision-content>
+
<create-revision-content>/actions/write-content</create-revision-content>
+
<modify-revision-content>/actions/write-content</modify-revision-content>
+
<remove-revision-content>/actions/write-content</remove-revision-content>
+ <bind-member>/actions/bind</bind-member>
+ <unbind-member>/actions/unbind</unbind-member>
+ <!-- Paths configuration -->
+ <userspath>/users</userspath>
+ <rolespath>/roles</rolespath>
+ <actionspath>/actions</actionspath>
+ <filespath>/files</filespath>
+ <parameter name="dav">true</parameter>
+ <parameter name="standalone">true</parameter>
+ <parameter name="acl_inheritance_type">path</parameter>
+ </configuration>
+ <data>
+ <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/">
+ <!-- Subject can be:
+ any user "all"
+ authenticated user "authenticated"
+ unauthenticated user "unauthenticated"
+ self "self"
+ owner of resource "owner"
+ a user "/users/john"
+ a role "/roles/admin"
+ -->
+ <permission action="all" subject="/roles/root" inheritable="true"/>
+ <permission action="/actions/read-acl" subject="all"
inheritable="true" negative="true"/>
+ <permission action="/actions/write-acl" subject="all"
inheritable="true" negative="true"/>
+ <permission action="/actions/unlock" subject="all"
inheritable="true" negative="true"/>
+ <permission action="/actions/read" subject="all"
inheritable="true"/>
+ <!-- /users -->
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/users">
+ <permission action="all" subject="self" inheritable="true"/>
+ <permission action="all" subject="unauthenticated"
inheritable="true" negative="true"/>
+ <!-- /users/root represents the administrator -->
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/users/root">
+ <revision>
+ <property namespace="http://jakarta.apache.org/slide/"
name="password"></property>
+ </revision>
+ </objectnode>
+ <!-- /users/john and /users/john2 represent authenticated users
-->
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/users/john">
+ <revision>
+ <property namespace="http://jakarta.apache.org/slide/"
name="password"></property>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/users/john2">
+ <revision>
+ <property namespace="http://jakarta.apache.org/slide/"
name="password"></property>
+ </revision>
+ </objectnode>
+ <!-- /users/guest represents an authenticated or
unauthenticated guest user -->
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/users/guest">
+ <revision>
+ <property namespace="http://jakarta.apache.org/slide/"
name="password"></property>
+ </revision>
+ </objectnode>
+ </objectnode>
+ <!-- /roles -->
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/roles">
+ <permission action="all" subject="self" inheritable="true"/>
+ <permission action="all" subject="unauthenticated"
inheritable="true" negative="true"/>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/roles/root">
+ <revision>
+ <property name="group-member-set"><![CDATA[<D:href
xmlns:D='DAV:'>/users/root</D:href>]]></property>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/roles/user">
+ <revision>
+ <property name="group-member-set"><![CDATA[<D:href
xmlns:D='DAV:'>/users/john</D:href><D:href xmlns:D='DAV:'>/users/john2</D:href><D:href
xmlns:D='DAV:'>/users/root</D:href>]]></property>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/roles/guest">
+ <revision>
+ <property name="group-member-set"><![CDATA[<D:href
xmlns:D='DAV:'>/users/guest</D:href>]]></property>
+ </revision>
+ </objectnode>
+ </objectnode>
+ <!-- action -->
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions">
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/read">
+ <revision>
+ <property name="privilege-member-set"><![CDATA[<D:href
xmlns:D='DAV:'>/actions/read-acl</D:href> <D:href
xmlns:D='DAV:'>/actions/read-current-user-privilege-set</D:href>]]></property>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/read-acl">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/read-current-user-privilege-set">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/write">
+ <revision>
+ <property name="privilege-member-set"><![CDATA[<D:href
xmlns:D='DAV:'>/actions/write-acl</D:href> <D:href
xmlns:D='DAV:'>/actions/write-properties</D:href> <D:href
xmlns:D='DAV:'>/actions/write-content</D:href>]]></property>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/write-acl">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/write-properties">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/write-content">
+ <revision>
+ <property name="privilege-member-set"><![CDATA[<D:href
xmlns:D='DAV:'>/actions/bind</D:href> <D:href
xmlns:D='DAV:'>/actions/unbind</D:href>]]></property>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/bind">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/unbind">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.ActionNode"
uri="/actions/unlock">
+ <revision>
+ <property name="privilege-member-set"/>
+ </revision>
+ </objectnode>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/files">
+ <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ <permission action="/actions/write" subject="/roles/user"
inheritable="true"/>
+ <permission action="/actions/read-acl" subject="owner"
inheritable="true"/>
+ </objectnode>
+ <!-- DeltaV: default history and workspace paths -->
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/history">
+ <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/workspace">
+ <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ </objectnode>
+ <objectnode classname="org.apache.slide.structure.SubjectNode"
uri="/workingresource">
+ <permission action="all" subject="unauthenticated"
inheritable="true"/>
+ </objectnode>
+ </objectnode>
+ </data>
+ </namespace>
+ <!--
+ DeltaV global parameters
+ ========================
+ * historypath (mandatory=no, default="/history"):
+ Specifies a Slide path which determines the location where this DeltaV
+ server stores history data.
+
+ * workspacepath (mandatory=no, default="/workspace"):
+ Specifies a Slide path which determines the location where this DeltaV
+ server allows workspaces to reside.
+
+ * workingresourcepath (mandatory=no, default="/workingresource"):
+ Specifies a Slide path which determines the location where this DeltaV
+ server stores working resources.
+
+ * auto-version (mandatory=no, default="checkout-checkin"):
+ Controls the DeltaV auto-version behaviour.
+
+ * auto-version-control (mandatory=no, default="false"):
+ Indicates if a resource just created by a PUT should be set under
+ version-control.
+
+ * versioncontrol-exclude (mandatory=no, default=""):
+ Specifies a Slide path which determines resources which are excluded from
version-control.
+ The default value "" makes no path being excluded.
+
+ * checkout-fork (mandatory=no, default="forbidden"):
+ Controls the DeltaV check-out behaviour when a version is already
+ checked-out or has a successor.
+
+ * checkin-fork (mandatory=no, default="forbidden"):
+ Controls the DeltaV check-out behaviour when a version has already a
+ successor.
+
+ * standardLivePropertiesClass (mandatory=no,
+ default="org.apache.slide.webdav.util.resourcekind.AbstractResourceKind"):
+ Determines the "agent" knowing about what the standard live properties are.
+ It should be a loadable class containing the following static methods:
+ - boolean isLiveProperty(String propName)
+ - boolean isProtectedProperty(String propName)
+ - boolean isComputedProperty(String propName)
+ - Set getAllLiveProperties()
+ - Set getAllProtectedProperties()
+ - Set getAllComputedProperties()
+
+ * uriRedirectorClass (mandatory=no,
+ default="org.apache.slide.webdav.util.DeltavUriRedirector"):
+ Determines the URI redirector class. The DeltaV URI redirector is in
+ charge of the following redirections:
+ - version URI to history URI, e.g. /history/2/1.4 to /history/2
+ - latest revision number for history resource to 0.0
+ - latest revision number for version resource to last URI token,
+ e.g. /history/2/1.4 to 1.4
+ It should be a loadable class containing the following static methods:
+ - String redirectUri(String uri)
+ - NodeRevisionNumber redirectLatestRevisionNumber(String uri)
+ -->
+ <parameter name="historypath">/history</parameter>
+ <parameter name="workspacepath">/workspace</parameter>
+ <parameter name="workingresourcepath">/workingresource</parameter>
+ <parameter name="auto-version">checkout-checkin</parameter>
+ <parameter name="auto-version-control">false</parameter>
+ <parameter name="versioncontrol-exclude"/>
+ <parameter name="checkout-fork">forbidden</parameter>
+ <parameter name="checkin-fork">forbidden</parameter>
</slide>
1.27 +0 -103 jakarta-slide/src/doc/installation.xml
Index: installation.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/installation.xml,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- installation.xml 12 Jan 2004 13:35:20 -0000 1.26
+++ installation.xml 15 Jan 2004 13:23:09 -0000 1.27
@@ -66,108 +66,5 @@
</section>
- <section name="Dependencies">
-
- <p>
- Slide has dependencies to some external function libraries. Some of
- these dependencies are both compile-time and runtime dependencies,
- while some are only runtime dependencies. Some build options also
- require additional external libraries.
- </p>
-
- <p>
- Slide depends on the following software libraries at build time :
- <ul>
- <li>Jakarta Ant 1.2 or later</li>
- <li>Sun JAXP 1.0 or later (JAXP 1.1ea2 recommended)</li>
- <li>DOM level 2 API (org.w3c.dom package)</li>
- <li>SAX 2 API (org.xml.* packages)</li>
- <li>Sun Servlet API 2.3</li>
- <li>Sun Java Transaction API 1.0</li>
- <li>JDOM 1.0</li>
- <li>JDK 1.3 or later</li>
- </ul>
- </p>
-
- <p>
- Slide depends on the following software libraries at run time :
- <ul>
- <li>Sun JAXP 1.0 or later (JAXP 1.1ea2 recommended)</li>
- <li>A JAXP-compliant XML parser (DOM level 2 support recommended)</li>
- <li>Sun Servlet API 2.3 or later</li>
- <li>Sun Java Transaction API 1.0</li>
- <li>JDOM 1.0 (optional)</li>
- <li>JRE 1.3 or later (1.4 recommended)</li>
- </ul>
- </p>
-
- <p>
- As said above, the requirements for the various build options can
- vary. Some might require :
- <ul>
- <li>Ant optional package</li>
- <li>An Ant supported XSLT processor (Xalan or XSL:P)</li>
- <li>JUnit</li>
- </ul>
- </p>
-
- </section>
-
- <section name="Slide">
-
- <p>
- If you want to build an application which uses the Slide API, just add
- the slide-kernel.jar to your classpath. Then, be sure to put the domain
- configuration file in the appropriate directory. By default, it is a
- file called "Domain.xml" placed in the directory from which the JVM is
- started.
- </p>
-
- </section>
-
- <section name="WebDAV Servlet">
-
- <p>
- The WebDAV servlet requires a servlet container which supports at least
- the 2.3 API. The easiest solution is to use the web application archive
- which is included in the slide distribution (webapp/slide.war) and deploy
- it in your servlet container. The WAR file contains a "Domain.xml" file
- which should be modified to configure the domain.
- </p>
- <p>
- Slide has been tested with various servlet containers:
- <table>
- <tr>
- <th>Servlet Container</th>
- <th>Comments</th>
- </tr>
- <tr>
- <td>Jetty</td>
- <td>
- FIXME TODO
- </td>
- </tr>
- <tr>
- <td>Tomcat 4.1</td>
- <td>
- FIXME TODO
- </td>
- </tr>
- <tr>
- <td>Tomcat 5.0</td>
- <td>
- The Slide binaries include a standalone server based on Tomcat 5.0.
- It is also possible to use Slide with Tomcat 5.0 as a web
- application, as described in the
- <a href="howto-tomcat.html">Tomcat HOW-TO</a>.
- </td>
- </tr>
- </table>
- If you have tested Slide with other servlet containers / application servers,
please tell us
- so we can add your experiences to this list.
- </p>
-
- </section>
-
</body>
</document>
1.19 +19 -45 jakarta-slide/src/doc/howto-tomcat.xml
Index: howto-tomcat.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/howto-tomcat.xml,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- howto-tomcat.xml 14 Jan 2004 16:06:41 -0000 1.18
+++ howto-tomcat.xml 15 Jan 2004 13:23:09 -0000 1.19
@@ -13,7 +13,7 @@
<section name="Introduction">
<p>
- The best way to have Slide running with Tomcat is to use the web archive
+ The easiest way to have Slide running with Tomcat is to use the web archive
which can be found in Slide's binary distributions (webapp/slide.war), or
can be built using the "dist" build target.
</p>
@@ -24,54 +24,28 @@
web application descriptor to tweak your installation.
</p>
+ <p>Slide will be available at <tt>http://hostname:8080/slide</tt></p>
+
</section>
- <section name="Tomcat 4.1.x">
-
- <p>
- Slide has been successfully tested with Tomcat 4.1.(x>=27).
- </p>
+ <section name="Integration with Tomcat 4.x and 5.x">
- <p>
- Tomcat 4 classloader will load classes from either the "lib" directory
- or the "/WEB-INF/lib" and "/WEB-INF/classes" directories inside the
- Slide webapp. Any library on which the stores used depend must be
- placed in one of these directories. This includes any JDBC driver used
- by the JDBC stores.
- </p>
-
- <p>
- While the deployment as a standard web application works fine, a better
- level of integration can be achieved using the Slide realm. Here's the
- optimal deployment of Slide with Tomcat 4.1 :
- <ul>
- <li>Download Tomcat 4.1</li>
- <li>Copy the following JARs from the lib directory in the Slide
- distribution to the common/lib folder in the Tomcat distribution :
- the XML parser JARs, jta.jar, slide-roles.jar, slide-kernel.jar,
- slide-stores.jar
- </li>
- <li>Put in common/lib any dependent libraries the stores used may have,
- including for example JDBC drivers, ...</li>
- <li>Copy any wrappers (like the log4j wrapper), as well as log4j.jar
- if used to common/lib</li>
- <li>Configure Catalina to use realm wrappers.catalina.SlideRealm so
- that Catalina authenticates users based on users defined in the
- Slide namespace. This works by modifying server.xml in conf and replacing
- the standard realm configured in
-<pre>
-<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- debug="0" resourceName="UserDatabase"/>
-</pre>
-with the SlideRealm
+ <p>To use Tomcat's authentication mechanisms with the Slide user database you
will need a closer integration.
+ This can be done by registering Slide's implementation of a Tomcat
security realm in Tomcat's config files.
+ </p>
+ <p>
+ There is this installation target in the build script that does this
for you and additionally copies all needed
+ jars and files into the appropriate location. This process has been
successfully tested with Tomcat 4.1.(x>=27) and Tomcat 5.0.(x>=16).
+ You can download ready-to-run versions of Tomcat 4 and Tomcat 5
modified in this way or can build it using
+ the "tomcat-4-install" or "tomcat-5-install" targets. For this target
the build script needs to know Tomcat's installtion directory
+ which has to be configured in build.properties.
+ </p>
-<pre>
-<Realm className="wrappers.catalina.SlideRealm" name="Slide DAV Server"
namespace="slide" />
-</pre>
- </li>
- </ul>
- </p>
-
+ <p>Slide's documentation will be deployed as an ordinary war
<tt>slide-doc.war</tt>. After that documentation
+ will be available at
<tt>http:///hostname:8080/slide-doc</tt>.</p>
+
+ <p>If you have additional jars used by your stores (like JDBC drivers)
or any custom classes put
+ them into Tomcat's common/lib directory.</p>
</section>
</body>
1.6 +47 -9 jakarta-slide/src/doc/howto-j2eestore.xml
Index: howto-j2eestore.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/howto-j2eestore.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- howto-j2eestore.xml 12 Jan 2004 13:35:21 -0000 1.5
+++ howto-j2eestore.xml 15 Jan 2004 13:23:09 -0000 1.6
@@ -4,25 +4,20 @@
<properties>
<author email="[EMAIL PROTECTED]">Colin Britton</author>
- <title>J2EE Store Howto</title>
+ <title>J2EE/JDBC Store Howto</title>
</properties>
<body>
- <section name="Building the store">
- <p>In order to use the J2EE stores you need to build Jakarta-Slide with the
Datasource
- classes available.
- They are included in JDK1.4 but earlier versions require an additional library
- (jdbc2_0-stdext.jar) in the slide lib directory. </p>
- </section>
-
<section name="Configuring Slide">
- <p>In order to use the stores, the Domain.xml file needs to contain the
following configuration for the store:
+ <p>In order to use the J2EE stores, the Domain.xml file needs to contain the
following configuration for the store:
<pre>
<definition>
<store name="j2ee">
<nodestore classname="org.apache.slide.store.impl.rdbms.J2EEStore">
<parameter name="datasource">jdbc/mtx</parameter>
+ <parameter
name="adapter">org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter</parameter>
+ <parameter name="compress">false</parameter>
</nodestore>
<securitystore>
<reference store="nodestore"/>
@@ -43,6 +38,49 @@
<scope match="/" store="j2ee"/>
</definition>
</pre>
+where the adapter determines which database adapter you want to use. In this case
you configured the MySQL adapter. Most adapters
+have a parameter to decide whether the content shall be compressed (zipped) before
storing to the database. This <em>might</em>
+be fast in some enviroments. This option is switched off here.
+ </p>
+
+ <p>If your store is not configure using a datasource looked up using JNDI you
will have to provide more information to Slide
+ like this for example:
+<pre>
+
+<definition>
+<store name="MySqlStore">
+ <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore">
+ <parameter
name="adapter">org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter</parameter>
+ <parameter name="driver">com.mysql.jdbc.Driver</parameter>
+ <parameter name="url">jdbc:mysql://localhost/Slide</parameter>
+ <parameter name="user">root</parameter>
+ <parameter name="dbcpPooling">true</parameter>
+ <parameter name="maxPooledConnections">10</parameter>
+ <parameter name="isolation">SERIALIZABLE</parameter>
+ <parameter name="compress">false</parameter>
+ </nodestore>
+ <contentstore>
+ <reference store="nodestore" />
+ </contentstore>
+ <securitystore>
+ <reference store="nodestore" />
+ </securitystore>
+ <lockstore>
+ <reference store="nodestore" />
+ </lockstore>
+ <revisiondescriptorsstore>
+ <reference store="nodestore" />
+ </revisiondescriptorsstore>
+ <revisiondescriptorstore>
+ <reference store="nodestore" />
+ </revisiondescriptorstore>
+ </store>
+</definition>
+</pre>
+You can see you will have to configure you driver, the connection url and the user
for the database. You can optionally configure
+if connection pooling using DBCP is enabled or not and if enabled how many
connections shall be pooled. If you want you can
+also choose the isolation level of your database. <code>SERIALIZABLE</code> is a
safe choice, but - depending on you database - at least <code>READ COMMITTED</code>
+is recommended.
</p>
</section>
1.23 +2 -56 jakarta-slide/src/doc/conf-lib.xml
Index: conf-lib.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/conf-lib.xml,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- conf-lib.xml 12 Jan 2004 13:35:20 -0000 1.22
+++ conf-lib.xml 15 Jan 2004 13:23:09 -0000 1.23
@@ -9,60 +9,6 @@
<body>
- <section name="The slide.properties file">
-
- <p>
- Slide uses a configuration file for environmental properties that
- is used to define some global options for Slide. Those options affect
- the general behavior of the Slide Content Management Framework, and
- can be used for example to completely disable security. Therefore, the
- security of the slide.proporties file is crucial, and access to it
- should be restricted to the server administrator. These properties are
- specified in a Java properties file with the name
- <tt>org.apache.slide.slide.properties</tt>.
- </p>
-
- <p>
- The Slide JAR includes a default configuration file. A configuration
- file in the Java library directory (e.g. <tt>/jdk1.2/lib</tt>) can be
- used to override the default configuration file with system wide
- properties. In addition, a configuration file can be placed in the
- classpath and will override both the system wide properties and
- default configuration.
- </p>
-
- <p>
- When running the provided examples, Slide will use the configuration
- file located in the examples directory which specifies additional
- debugging information and pretty printing of all produced XML
- documents.
- </p>
-
- <p>
- The following properties are currently supported in the configuration
- file:
- </p>
-
- <p>
-<pre>
- # Domain XML definition file. This is the Slide configuration file
- # (see below).
- # Default : Will look for domain.xml in current directory
- #org.apache.slide.domain=domain.xml
-
- # Automatically perform security checks. If set to false, no security checks
- # will be performed. It's equivalent to giving root access to each principal.
- # Default : true
- #org.apache.slide.security=true
-
- # Automatically perform locking checks. Locking is disabled if set to false.
- # Default : true
- #org.apache.slide.lock=true
-</pre>
- </p>
-
- </section>
-
<section name="Services / Stores">
<p>
@@ -86,8 +32,8 @@
<p>
Default services included with Slide are:
<ul>
- <li>File system</li>
- <li>JDBC</li>
+ <li>File system (default store)</li>
+ <li><a href="howto-j2eestore.html">JDBC</a></li>
</ul>
</p>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]