You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by oz...@apache.org on 2004/01/12 14:35:22 UTC

cvs commit: jakarta-slide/lib README

ozeigermann    2004/01/12 05:35:22

  Modified:    src/doc  index.xml contrib.xml project.xml installation.xml
                        howto-tomcat.xml conf-lib.xml howto-j2eestore.xml
               .        build.xml RELEASE-PLAN-2.0 STATUS README
  Added:       src/share/org/apache/slide/common package.html
  Removed:     src/doc  caching.xml domain.xml examples.xml
               .        RUNNING.txt
               lib      README
  Log:
  Cleaning of docs part 2:
  - moved technical details into the package.html of the Javadocs 
  - deleted more stuff no longer valid for Slide 2.0
  
  Revision  Changes    Path
  1.18      +1 -0      jakarta-slide/src/doc/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/index.xml,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- index.xml	12 Jan 2004 11:19:07 -0000	1.17
  +++ index.xml	12 Jan 2004 13:35:20 -0000	1.18
  @@ -24,6 +24,7 @@
   WebDAV ACL</li>
           <li>DASL support for any backend, extensible for using backends search
   capabilities for higher scalability and less latency</li>
  +        <li>Binding support</li>
           <li>Simple installation on any server supporting Servlet 2.3 and .war
   deployment</li>
           <li>'ready-to-run' binary distribution for Tomcat</li>
  
  
  
  1.34      +7 -7      jakarta-slide/src/doc/contrib.xml
  
  Index: contrib.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/contrib.xml,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- contrib.xml	8 Jan 2004 16:03:36 -0000	1.33
  +++ contrib.xml	12 Jan 2004 13:35:20 -0000	1.34
  @@ -56,13 +56,6 @@
         Testing, fixes and work on the J2EE store.
       </p>
               <p>
  -                <a href="mailto:courson at noos.fr">
  -                    <b>Jean-Philippe Courson</b>
  -                </a>
  -                <br/>
  -      Testing and fixes.
  -    </p>
  -            <p>
                   <a href="mailto:stefano at apache.org">
                       <b>Stefano Mazzocchi</b>
                   </a>
  @@ -126,6 +119,13 @@
                   </a>
                   <br/>
         Tag library, administration webapp, bug fixes, testing.
  +    </p>
  +            <p>
  +                <a href="mailto:courson at noos.fr">
  +                    <b>Jean-Philippe Courson</b>
  +                </a>
  +                <br/>
  +      Testing and fixes.
       </p>
           </section>
           <section name="Contributors (in random order)">
  
  
  
  1.23      +5 -5      jakarta-slide/src/doc/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/project.xml,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- project.xml	12 Jan 2004 11:19:07 -0000	1.22
  +++ project.xml	12 Jan 2004 13:35:20 -0000	1.23
  @@ -20,19 +20,19 @@
     <menu name="User's Guide">
       <item name="Connecting with Windows XP" href="xp.html"/>
       <item name="Using MacOS X webdav_fs" href="osx.html"/>
  -    <item name="Client" href="webdav-client.html"/>
  +    <item name="Commandline Client" href="webdav-client.html"/>
     </menu>
     <menu name="Administrator's Guide">
       <item name="Installation" href="installation.html"/>
  -    <item name="Tomcat Bundle" href="howto-tomcat.html"/>
       <item name="Configuration" href="conf-lib.html"/>
  -    <item name="Understanding Domain.xml" href="config_file.html"/>
  -    <item name="Domain" href="domain.html"/>
  +    <item name="Tomcat Bundle" href="howto-tomcat.html"/>
  +    <!-- This is very valuable stuff, but unfortunately does not fit Slide 2.0. Comment it out for now -->
  +  	<!--item name="Understanding Domain.xml" href="config_file.html"/-->
       <item name="J2EE Integration" href="howto-j2eestore.html"/>
     </menu>
     <menu name="Programmer's Corner">
       <item name="Getting Started using Eclipse" href="getting-started.html"/>
  -    <item name="JavaDoc" href="javadoc/index.html"/>
  +    <item name="Server JavaDoc" href="javadoc/index.html"/>
       <item name="WebDAV Client Javadoc" href="clientjavadoc/index.html"/>
     </menu>
   
  
  
  
  1.26      +19 -100   jakarta-slide/src/doc/installation.xml
  
  Index: installation.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/installation.xml,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- installation.xml	1 Aug 2002 07:17:14 -0000	1.25
  +++ installation.xml	12 Jan 2004 13:35:20 -0000	1.26
  @@ -4,6 +4,7 @@
   
     <properties>
           <author email="remm@apache.org">Remy Maucherat</author>
  +        <author email="ozeigermann@apache.org">Oliver Zeigermann</author>
           <title>Installation</title>
       </properties>
     
  @@ -22,14 +23,14 @@
       <ul>
   
       <li>
  -      Download and install a version 1.1 or later Java Development Kit
  +      Download and install a version 1.3 or later (1.4 recommended) Java Development Kit
         implementation for your operating system platform.  Set a "JAVA_HOME"
         environment variable to point at the directory where your JDK is 
         installed, and add "$JAVA_HOME/bin" to your PATH.
       </li>
   
       <li>
  -      Download and install Ant 1.4 or later. Then define an environment 
  +      Download and install Ant 1.5 or later. Then define an environment 
         variable named "ANT_HOME" and make it point to the path wher you just 
         installed Ant.
       </li>
  @@ -41,17 +42,6 @@
       </li>
   
       <li>
  -      Download the libraries needed to compile Slide, and either put
  -      the appropriate JARs in the "lib" subdirectory of your Ant distribution,
  -      or in the "lib" subdirectory of the Slide source distribution.
  -      The Slide Ant makefile will attempt to find and copy the JARs required
  -      at runtime. If the JARs are not located in their default location, you
  -      should create a "build.properties" file based on the 
  -      "build.properties.sample" file present in the root of the Slide
  -      source repository.
  -    </li>
  -
  -    <li>
         Build Slide using :
         <pre>
           cd $JAKARTA_HOME/jakarta-slide
  @@ -61,14 +51,14 @@
         You can delete the generated files in the "build" and "dist"
         subdirectories by executing the following:
         <pre>
  -	cd $JAKARTA_HOME/jakarta-slide
  +        cd $JAKARTA_HOME/jakarta-slide
           $ANT_HOME/bin/ant.sh clean    for Unix
           %ANT_HOME%\bin\ant clean      for Windows
         </pre>
       </li>
   
       <li>
  -      A web application which can be used in any Servlet 2.2 compliant can 
  +      A web application which can be used in any Servlet 2.3 compliant can 
         be found $JAKARTA_HOME/jakarta-slide/dist/webapp/slide.war.
       </li>
   
  @@ -92,11 +82,10 @@
           <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.2</li>
  +        <li>Sun Servlet API 2.3</li>
           <li>Sun Java Transaction API 1.0</li>
  -        <li>Jakarta Struts 1.0</li>
           <li>JDOM 1.0</li>
  -        <li>JDK 1.2 or later</li>
  +        <li>JDK 1.3 or later</li>
         </ul>
       </p>
       
  @@ -105,11 +94,10 @@
         <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.2 or later</li>
  +        <li>Sun Servlet API 2.3 or later</li>
           <li>Sun Java Transaction API 1.0</li>
  -        <li>Jakarta Struts 1.0</li>
           <li>JDOM 1.0 (optional)</li>
  -        <li>JRE 1.2 or later (1.3 recommended)</li>
  +        <li>JRE 1.3 or later (1.4 recommended)</li>
         </ul>
       </p>
       
  @@ -117,11 +105,9 @@
         As said above, the requirements for the various build options can 
         vary. Some might require :
         <ul>
  -        <li>Tomcat 4.0</li>
           <li>Ant optional package</li>
           <li>An Ant supported XSLT processor (Xalan or XSL:P)</li>
  -        <li>A JMX MBean server, and the JMX libraries</li>
  -        <li>JUnit 3.5</li>
  +        <li>JUnit</li>
         </ul>
       </p>
       
  @@ -143,7 +129,7 @@
       
       <p>
         The WebDAV servlet requires a servlet container which supports at least
  -      the 2.2 API. The easiest solution is to use the web application archive
  +      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.
  @@ -156,99 +142,32 @@
             <th>Comments</th>
           </tr>
           <tr>
  -          <td>JServ</td>
  +          <td>Jetty</td>
             <td>
  -            Slide requires a Servlet 2.2 compliant servlet container, and won't 
  -            run with JServ.
  +          	FIXME TODO
             </td>
           </tr>
           <tr>
  -          <td>Tomcat 3.1</td>
  +          <td>Tomcat 4.1</td>
             <td>
  -            Due to some missing features, mainly with authentication, Slide 
  -            won't run with Tomcat 3.1.
  +          	FIXME TODO
             </td>
           </tr>
           <tr>
  -          <td>Tomcat 3.2</td>
  +          <td>Tomcat 5.0</td>
             <td>
  -            Slide runs with Tomcat 3.2, but there are various issues with 
  -            mod_jk, as well as a few minor glitches.
  -          </td>
  -        </tr>
  -        <tr>
  -          <td>Tomcat 3.3</td>
  -          <td>
  -            Slide runs with Tomcat 3.3. See the 
  -            <a href="howto-tomcat.html">Tomcat HOW-TO</a> for more details.
  -          </td>
  -        </tr>
  -        <tr>
  -          <td>Tomcat 4.0</td>
  -          <td>
  -            The Slide binaries include a standalone server based on Tomcat 4.0.
  -            It is also possible to use Slide with Tomcat 4.0 as a web 
  +            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, please tell us 
  +      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>
  -  
  -  <section name="Administration Webapp">
  -    
  -    <p>
  -      Slide includes a web application for administration of a namespace. The 
  -      current feature set includes user management and killing (forced removal)
  -      of locks. The administration webapp requires Jakarta Struts 1.0 (see 
  -      <a href="http://jakarta.apache.org/struts/">
  -      http://jakarta.apache.org/struts/</a>) and a servlet container that 
  -      supports version 2.2 or later of the servlet API. A WAR file containing 
  -      the administration webapp (webapp/slide-admin.war) is included in the 
  -      binary distribution.
  -    </p>
  -    
  -    <p>
  -      <i>Please note that the administration webapp does not take care of 
  -      locating the domain configuration file and initializing the domain - it 
  -      is expected that this is done for example by the Slide WebDAV servlet or 
  -      the Slide Realm for Catalina. Also the WAR file does not contain the core
  -      Slide JAR files, because those need to be in a location shared by all 
  -      web applications that access Slide.</i>
  -    </p>
  -    
  -  </section>
  -  
  -  <section name="WebDAV enabled JFileChooser components">
  -  
  -    <p>
  -      A full WebDAV enabled JFileChooser is provided with Slide. To build it
  -      (it is not built by default), run the following:
  -      <pre>
  -        cd $JAKARTA_HOME/jakarta-slide/src/contrib/webdavgui
  -        $ANT_HOME/bin/ant.sh    for Unix
  -        %ANT_HOME%\bin\ant      for Windows
  -      </pre>
  -    </p>
  -    <p>
  -      The jar file built includes a test client which allows a user to browse
  -      a Slide WebDAV server using the filechooser, and to perform a variety
  -      of WebDAV actions on any object in the repository (this is useful for
  -      testing, and as example source for how to use the components.
  -    </p>
  -    <p> 
  -      To test this, after building it, run
  -      <pre>
  -        runui.sh    for Unix
  -        runui       for Windows
  -      </pre>
  -      from $JAKARTA_HOME/jakarta-slide/dist/client/bin
  -    </p>
  -  </section>    
     
   </body>
   </document>
  
  
  
  1.17      +16 -34    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.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- howto-tomcat.xml	1 Aug 2002 07:17:13 -0000	1.16
  +++ howto-tomcat.xml	12 Jan 2004 13:35:20 -0000	1.17
  @@ -4,6 +4,7 @@
   
     <properties>
           <author email="remm@apache.org">Remy Maucherat</author>
  +        <author email="ozeigermann@apache.org">Oliver Zeigermann</author>
           <title>Tomcat Howto</title>
       </properties>
     
  @@ -25,37 +26,10 @@
       
     </section>
     
  -  <section name="Tomcat 3.x">
  +  <section name="Tomcat 4.1.x">
       
       <p>
  -      Slide has been successfully tested with Tomcat 3.1.x, 3.2.x and 3.3.x.
  -    </p>
  -    
  -    <p>
  -      Tomcat 3.1 has severe limitations with security and authentication, so 
  -      using it is not recommended.
  -    </p>
  -    
  -    <p>
  -      Versions of AJP prior to 1.3 had issues with uploading resources, 
  -      especially when using chunking, so using them is not recommended with
  -      Slide. AJP 1.3 support is included in Tomcat 3.3.x.
  -    </p>
  -    
  -    <p>
  -      Important note : Versions of Tomcat prior to 3.3.x can report a 
  -      java.util.MissingResourceException when excuting a PROPFIND request.
  -      This exception is harmless and can be ignored.
  -    </p>
  -    
  -  </section>
  -  
  -  <section name="Tomcat 4.x">
  -    
  -    <p>
  -      Slide has been successfully tested with Tomcat 4.0.x. Use 
  -      of Slide with Tomcat 4.0 versions prior to beta 2 is not recommended
  -      due to classloading issues.
  +      Slide has been successfully tested with Tomcat 4.1.(x>=27).
       </p>
       
       <p>
  @@ -69,9 +43,9 @@
       <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.0 :
  +      optimal deployment of Slide with Tomcat 4.1 :
         <ul>
  -        <li>Download Tomcat 4.0</li>
  +        <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,
  @@ -81,11 +55,19 @@
             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>Copy slide-catalinawrapper.jar from the wrappers directory 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.</li>
  +          Slide namespace. This works by modifying server.xml in conf and replacing
  +          the standard realm configured in
  +<pre>
  +&lt;Realm className="org.apache.catalina.realm.MemoryRealm" />
  +</pre>
  +with the SlideRealm
  +
  +<pre>
  +&lt;Realm className="wrappers.catalina.SlideRealm" name="Slide DAV Server" namespace="slide" />
  +</pre>
  +          </li>
         </ul>
       </p>
       
  
  
  
  1.22      +40 -370   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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- conf-lib.xml	1 Aug 2002 07:17:13 -0000	1.21
  +++ conf-lib.xml	12 Jan 2004 13:35:20 -0000	1.22
  @@ -63,11 +63,11 @@
   
       </section>
   
  -      <section name="Services">
  +      <section name="Services / Stores">
   
           <p>
             Slide can store the data it manages in a broad array of repositories.
  -          Each repository is accessed through a module called a Service. Each
  +          Each repository is accessed through a module called a Service or a Store. Each
             of these services have widely different dependencies, and can need 
             a lot of extra setup steps. It is expected that services will be
             developed by Slide adopters to address their specific content
  @@ -84,13 +84,10 @@
           </p>
           
           <p>
  -          Some services included, or scheduled for inclusion with Slide are :
  +          Default services included with Slide are:
             <ul>
  -            <li>Memory</li>
               <li>File system</li>
  -            <li>File system with versioning</li>
               <li>JDBC</li>
  -            <li>CVS</li>
             </ul>
           </p>
           
  @@ -100,7 +97,7 @@
           
           <p>
             The WebDAV module is a Servlet and requires a properly configured 
  -          Servlet 2.2 container. It also requires JAXP, a JAXP compliant XML
  +          Servlet 2.3 container. It also requires JAXP, a JAXP compliant XML
             parser and JDOM.
           </p>
           
  @@ -146,25 +143,6 @@
           
         </section>
   
  -      <section name="Administration Webapp">
  -        
  -        <p>
  -          The Slide administration webapp is based on the Jakarta Struts web 
  -          application framework, a custom Slide tag library and JSP pages. One 
  -          instance of the administration webapp can be used to administrate a 
  -          single Slide namespace, so you'll need multiple instances to 
  -          administrate multiple namespaces.
  -        </p>
  -        
  -        <p>
  -          By default, the administration webapp will be set to access the 
  -          default namespace. To change this behaviour, change the 
  -          <b>namespace</b> context parameter in the applications web.xml file 
  -          to the name of the namespace that should be accessed.
  -        </p>
  -        
  -      </section>
  -
         <section name="The Domain configuration file">
           
           <p>
  @@ -173,353 +151,45 @@
           </p>
           
           <p>
  -          Slide needs a configuration file to initialize the 
  -          <a href="domain.html">domain</a>. This configuration file defines
  +          Slide needs a configuration file to initialize the Domain. This configuration file defines
             the namespaces which are part of this domain, the services associated
             with them, and the namespaces data configuration. This file uses the
  -          XML language for its syntax. The XML elements and attributes used by
  -          Slide are formally defined in the following 
  -          <a href="schema/slide.xsd">schema</a>. A less formal abstract 
  -          follows.
  +          XML language for its syntax. 
           </p>
  -        
  -            <subsection name="slide/namespace">
  -              <p>
  -                This element is used to define a namespace in the domain.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>
  -                     Defines the name of the namespace.
  -                    </p>
  -                   </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition">
  -              <p>
  -                This contains the declaration of the services mapped by the
  -                namespace.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition/store">
  -              <p>
  -                Declaration of a store service which will be used
  -                by the namespace. The association of the service to a specific
  -                path in the namespace is done by using the 
  -                slide/namespace/definition/scope element (see below).<br/>
  -                This element can have child stores elements.<br/>
  -                If no classname is specified, the 
  -                org.apache.slide.store.StandardStore will be used.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Name under which the service is mapped.</p>
  -                  </attribute>
  -                  <attribute name="classname" required="false">
  -                    <p>Service class name.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition/store/parameter">
  -              <p>
  -                Specifies an additional parameter.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Name of the parameter.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition/store/[childstore]">
  -              <p>
  -                Declaration of a substore which will handle storage of a type
  -                of objects.<br/>
  -                This element can either have a classname element and parameter
  -                child elements, or it can refer to another child store defined
  -                in this descriptors store.<br/>
  -                [childstore] can have the following values :
  -                <ul>
  -                  <li>nodestore</li>
  -                  <li>securitystore</li>
  -                  <li>lockstore</li>
  -                  <li>revisiondescriptorsstore</li>
  -                  <li>revisiondescriptorstore</li>
  -                  <li>contentstore</li>
  -                </ul>
  -                The referenced child store must be a properly defined child 
  -                store defined in the same store. That is, it must
  -                have a classname attribute, and must not be a reference to 
  -                another child store. Additionally, the child store must 
  -                implement storage for both types.
  -              </p>
  -                <attributes>
  -                  <attribute name="classname" required="false">
  -                    <p>Service class name.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition/store/[childstore]/reference">
  -              <p>
  -                Reference to a child store which has already been defined for 
  -                thsi descriptors store.
  -              </p>
  -                <attributes>
  -                  <attribute name="store" required="true">
  -                    <p>Store type.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition/store/[childstore]/parameter">
  -              <p>
  -                Specifies an additional parameter.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Name of the parameter.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/definition/scope">
  -              <p>
  -                Associates a service to a specified scope in the namespace.
  -              </p>
  -                <attributes>
  -                  <attribute name="match" required="true">
  -                    <p>Uri filter.</p>
  -                  </attribute>
  -                  <attribute name="store" required="true">
  -                    <p>Name of the store associated with the scope.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration">
  -              <p>
  -                This element specifies the namespace configuration.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/[actions]">
  -              <p>
  -                Specifies to which object in the namespace the default action
  -                types are mapped in the namespace. The value of the element 
  -                must be the uri of the corresponding object.
  -              </p>
  -              <p>
  -                [actions] can have one of the following values :
  -                <ul>
  -                  <li>default-action</li>
  -                  <li>read-object</li>
  -                  <li>create-object</li>
  -                  <li>remove-object</li>
  -                  <li>grant-permission</li>
  -                  <li>revoke-permission</li>
  -                  <li>read-permissions</li>
  -                  <li>lock-object</li>
  -                  <li>kill-lock</li>
  -                  <li>read-locks</li>
  -                  <li>read-revision-metadata</li>
  -                  <li>create-revision-metadata</li>
  -                  <li>modify-revision-metadata</li>
  -                  <li>remove-revision-metadata</li>
  -                  <li>read-revision-content</li>
  -                  <li>create-revision-content</li>
  -                  <li>modify-revision-content</li>
  -                  <li>remove-revision-content</li>
  -                </ul>
  -                It is legal not to specify any of these elements, al long as
  -                the default default-action element is present and have a valid
  -                value (which means that an object should exist at the specified
  -                uri.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/userspath">
  -              <p>
  -                Specify the uri of the users root. For example, a value of 
  -                "/users" will indicate that principal "foo" has a corresponding
  -                object which uri is "/users/foo" in the namespace. This element
  -                is optional.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/guestpath">
  -              <p>
  -                Specify the uri of the guest user, relative to the users root.
  -                This value will be used when the credential token contains an
  -                empty String or a null value.
  -                For example, a value of "foo" will indicate that principal 
  -                "userspath/foo" will be used as the current principal when
  -                the credential token contains no value. This element
  -                is optional.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/filespath">
  -              <p>
  -                Specify the uri of the document root. This value is mainly used
  -                by the webdav module, which will base it's root directory using
  -                this value. Note : This feature is not implemented right now.
  -                This element is optional.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/parameter">
  -              <p>
  -                Specifies an additional parameter.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Name of the parameter.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/role">
  -              <p>
  -                Specifies a role mapping. The value of this element should be
  -                the Java class name of the interface representing the role.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Name of the role.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/auto-create-users">
  -              <p>
  -                Setting the value of this element to "true" will enable
  -                automatic creation of users.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/auto-create-users-role">
  -              <p>
  -                Classname of the users which will be automatically created.
  -                This class must extend ObjectNode.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/configuration/default-property">
  -              <p>
  -                This element can be used to define a set of default properties
  -                which will be present in newly created object having the 
  -                specified role. Specifying role "nobody" will add the property
  -                as default for all the nodes in the namespace.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Name of the property.</p>
  -                  </attribute>
  -                  <attribute name="namespace" required="true">
  -                    <p>Namespace of the property.</p>
  -                  </attribute>
  -                  <attribute name="value" required="true">
  -                    <p>Default value of the property.</p>
  -                  </attribute>
  -                  <attribute name="role" required="true">
  -                    <p>Role which will have the property.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data">
  -              <p>
  -                Specify the namespace bootstrap data. Slide will attempt to 
  -                create the objects specified in this section each time the 
  -                namespace is intialized, and will stop if it finds the
  -                namespace has already been initialized before. Unless the 
  -                namespace has already been initialized or a repository access
  -                error occurs, the creation of the specified objects / ACL / 
  -                metadata will always be successful. The objects defined in this
  -                section should at least contain a user and an action object, so
  -                that later on at least one pricipal has enough credentials to
  -                perform an action on the namespace (unless security is 
  -                disabled).
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data/objectnode">
  -              <p>
  -                Defines a namespace node. Can have another objectnode element
  -                as child element. If the object only has one revision, the
  -                revision element can be omitted, and objectnode can contain
  -                property and content child elements.
  -              </p>
  -                <attributes>
  -                  <attribute name="classname" required="true">
  -                    <p>Class name of the attribute.</p>
  -                  </attribute>
  -                  <attribute name="uri" required="true">
  -                    <p>Uri of the object.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data/objectnode/permission">
  -              <p>
  -                Grants a permission on the associated node. By defualt, the
  -                permission is positive and inheritable.
  -              </p>
  -                <attributes>
  -                  <attribute name="action" required="true">
  -                    <p>Action which can be performed.</p>
  -                  </attribute>
  -                  <attribute name="subject" required="true">
  -                    <p>Subject who can perform the action.</p>
  -                  </attribute>
  -                  <attribute name="inheritable" required="false">
  -                    <p>If true, the permission will also apply to the child nodes.</p>
  -                  </attribute>
  -                  <attribute name="negative" required="false">
  -                    <p>If true, will explicitely deny the permission specified.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data/objectnode/revision">
  -              <p>
  -                Defines a revision on the associated node.
  -              </p>
  -                <attributes>
  -                  <attribute name="number" required="true">
  -                    <p>Revision number.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data/objectnode/revision/ancestor">
  -              <p>
  -                Indicates that the revision is based on a previous revision.
  -              </p>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data/objectnode/revision/property">
  -              <p>
  -                Defines a revision's property.
  -              </p>
  -                <attributes>
  -                  <attribute name="name" required="true">
  -                    <p>Property name.</p>
  -                  </attribute>
  -                </attributes>
  -            </subsection>
  -            
  -            <subsection name="slide/namespace/data/objectnode/revision/content">
  -              <p>
  -                Defines the revision's content. This element's value MUST NOT
  -                be the actual content, but an URL to the content.
  -              </p>
  -            </subsection>
  -            
  +
  +    <p>
  +      A domain is an aggregation of one or more namespaces. If we use the 
  +      UNIX filesystem analogy, a domain represents the root ("/") anchor where
  +      filesystems (in this case, namespaces) are mounted.
  +    </p>
  +    
  +    <p>
  +      The domain controls access to its registered namespaces and performs 
  +      initialization and connection management on behalf of the namespaces.
  +    </p>
  +    
  +    <p>
  +      When Slide is first initialized, the Domain configuration is loaded. 
  +      Once again, if you are familiar with UNIX, the domain configuration file
  +      is the equivalent of the <tt>fstab</tt> file.  The path to the domain 
  +      configuration file is given through the <tt>org.apache.slide.domain</tt>
  +      property in your <tt>slide.properties</tt> file (which must be located 
  +      somewhere in your <tt>CLASSPATH</tt>).
  +    </p>
  +
  +    <p>
  +      The domain configuration is written by an administrator and tells how 
  +      to initialize each Namespace. The namespace initialization includes 
  +      information like:
  +      
  +    <ul>
  +      <li>The low-level services the namespace uses (structure store, content 
  +        store ...).</li>
  +      <li>The namespace base topology, which includes the location of the base
  +        actions and paths in the namespace.</li>
  +    </ul>
  +  </p>
  +    
         </section>
   
     </body>
  
  
  
  1.5       +1 -17     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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- howto-j2eestore.xml	1 Aug 2002 07:17:13 -0000	1.4
  +++ howto-j2eestore.xml	12 Jan 2004 13:35:21 -0000	1.5
  @@ -21,7 +21,7 @@
   <pre>
   &lt;definition&gt;
       &lt;store name="j2ee"&gt;
  -        &lt;nodestore classname="slidestore.j2ee.J2EEDescriptorsStore"&gt;
  +        &lt;nodestore classname="org.apache.slide.store.impl.rdbms.J2EEStore"&gt;
               &lt;parameter name="datasource"&gt;jdbc/mtx&lt;/parameter&gt;
           &lt;/nodestore&gt;
           &lt;securitystore&gt;
  @@ -88,22 +88,6 @@
   &lt;/DefaultContext&gt;
   </pre>
   </p>
  -  </section>
  -
  -  <section name="Troubleshooting">
  -  <p>A couple of general notes in case you encounter problems.</p>
  -
  -  <p>It is important that the only jndi.jar, naming.jar and jdbc.jar's and 
  -  your jdbc driver are in the %CATALINA_HOME%/common/libs and/or %CATALINA_HOME%/libs folders.</p>
  -
  -  <p>If slide loads any of the classes from its own classloder it will either 
  -  not find the tomcat datasource or it will fail to load the DB drivers.</p>
  -
  -  <p>With Tomcat 4.0.1 the standard implementation provides a datasource which 
  -  has pooling. It has no configured limits, it will grow as required and lazily 
  -  shrinks to reduce its size. Tomcat also has the capability to support 
  -  other datasource implementations and will offer one based on the 
  -  Apache commons DBCP pool implementation in version 4.1.</p>
     </section>
   
   </body>
  
  
  
  1.187     +1 -1      jakarta-slide/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/build.xml,v
  retrieving revision 1.186
  retrieving revision 1.187
  diff -u -r1.186 -r1.187
  --- build.xml	12 Jan 2004 11:38:13 -0000	1.186
  +++ build.xml	12 Jan 2004 13:35:21 -0000	1.187
  @@ -19,7 +19,7 @@
       <!-- =================================================================== -->
       <property name="name" value="Jakarta-Slide"/>
       <property name="year" value="2004"/>
  -    <property name="version" value="2.0.0"/>
  +    <property name="version" value="2.0b1"/>
       <property name="project" value="jakarta-slide"/>
       <property name="final.name" value="${project}-${version}"/>
       <property name="final-src.name" value="${project}-src-${version}"/>
  
  
  
  1.3       +1 -15     jakarta-slide/RELEASE-PLAN-2.0
  
  Index: RELEASE-PLAN-2.0
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/RELEASE-PLAN-2.0,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RELEASE-PLAN-2.0	3 Dec 2003 14:14:00 -0000	1.2
  +++ RELEASE-PLAN-2.0	12 Jan 2004 13:35:21 -0000	1.3
  @@ -8,21 +8,7 @@
   -----------
   
   Slide 2.0 will provide a stable content repository as a basis for a content
  -management system / framework and other purposes, featuring:
  -* Full WebDAV Support
  -* Basic DeltaV WebDAV Versioning Support / advanced features "merge",
  -"basline", "activity" and "versioned collection" are postponed to 2.x (x>0).
  -* Support for a variety of backend systems for storing the content
  -including different databases and file system storage
  -* Transactions and Locking for data integrity
  -* Flexible control over permissions at a per file level via support for
  -WebDAV ACL
  -* Simple installation on any server supporting Servlet 2.3 and .war
  -deployment
  -* Sample 'ready-to-run' binary distribution including Tomcat 4.1
  -* A fully featured WebDAV client library and command line client
  -* DASL support for any backend, extensible for using backends search
  -capabilities
  +management system / framework and other purposes.
   
   Release schedule
   ----------------
  
  
  
  1.2       +9 -12     jakarta-slide/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/STATUS,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- STATUS	3 Dec 2003 09:21:48 -0000	1.1
  +++ STATUS	12 Jan 2004 13:35:21 -0000	1.2
  @@ -1,7 +1,7 @@
   RELEASES
   --------
   - Slide 1.0.x: The only *real* Slide release. As a matter of fact no longer supported.
  -- Slide 2.0: Yet to come. A beta is scheduled for early 2004. Have a look at the release plan.
  +- Slide 2.0: Yet to come. A beta is scheduled for late January 2004. Have a look at the release plan.
   - Slide 2.1: Will change some interfaces, but still will be a minor release as it will be compatible to 2.0
   
   BRANCHES
  @@ -19,18 +19,15 @@
   STUFF IN THE PIPELINE FOR 2.0
   -----------------------------
   
  -Martin / Pier
  -- Port of J2EE store to Postgres
  -
  -Oliver / Christophe
  -- Port of J2EE store to Oracle
  -
  -Peter
  -- Performance improvements
  +- docs
  +- source structure
   
   STUFF IN THE PIPELINE FOR 2.(x>0)
   ---------------------------------
   
  +Oliver / Christophe
  +- Port of J2EE store to Oracle
  +
   Stefano / Christophe
   - Further DASL support
   
  @@ -38,9 +35,9 @@
   - DeltaV advanced features
   
   Oliver
  -- Global locking
  -- Binding for stores
  -- Request tunneling to stores
  +- Request tunneling to RDBMS stores
  +- Augment isolation for kernel level caching
  +- Port of J2EE store to DB2
   
   STORES
   ------
  
  
  
  1.14      +19 -17    jakarta-slide/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/README,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- README	10 Jun 2002 04:55:45 -0000	1.13
  +++ README	12 Jan 2004 13:35:21 -0000	1.14
  @@ -1,9 +1,21 @@
  -			         Slide
  -			         =====
  -
  -
  -This subproject contains the source code for the Slide content management system.
  +                                Jakarta-Slide 2.0
   
  +Welcome to the Jakarta Slide project! Slide is a content repository
  +which can serve as a basis for a content management system / framework
  +and other purposes. It features: 
  +- Full WebDAV Support
  +- Basic DeltaV WebDAV Versioning Support
  +- Support for a variety of backend systems for storing the content
  +including different databases and file system storage
  +- Transactions and Locking for data integrity
  +- Flexible control over permissions at a per file level via support for the 
  +WebDAV ACL
  +- DASL support for any backend, extensible for using backends search
  +capabilities for higher scalability and less latency
  +- Binding support
  +- Simple installation on any server supporting Servlet 2.3 and .war deployment
  +- 'ready-to-run' binary distribution for Tomcat 5.0
  +- A fully featured WebDAV client library and command line client
   
   Installing and Building Slide
   ==============================
  @@ -14,15 +26,5 @@
   Additional Information
   ======================
   
  -See HTML documentation, or the Slide website at http://jakarta.apache.org/slide.
  -And also read the ./lib/README file.
  -
  -
  -Before Committing Changes
  -=========================
  -
  -Before committing any changes to the Slide CVS repository, you MUST do a
  -"build clean" followed by a "build full-dist" to ensure that the build process 
  -runs cleanly, and you must ensure that the tests run correctly.
  -
  -
  +See HTML documentation, or the Slide website at
  +http://jakarta.apache.org/slide. 
  
  
  
  1.1                  jakarta-slide/src/share/org/apache/slide/common/package.html
  
  Index: package.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  <html>
    
    <head>
      <!-- 
        
        $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/package.html,v 1.1 2004/01/12 13:35:21 ozeigermann Exp $
        $Revision: 1.1 $
        $Date: 2004/01/12 13:35:21 $
        
        ====================================================================
        
        The Apache Software License, Version 1.1
        
        Copyright (c) 1999 The Apache Software Foundation.  All rights
        reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions
        are met:
        
        1. Redistributions of source code must retain the above copyright
           notice, this list of conditions and the following disclaimer.
           
        2. Redistributions in binary form must reproduce the above copyright
           notice, this list of conditions and the following disclaimer in
           the documentation and/or other materials provided with the
           distribution.
           
        3. The end-user documentation included with the redistribution, if
           any, must include the following acknowlegement:
              "This product includes software developed by the
               Apache Software Foundation (http://www.apache.org/)."
           Alternately, this acknowlegement may appear in the software itself,
           if and wherever such third-party acknowlegements normally appear.
           
        4. The names "The Jakarta Project", "Slide", and "Apache Software
           Foundation" must not be used to endorse or promote products derived
           from this software without prior written permission. For written
           permission, please contact apache@apache.org.
           
        5. Products derived from this software may not be called "Apache"
           nor may "Apache" appear in their names without prior written
           permission of the Apache Group.
           
        THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
        WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
        OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
        ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
        SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
        LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
        USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
        ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
        OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        SUCH DAMAGE.
        ====================================================================
        
        This software consists of voluntary contributions made by many
        individuals on behalf of the Apache Software Foundation.  For more
        information on the Apache Software Foundation, please see
        <http://www.apache.org/>.
        
        [Additional notices, if required by prior licensing conditions]
        
      -->
    </head>
    
    <body>
      <p>
        This package contains the core classes of Slide arranged around the concept of a domain.
      </p>
      
      <p>
        A domain is an aggregation of one or more namespaces. If we use the 
        UNIX filesystem analogy, a domain represents the root ("/") anchor where
        filesystems (in this case, namespaces) are mounted.
      </p>
      
      <p>
        The domain controls access to its registered namespaces and performs 
        initialization and connection management on behalf of the namespaces.
      </p>
      
      <p>
        From the client application's perspective, the domain represent the 
        only directly accessible object.  It is through this object that the 
        client gains access to namespaces, using 
        <tt>Domain.accessNamespace(SecurityToken securityObject, 
          String namespace)</tt> static method call.
      </p>
      
      <p>
        Since the domain acts as the root of a directory service, it is a static
        entity and there can be only one domain per Java VM.
      </p>
      
    </section>
    
    <h3>Initialization</h3>
  
      <p>
        When Slide is first initialized, the Domain configuration is loaded. 
        Once again, if you are familiar with UNIX, the domain configuration file
        is the equivalent of the <tt>fstab</tt> file.  The path to the domain 
        configuration file is given through the <tt>org.apache.slide.domain</tt>
        property in your <tt>slide.properties</tt> file (which must be located 
        somewhere in your <tt>CLASSPATH</tt>).
      </p>
  
      <p>
        The domain configuration is written by an administrator and tells how 
        to initialize each Namespace. The namespace initialization includes 
        information like:
        
      <ul>
        <li>The low-level services the namespace uses (structure store, content 
          store ...).</li>
        <li>The namespace base topology, which includes the location of the base
          actions and paths in the namespace.</li>
      </ul>
    </p>
      
      <p>
        More details about those configuration files are given in the First 
        Steps section.
      </p>
      
    </section>
    
    <h3>Access and Security</h3>
      
      <p>
        After the initialization is complete, the client application can 
        request access to the domain. It uses one of the two different functions
        calls:
      <ul>
        <li><tt>Domain.accessNamespace(SecurityToken securityObject, String 
            namespace)</tt>, is used to access a specific namespace.  This 
          method returns a <tt>NamespaceAccessToken</tt>, which is used 
          thereafter by the application for performing operations on the 
          namespace</li>
        <li><tt>Domain.accessDomain(SecurityToken securityObject)</tt>, 
          enumerates the registered namespaces with this domain.  This allows 
          application to browse the list of available namespaces.</li>
      </ul>
    </p>
      
      <p>
        The Domain uses an object (argument <tt>securityObject</tt>) to decide 
        whether or not the client should be granted access. A good candidate is 
        a reference to the client servlet. If the Domain decides to grant 
        access, it hands out one or more <tt>NamespaceAccessToken(s)</tt> to 
        the client.
      </p>
      
      <p>
        The <tt>NamespaceAccessToken</tt> is a wrapper object which is used to 
        completely hide the real Namespace object reference from the client 
        application. It is used by Slide to authenticate and control every 
        operations on the Namespace object.
      </p>
      
      <p>
        Using the <tt>NamespaceAccessToken</tt>, the application can obtain 
        access to "helper" functions.   These <i>helper interfaces</i> group 
        the namepsace operations into operational categories, such as 
        <tt>Structure</tt>, <tt>Security</tt>, <tt>ContentManagement</tt> 
        and <tt>Locking</tt>.
      </p>
      
      <p>
        The NamespaceAccessToken object implements the <tt>UserTransaction</tt>
        interface (see the Java Transaction API documentation for more details)
        to allow the client to control transaction demarcation.
      </p>
      
      <p>
        A <tt>SlideToken</tt> is retrieved from the servlet container, 
        and is given as the first parameter of every helper function. It is 
        used by the helper functions to identify the current security 
        <tt>Principal</tt> and/or its credentials. It also is used to store
        information about the user transaction state.
      </p>
      
      <p>
        What's very important to point out is that a client application placed 
        in a properly configured environment has no mean of accomplishing any 
        action except if the servlet container hands him a Principal object 
        (from the <tt>java.security package</tt>). So the servlet only has, at 
        a given time, the credentials of the principal who performs an action 
        through it. By itself, it can't do anything.
      </p>
      
    </body>
    
  </html>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org