pnever      2002/10/14 09:03:43

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        PutMethod.java CopyMethod.java
                        VersionControlMethod.java
               src/conf/webapp Domain.xml
               src/webdav/server/org/apache/slide/webdav/util
                        DeltavConstants.java
  Log:
  Added global deltav parameter <versioncontrol-exclude> and handling for it
  
  Revision  Changes    Path
  1.59      +15 -8     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java
  
  Index: PutMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- PutMethod.java    9 Oct 2002 09:26:40 -0000       1.58
  +++ PutMethod.java    14 Oct 2002 16:03:42 -0000      1.59
  @@ -119,6 +119,7 @@
        * Resource to be written.
        */
       private String resourcePath;
  +    private boolean isInVersioncontrolExcludePath = false;
       
       // ----------------------------------------------------------- Constructors
       
  @@ -168,10 +169,16 @@
           slideToken.setForceStoreEnlistment(true);
           
           // check destination URI
  -        UriHandler destinationUriHandler = UriHandler.getUriHandler(resourcePath);
  -        if (destinationUriHandler.isRestrictedUri()) {
  +        UriHandler destUh = UriHandler.getUriHandler(resourcePath);
  +        if( VersionControlMethod.VERSIONCONTROL_EXCLUDEPATH != null && 
VersionControlMethod.VERSIONCONTROL_EXCLUDEPATH.length() > 0 ) {
  +            UriHandler exUh = UriHandler.getUriHandler( 
VersionControlMethod.VERSIONCONTROL_EXCLUDEPATH );
  +            if( exUh.isAncestorOf(destUh) )
  +                isInVersioncontrolExcludePath = true;
  +        }
  +        
  +        if (destUh.isRestrictedUri()) {
               boolean sendError = true;
  -            if( destinationUriHandler.isWorkingresourceUri() ) {
  +            if( destUh.isWorkingresourceUri() ) {
                   // PUT on existing WRs is *not* restricted !!!
                   try {
                       content.retrieve(slideToken, resourcePath);
  @@ -292,7 +299,7 @@
                   
                   // Changed for DeltaV --start--
                   // check if the resource should be put under version-control
  -                if ( isLockedNullResource && Configuration.useVersionControl() && 
AUTO_VERSION_CONTROL ) {
  +                if ( isLockedNullResource && Configuration.useVersionControl() && 
AUTO_VERSION_CONTROL && !isInVersioncontrolExcludePath ) {
                       versioningHelper.versionControl(resourcePath);
                   }
                   if( Configuration.useVersionControl() && mustCheckIn) {
  @@ -396,7 +403,7 @@
                                  revisionContent);
                   
                   // check if the resource should be put under version-control
  -                if ( Configuration.useVersionControl() && AUTO_VERSION_CONTROL ) {
  +                if ( Configuration.useVersionControl() && AUTO_VERSION_CONTROL && 
!isInVersioncontrolExcludePath ) {
                       versioningHelper.versionControl(resourcePath);
                   }
                   
  
  
  
  1.50      +17 -8     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java
  
  Index: CopyMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/CopyMethod.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- CopyMethod.java   8 Oct 2002 14:01:02 -0000       1.49
  +++ CopyMethod.java   14 Oct 2002 16:03:42 -0000      1.50
  @@ -143,6 +143,8 @@
        */
       protected String labelHeader = null;
   
  +    private boolean isInVersioncontrolExcludePath = false;
  +    
   
       // ----------------------------------------------------------- Constructors
   
  @@ -196,11 +198,17 @@
           }
   
           // check destination URI
  -        UriHandler destinationUriHandler = UriHandler.getUriHandler(destinationUri);
  -        if (destinationUriHandler.isRestrictedUri()) {
  +        UriHandler destUh = UriHandler.getUriHandler(destinationUri);
  +        if( VersionControlMethod.VERSIONCONTROL_EXCLUDEPATH != null && 
VersionControlMethod.VERSIONCONTROL_EXCLUDEPATH.length() > 0 ) {
  +            UriHandler exUh = UriHandler.getUriHandler( 
VersionControlMethod.VERSIONCONTROL_EXCLUDEPATH );
  +            if( exUh.isAncestorOf(destUh) )
  +                isInVersioncontrolExcludePath = true;
  +        }
  +        
  +        if (destUh.isRestrictedUri()) {
               boolean sendError = true;
  -            if( destinationUriHandler.isWorkspaceUri()        ||
  -                destinationUriHandler.isWorkingresourceUri()
  +            if( destUh.isWorkspaceUri()        ||
  +               destUh.isWorkingresourceUri()
                 ) {
                   // COPY on existing WSs or WRs is *not* restricted !!!
                   try {
  @@ -399,7 +407,7 @@
               }
   
               // check if the resource should be put under version-control
  -            if( PutMethod.AUTO_VERSION_CONTROL && !isCollection(destinationUri) ) {
  +            if( PutMethod.AUTO_VERSION_CONTROL && !isCollection(destinationUri) && 
!isInVersioncontrolExcludePath ) {
                   versioningHelper.versionControl(destinationUri);
               }
   
  @@ -628,6 +636,7 @@
   
   
   }
  +
   
   
   
  
  
  
  1.20      +23 -27    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java
  
  Index: VersionControlMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- VersionControlMethod.java 12 Aug 2002 12:55:02 -0000      1.19
  +++ VersionControlMethod.java 14 Oct 2002 16:03:42 -0000      1.20
  @@ -63,36 +63,20 @@
   
   package org.apache.slide.webdav.method;
   
  -import java.io.*;
  -import java.util.*;
  -
  -import javax.servlet.http.HttpServletRequest;
  -import javax.servlet.http.HttpServletResponse;
  -
  -import org.jdom.Element;
  -import org.jdom.Document;
  -import org.jdom.Namespace;
  -import org.jdom.JDOMException;
  -import org.jdom.output.XMLOutputter;
  -
  -import org.apache.slide.common.SlideException;
  -import org.apache.slide.common.Uri;
  +import java.io.IOException;
  +import java.util.Iterator;
   import org.apache.slide.common.Domain;
   import org.apache.slide.common.NamespaceAccessToken;
  -import org.apache.slide.structure.SubjectNode;
  -import org.apache.slide.content.NodeProperty;
  -import org.apache.slide.content.NodeRevisionContent;
  -import org.apache.slide.content.NodeRevisionDescriptor;
  -import org.apache.slide.content.NodeRevisionDescriptors;
  -import org.apache.slide.content.NodeRevisionNumber;
  -import org.apache.slide.webdav.WebdavServletConfig;
  +import org.apache.slide.macro.ForbiddenException;
   import org.apache.slide.webdav.WebdavException;
  -import org.apache.slide.webdav.util.VersioningHelper;
  -import org.apache.slide.webdav.util.UriHandler;
  +import org.apache.slide.webdav.WebdavServletConfig;
   import org.apache.slide.webdav.util.DeltavConstants;
  -import org.apache.slide.webdav.util.ViolatedPrecondition;
   import org.apache.slide.webdav.util.PreconditionViolationException;
  +import org.apache.slide.webdav.util.UriHandler;
  +import org.apache.slide.webdav.util.VersioningHelper;
   import org.apache.util.WebdavStatus;
  +import org.jdom.Element;
  +import org.jdom.JDOMException;
   
   /**
    * VERSION-CONTROL method.
  @@ -102,6 +86,9 @@
   public class VersionControlMethod extends AbstractWebdavMethod
       implements DeltavConstants {
       
  +    final static String VERSIONCONTROL_EXCLUDEPATH =
  +        Domain.getParameter( I_VERSIONCONTROL_EXCLUDEPATH, 
I_VERSIONCONTROL_EXCLUDEPATH_DEFAULT );
  +    
       /**
        * Resource to be written.
        */
  @@ -194,6 +181,15 @@
           slideToken.setForceStoreEnlistment(true);
           
           try {
  +            UriHandler rUh = UriHandler.getUriHandler( resourcePath );
  +            if( VERSIONCONTROL_EXCLUDEPATH != null && 
VERSIONCONTROL_EXCLUDEPATH.length() > 0 ) {
  +                UriHandler exUh = UriHandler.getUriHandler( 
VERSIONCONTROL_EXCLUDEPATH );
  +                if( exUh.isAncestorOf(rUh) )
  +                    throw new ForbiddenException(
  +                        resourcePath,
  +                        new Exception("The resource path has been excluded from 
version-control") );
  +            }
  +            
               VersioningHelper vh = VersioningHelper.getVersioningHelper(
                   slideToken, token, req, resp, getConfig() );
               if( existingVersionPath == null )
  
  
  
  1.40      +137 -168  jakarta-slide/src/conf/webapp/Domain.xml
  
  Index: Domain.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/conf/webapp/Domain.xml,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- Domain.xml        7 Aug 2002 08:13:32 -0000       1.39
  +++ Domain.xml        14 Oct 2002 16:03:42 -0000      1.40
  @@ -1,7 +1,6 @@
   <?xml version="1.0"?>
  -<slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6"
  -    default="slide">
  -    <!--
  +<slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6" 
default="slide">
  +     <!--
       logger
       ~~~~~~
       org.apache.slide.util.logger.SimpleLogger
  @@ -19,42 +18,41 @@
       6 INFO
       7 DEBUG
       -->
  -    <namespace name="slide">
  -        <!-- ### Memory Configuration ###
  +     <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"/>
  -                <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 ###
  +             <definition>
  +                     <store name="memory">
  +                             <nodestore 
classname="slidestore.reference.MemoryDescriptorsStore"/>
  +                             <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">
  @@ -85,164 +83,130 @@
               <scope match="/" store="jdbc" />
           </definition>
           -->
  -        <!-- ### Mixed JDBC - Filesystem ###
  +             <!-- ### Mixed JDBC - Filesystem ###
           stores: slidestore.reference.JDBCDescriptorsStore
                   slidestore.reference.FileContentStore
           !!! set resetBeforeStarting parameter for FileContentStore to false !!!
           -->
  -        <!-- ### Cloudscape configuration (embedded database) ###
  +             <!-- ### Cloudscape configuration (embedded database) ###
           stores: slidestore.cloudscape.CloudscapeDescriptorsStore
                   slidestore.cloudscape.CloudscapeContentStore
           driver: COM.cloudscape.core.JDBCDriver
           url:    jdbc:cloudscape:slidestructure;create=true
                   jdbc:cloudscape:slidecontent;create=true
           -->
  -        <!-- ### Oracle configuration (thin driver) ###
  +             <!-- ### Oracle configuration (thin driver) ###
           stores: slidestore.reference.JDBCDescriptorsStore
                   slidestore.oracle.OracleContentStore
           driver: oracle.jdbc.OracleDriver
           url:    jdbc:oracle:thin:@localhost:1521:slide
           -->
  -        <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
  -                namespace="http://jakarta.apache.org/slide/"; name="password"
  -                value="" role="user"/>
  -        </configuration>
  -        <data>
  -            <objectnode classname="org.apache.slide.structure.SubjectNode"
  -                uri="/">
  -                <!-- Subject can be:
  +             <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 namespace="http://jakarta.apache.org/slide/"; 
name="password" value="" role="user"/>
  +             </configuration>
  +             <data>
  +                     <objectnode classname="org.apache.slide.structure.SubjectNode" 
uri="/">
  +                             <!-- Subject can be:
                   self  "~"
                   all   "nobody"
                   user  "/users/john"
                   group "+/users/groupA"
                   role  "root"
                   -->
  -                <!-- Uncomment the following line to give all permissions to
  +                             <!-- Uncomment the following line to give all 
permissions to
                   principals have the root role
                   -->
  -                <!-- <permission action="/actions" subject="root"/> -->
  -                <permission action="/actions" subject="/users/root"/>
  -                <permission action="/actions/read" subject="/users"
  -                    inheritable="false"/>
  -                <permission action="/actions/read" subject="nobody"
  -                    inheritable="false"/>
  -                <!-- /users -->
  -                <objectnode classname="org.apache.slide.structure.SubjectNode"
  -                    uri="/users">
  -                    <permission action="/actions" subject="~"/>
  -                    <permission action="/actions" subject="/users/guest"
  -                        inheritable="true" negative="true"/>
  -                    <permission action="/actions/read" subject="/users"
  -                        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 namespace="http://jakarta.apache.org/slide/";
  -                                name="password">root</property>
  -                        </revision>
  -                    </objectnode>
  -                    <!-- /users/john represents an authenticated user -->
  -                    <objectnode classname="slideroles.basic.UserRoleImpl"
  -                        uri="/users/john">
  -                        <revision>
  -                            <property namespace="http://jakarta.apache.org/slide/";
  -                                name="password">john</property>
  -                        </revision>
  -                    </objectnode>
  -                    <!-- /users/guest represents an authenticated or
  +                             <!-- <permission action="/actions" subject="root"/> -->
  +                             <permission action="/actions" subject="/users/root"/>
  +                             <permission action="/actions/read" subject="/users" 
inheritable="false"/>
  +                             <permission action="/actions/read" subject="nobody" 
inheritable="false"/>
  +                             <!-- /users -->
  +                             <objectnode 
classname="org.apache.slide.structure.SubjectNode" uri="/users">
  +                                     <permission action="/actions" subject="~"/>
  +                                     <permission action="/actions" 
subject="/users/guest" inheritable="true" negative="true"/>
  +                                     <permission action="/actions/read" 
subject="/users" 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 
namespace="http://jakarta.apache.org/slide/"; name="password">root</property>
  +                                             </revision>
  +                                     </objectnode>
  +                                     <!-- /users/john represents an authenticated 
user -->
  +                                     <objectnode 
classname="slideroles.basic.UserRoleImpl" uri="/users/john">
  +                                             <revision>
  +                                                     <property 
namespace="http://jakarta.apache.org/slide/"; 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 namespace="http://jakarta.apache.org/slide/";
  -                                name="password"/>
  -                        </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 ###
  +                                     <objectnode 
classname="slideroles.basic.GuestRoleImpl" uri="/users/guest">
  +                                             <revision>
  +                                                     <property 
namespace="http://jakarta.apache.org/slide/"; name="password"/>
  +                                             </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>
  -                <!-- DeltaV: default history and workspace paths -->
  -                <objectnode classname="org.apache.slide.structure.SubjectNode"
  -                    uri="/history"/>
  -                <objectnode classname="org.apache.slide.structure.SubjectNode"
  -                    uri="/workspace"/>
  -                <objectnode classname="org.apache.slide.structure.SubjectNode"
  -                    uri="/workingresource"/>
  -            </objectnode>
  -        </data>
  -    </namespace>
  -    <!--
  +                                     <permission action="/actions/manage" 
subject="/users/john"/>
  +                                     <permission action="/actions/write" 
subject="+/users/groupA"/>
  +                                     <permission action="/actions/read" 
subject="nobody"/>
  +                             </objectnode>
  +                             <!-- DeltaV: default history and workspace paths -->
  +                             <objectnode 
classname="org.apache.slide.structure.SubjectNode" uri="/history"/>
  +                             <objectnode 
classname="org.apache.slide.structure.SubjectNode" uri="/workspace"/>
  +                             <objectnode 
classname="org.apache.slide.structure.SubjectNode" uri="/workingresource"/>
  +                     </objectnode>
  +             </data>
  +     </namespace>
  +     <!--
       DeltaV global parameters
       ========================
       * historypath (mandatory=no, default="/history"):
  @@ -264,6 +228,10 @@
       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.
  @@ -295,11 +263,12 @@
       - 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="checkout-fork">forbidden</parameter>
  -    <parameter name="checkin-fork">forbidden</parameter>
  +     <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>
  +     <parameter name="checkout-fork">forbidden</parameter>
  +     <parameter name="checkin-fork">forbidden</parameter>
   </slide>
  
  
  
  1.23      +5 -3      
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/DeltavConstants.java
  
  Index: DeltavConstants.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/DeltavConstants.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- DeltavConstants.java      16 Jun 2002 16:29:44 -0000      1.22
  +++ DeltavConstants.java      14 Oct 2002 16:03:43 -0000      1.23
  @@ -96,6 +96,8 @@
       String I_CHECKIN_FORK                                                 = 
"checkin-fork";
       String I_CHECKIN_FORK_DEFAULT                                         = 
"forbidden";
       String I_STORE_PLACE_HOLDER_IN_PATH                                   = 
"${store}";
  +    String I_VERSIONCONTROL_EXCLUDEPATH                                   = 
"versioncontrol-exclude";
  +    String I_VERSIONCONTROL_EXCLUDEPATH_DEFAULT                           = "";
       
       
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to