pnever      2004/02/23 06:00:29

  Modified:    src/doc  project.xml
  Added:       src/doc  howto-deltav.xml howto-bind.xml howto-acl.xml
  Log:
  Added docu (Administrator's Guide) for DeltaV, ACL and binding
  
  Revision  Changes    Path
  1.28      +4 -1      jakarta-slide/src/doc/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/project.xml,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- project.xml       19 Feb 2004 13:55:33 -0000      1.27
  +++ project.xml       23 Feb 2004 14:00:29 -0000      1.28
  @@ -30,8 +30,11 @@
       <item name="Configuration" href="conf-lib.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="Understanding Domain.xml" href="config_file.html"/-->
       <item name="J2EE Integration" href="howto-j2eestore.html"/>
  +    <item name="Security" href="howto-acl.html"/>
  +    <item name="Version Control" href="howto-deltav.html"/>
  +    <item name="Binding" href="howto-bind.html"/>
     </menu>
     <menu name="Programmer's Corner">
       <item name="Getting Started using Eclipse" href="getting-started.html"/>
  
  
  
  1.1                  jakarta-slide/src/doc/howto-deltav.xml
  
  Index: howto-deltav.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <document>
  
      <properties>
          <author email="[EMAIL PROTECTED]">Peter Nevermann</author>
          <title>DeltaV Howto</title>
      </properties>
  
      <body>
          <section name="Introduction">
              <p>
              Slide supports DeltaV (version control) according to the <a 
href="http://webdav.org/deltav";>WebDAV DeltaV specification</a>.
              </p>
          </section>
        
          <section name="Enabling or disabling version control">
              <p>
              By default, version control is enabled in Slide.
              </p>
              <p>
              To disable version control, search for a configuration file named 
<i>slide.properties</i> in the classpath
              (if not there, you can create a new one at e.g. 
$CATALINA_HOME/common/classes)
              and set or add:
              <pre>org.apache.slide.versioncontrol=false</pre>
              </p>
          </section>
          
          <section name="Other parameters (Domain.xml)">
              <p>
              There are some more global parameters in the Slide configuration file 
<i>Domain.xml</i>, which influence the version control
              behavior of the server.
              </p>
              <p>
              <font color="red"><b>IMPORTANT NOTE:</b></font><br/>Under no 
circumstances the values of the following three parameters should be changed
              while there are any stores configured or data exists for any store, as 
no migration of the data will take place:<br/>
              <b>historypath</b>, <b>workspacepath</b>, <b>workingresourcepath</b>.
              </p>
              <ul>
              <li>
              <i>historypath</i><br/> (xpath: <font color="blue"><code>/slide/[EMAIL 
PROTECTED]"historypath"]</code></font>):<br/>
              Specifies a Slide path which determines the location where this DeltaV 
server stores history data.<br/>
              Default value is <code>/history</code>.
              </li>
              <li>
              <i>workspacepath</i><br/> (xpath: <font color="blue"><code>/slide/[EMAIL 
PROTECTED]"workspacepath"]</code></font>):<br/>
              Specifies a Slide path which determines the location where this DeltaV 
server allows workspaces to reside.<br/>
              Default value is <code>/workspace</code>.
              </li>
              <li>
              <i>workingresourcepath</i><br/> (xpath: <font 
color="blue"><code>/slide/[EMAIL PROTECTED]"workingresourcepath"]</code></font>):<br/>
              Specifies a Slide path which determines the location where this DeltaV 
server stores working resources.<br/>
              Default value is <code>/workingresource</code>.
              </li>
              <li>
              <i>versioncontrol-exclude</i><br/> (xpath: <font 
color="blue"><code>/slide/[EMAIL 
PROTECTED]"versioncontrol-exclude"]</code></font>):<br/>
              Specifies a Slide path which determines resources which are excluded 
from version-control.<br/>
              Default value is <code>""</code>.
              </li>
              <li>
              <i>auto-version-control</i><br/> (xpath: <font 
color="blue"><code>/slide/[EMAIL PROTECTED]"auto-version-control"]</code></font>):<br/>
              Indicates whether newly created resources are to be set under 
version-control automatically.<br/>
              Default value is <code>false</code>.
              </li>
              <li>
              <i>auto-version</i><br/> (xpath: <font color="blue"><code>/slide/[EMAIL 
PROTECTED]"auto-version"]</code></font>):<br/>
              Specifies the default initial value of the <i>DAV:auto-version</i> 
property for newly created version controlled resources.
              For the complete list the possible values refer to section 3.2.2 of the 
<a href="http://ietf.org/rfc/rfc3253.txt";>DeltaV specification</a>.<br/>
              Default value is <code>checkout-checkin</code>.
              </li>
              <li>
              <i>checkout-fork</i><br/> (xpath: <font color="blue"><code>/slide/[EMAIL 
PROTECTED]"checkout-fork"]</code></font>):<br/>
              Specifies the default initial value of the <i>DAV:checkout-fork</i> 
property for newly created version resources.
              For the complete list the possible values refer to section 4.1.1 of the 
<a href="http://ietf.org/rfc/rfc3253.txt";>DeltaV specification</a>.<br/>
              Default value is <code>forbidden</code>.
              </li>
              <li>
              <i>checkin-fork</i><br/> (xpath: <font color="blue"><code>/slide/[EMAIL 
PROTECTED]"checkin-fork"]</code></font>):<br/>
              Specifies the default initial value of the <i>DAV:checkin-fork</i> 
property for newly created version resources.
              For the complete list the possible values refer to section 4.1.2 of the 
<a href="http://ietf.org/rfc/rfc3253.txt";>DeltaV specification</a>.<br/>
              Default value is <code>forbidden</code>.
              </li>
              </ul>
          </section>
          
          <section name="More parameters (web.xml)">
              <p>
              There exist some servlet init parameters in the webapp deployment 
descriptor, i.e. <code>WEB-INF/web.xml</code>
              in the webapp directory, which influence the version control behavior of 
the server at the WebDAV level.
              </p>
              <ul>
              <li>
              <i>extendedAllprop</i><br/> (xpath: <font 
color="blue"><code>/web-app/servlet/init-param[param-name="extendedAllprop"]</code></font>):<br/>
              According to WebDAV DeltaV, ACL and Binding specifications,
              a DAV:allprop PROPFIND should <b>not</b> return any of the properties 
defined
              in any of those documents.
              For testing purposes, the specified behaviour can be disabled by 
              setting this parameter "true".
              </li>
              </ul>
              <p>
              </p>
          </section>
      </body>
    
  </document>
  
  
  
  
  1.1                  jakarta-slide/src/doc/howto-bind.xml
  
  Index: howto-bind.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <document>
  
      <properties>
          <author email="[EMAIL PROTECTED]">Peter Nevermann</author>
          <title>Binding Howto</title>
      </properties>
  
      <body>
          <section name="Introduction">
              <p>
              Slide supports binding according to draft 2.1 of the <a 
href="http://webdav.org/bind";>WebDAV BIND specification</a>.
              It allows multiple URIs to be mapped to the same resource.
              </p>
          </section>
        
          <section name="Enabling binding">
              <p>
              Enabling binding for a store is simple. It is done by referencing the 
<i>BindingStore</i> implementation
              through the classname attribute of the store element when configuring 
the store in Domain.xml:
              <pre>
  &lt;store name="mystore" classname="org.apache.slide.store.BindingStore"&gt;
      &lt;nodestore classname=...&gt;
          ...
      &lt;/nodestore&gt;
      ...
  &lt;/store&gt;
              </pre>
              <font color="red"><b>IMPORTANT NOTE:</b></font><br/>Under no 
circumstances the binding configuration of a store should be changed from
              disabled to enabled, or vice-versa, while the store contains data, as no 
migration of the data will take place!
              </p>
          </section>
          
          <section name="Some parameters (web.xml)">
              <p>
              There exist some servlet init parameters in the webapp deployment 
descriptor, i.e. <code>WEB-INF/web.xml</code>
              in the webapp directory, which influence the binding behavior of the 
server at the WebDAV level.
              </p>
              <ul>
              <li>
              <i>extendedAllprop</i><br/> (xpath: <font 
color="blue"><code>/web-app/servlet/init-param[param-name="extendedAllprop"]</code></font>):<br/>
              According to WebDAV DeltaV, ACL and Binding specifications,
              a DAV:allprop PROPFIND should <b>not</b> return any of the properties 
defined
              in any of those documents.
              For testing purposes, the specified behaviour can be disabled by 
              setting this parameter "true".
              </li>
              </ul>
              <p>
              </p>
          </section>
      </body>  
  </document>
  
  
  
  
  1.1                  jakarta-slide/src/doc/howto-acl.xml
  
  Index: howto-acl.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <document>
  
      <properties>
          <author email="[EMAIL PROTECTED]">Peter Nevermann</author>
          <title>Security Howto</title>
      </properties>
  
      <body>
          <section name="Introduction">
              <p>
              Slide supports ACL (access control) according to draft 12 of the <a 
href="http://webdav.org/acl";>WebDAV ACL specification</a>.
              </p>
              <p>
              By default, when running inside Tomcat, authentication for the WebDAV 
servlet is controlled by the realm
              <code>wrappers.catalina.SlideRealm</code>
              which accesses user names and passwords directly from the Slide 
namespace at <code>/slide/users</code>.
              </p>
              <p>
              In Slide, authentication and authorization (access control) can be en- 
or disabled independently from each other.
              </p>
          </section>
        
          <section name="Enabling or disabling authentication ">
              <p>
              By default, authentication is enabled in Slide.
              </p>
              <p>
              To disable authentication, open the webapp deployment descriptor, i.e. 
<code>WEB-INF/web.xml</code> in the webapp directory,
              and uncomment the two elements given by the xpath expressions
              <font color="blue"><code>/web-app/security-constraint</code></font> and 
<font color="blue"><code>/web-app/login-config</code></font>:
              <pre><font color="gray"><b>&lt;!--</b>
  &lt;security-constraint&gt;
      &lt;web-resource-collection&gt;
          &lt;web-resource-name&gt;DAV resource&lt;/web-resource-name&gt;
          &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
          &lt;http-method&gt;COPY&lt;/http-method&gt;
          [...]
          &lt;http-method&gt;REBIND&lt;/http-method&gt;
      &lt;/web-resource-collection&gt;
      &lt;auth-constraint&gt;
          &lt;role-name&gt;root&lt;/role-name&gt;
          &lt;role-name&gt;guest&lt;/role-name&gt;
          &lt;role-name&gt;user&lt;/role-name&gt;
      &lt;/auth-constraint&gt;
  &lt;/security-constraint&gt;
  &lt;login-config&gt;
      &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
      &lt;realm-name&gt;Slide DAV Server&lt;/realm-name&gt;
  &lt;/login-config&gt;
  <b>--&gt;</b></font>
              </pre>
              </p>
          </section>
        
          <section name="Enabling or disabling authorization (access control)">
              <p>
              By default, access control is enabled in Slide. If authentication is 
disabled (see above), the current user is "unauthenticated"
              and he/she has all permissions granted to DAV:unauthenticated.
              </p>
              <p>
              To disable access control, search for a configuration file named 
<i>slide.properties</i> in the classpath
              (if not there, you can create a new one at e.g. 
$CATALINA_HOME/common/classes)
              and set or add:
              <pre>org.apache.slide.security=false</pre>
              </p>
          </section>
          
          <section name="Other parameters (Domain.xml)">
              <p>
              There are some other namespace-specific parameters in the Slide 
configuration file <i>Domain.xml</i>, which
              influence the access control behavior of the server.
              </p>
              <ul>
              <li>
              <i>acl_semantics</i><br/> (xpath: <font 
color="blue"><code>/slide/namespace/configuration/[EMAIL 
PROTECTED]"acl_semantics"]</code></font>):<br/>
              Class name of the access control implementation. Default value is 
<i>org.apache.slide.security.ACLSecurityImpl</i>.
              Allows to plug-in a customized security implementation.
              </li>
              <li>
              <i>acl_inheritance_type</i><br/> (xpath: <font 
color="blue"><code>/slide/namespace/configuration/[EMAIL 
PROTECTED]"acl_inheritance_type"]</code></font>):<br/>
              Controls inheritance of ACEs over the namespace hierarchy.
              Can be one of <i>none</i> (no inheritance takes place), <i>root</i> 
(ACEs are inherited only from the root node),
              <i>path</i> (ACEs are inherited over the URI path) or <i>full</i> (ACEs 
are inherited over all available parent
              bindings). Default value is <i>path</i>, <i>full</i> is not yet 
implemented.
              </li>
              <li>
              <i>nested_roles_maxdepth</i><br/> (xpath: <font 
color="blue"><code>/slide/namespace/configuration/[EMAIL 
PROTECTED]"nested_roles_maxdepth"]</code></font>):<br/>
              Defines the max. depth of nested roles/groups hierarchies. Default value 
is 0 (meaning no nesting). Value 1 means one sublevel, and so forth.
              </li>
              </ul>
          </section>
          
          <section name="More parameters (web.xml)">
              <p>
              There exist some servlet init parameters in the webapp deployment 
descriptor, i.e. <code>WEB-INF/web.xml</code>
              in the webapp directory, which influence the access control behavior of 
the server at the WebDAV level.
              </p>
              <ul>
              <li>
              <i>extendedAllprop</i><br/> (xpath: <font 
color="blue"><code>/web-app/servlet/init-param[param-name="extendedAllprop"]</code></font>):<br/>
              According to WebDAV DeltaV, ACL and Binding specifications,
              a DAV:allprop PROPFIND should <b>not</b> return any of the properties 
defined
              in any of those documents.
              For testing purposes, the specified behaviour can be disabled by 
              setting this parameter "true".
              </li>
              <li>
              <i>lockdiscoveryIncludesPrincipalURL</i><br/> (xpath: <font 
color="blue"><code>/web-app/servlet/init-param[param-name="lockdiscoveryIncludesPrincipalURL"]</code></font>):<br/>
              As proposed on February 08, 2003 by Lisa Dusseault in 
              [EMAIL PROTECTED], the DAV:lockdiscovery property should 
              include an element DAV:principal-URL with the semantics of the 
              WebDAV/ACL specification. This feature can be switched-off in case 
              of interoperability problems.
              </li>
              </ul>
              <p>
              </p>
          </section>
          
          <section name="Creation and maintenance principal resources (users, 
roles/groups) through WebDAV">
              <p>
              Although the creation and  maintenance of principal resources (users, 
roles/groups) is out of scope of the WebDAV/ACL
              specification, in Slide it is currently possible through a proprietary 
extension to the MKCOL method, provided the
              <i>SlideRealm</i> (<code>wrappers.catalina.SlideRealm</code>) is active.
              </p>
              <p>
              Resources created by MKCOL at the locations specified by the parameters:
              <li><i>userspath</i> (xpath: <font 
color="blue"><code>/slide/namespace/configuration/userspath</code></font>,</li>
              <li><i>groupspath</i> (xpath: <font 
color="blue"><code>/slide/namespace/configuration/groupspath</code></font>), or</li>
              <li><i>rolespath</i> (xpath: <font 
color="blue"><code>/slide/namespace/configuration/rolespath</code></font>)</li>
              <br/>
              automatically become principals,
              i.e. the property <i>DAV:resourcetype</i> automatically will contain the 
<i>DAV:principal</i> element.
              </p>
              <p>
              To set the password of a user, issue a PROPPATCH request setting the 
<i>password</i> property (namespace of the property:
              <i>http://jakarta.apache.org/slide/</i>).
              </p>
              <p>
              To associate users to a role/group, issue a PROPPATCH request setting 
the <i>DAV:group-member-set</i> property.<br/>
              <b><font color="red">NOTE:</font></b> to add a user(s) to a role/group, 
the value of the <i>DAV:group-member-set</i> property must
              list <b>all</b> members of the role/group, not just the user(s) being 
added.
              </p>
          </section>
      </body>
    
  </document>
  
  
  
  

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

Reply via email to