andreas     2004/01/21 07:11:39

  Modified:    site/lenya/docs/components/tasks defining.html defining.pdf
               site/lenya/docs/components/publication siteTree.html
               site/lenya/docs/components/accesscontrol authenticators.html
                        policymanagers.pdf accreditablemanagers.html
                        accesscontrollerresolvers.html terms.pdf
                        authorizers.html accesscontrollers.html
                        accesscontrollerresolvers.pdf authorizers.pdf
                        accesscontrollers.pdf terms.html
                        accreditablemanagers.pdf policymanagers.html
                        authenticators.pdf
               site/lenya/docs/components/layout static-resources.html
                        xhtml-templating.html navigation.html
               site/lenya/docs/components/uri-handling URIParametrizer.pdf
                        usecases.html usecases.pdf URIParametrizer.html
               site/lenya/docs/components/editors bxeng.html htmlform.html
               site/lenya/docs/components/uri-handling/images/live
                        URIParametrizer.png
               site/lenya/docs/components/search lucene.html lucene.pdf
               site/lenya/docs/components/repository webdav.html webdav.pdf
  Log:
  Lenya website update before Release 1.2
  
  Revision  Changes    Path
  1.2       +1 -7      
cocoon-site/site/lenya/docs/components/tasks/defining.html
  
  Index: defining.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/tasks/defining.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- defining.html     17 Oct 2003 20:17:53 -0000      1.1
  +++ defining.html     21 Jan 2004 15:11:38 -0000      1.2
  @@ -235,12 +235,6 @@
         <parameter name="substitute-regexp" 
value="s/\/lenya\/your-publication//g"/>
       </task>
     </task>
  -
  -  <!-- print message -->
  -  <task id="hello-world" class="org.lenya.cms.task.HelloWorldTask">
  -    <label>Print Message</label>
  -  </task>
  -
   </tasks>
   
   </pre>
  @@ -284,7 +278,7 @@
       
   <span class="codefrag">Task.PARAMETER_SERVLET_CONTEXT</span> - the path of 
the servlet context<br>
       
  -<span 
class="codefrag">/home/user_id/build/jakarta-tomcat/webapps/lenyacms</span>
  +<span 
class="codefrag">/home/user_id/build/jakarta-tomcat/webapps/lenya</span>
     
   </li>
     
  
  
  
  1.2       +34 -34    cocoon-site/site/lenya/docs/components/tasks/defining.pdf
  
        <<Binary file>>
  
  
  1.2       +3 -23     
cocoon-site/site/lenya/docs/components/publication/siteTree.html
  
  Index: siteTree.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/publication/siteTree.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- siteTree.html     17 Oct 2003 20:23:54 -0000      1.1
  +++ siteTree.html     21 Jan 2004 15:11:38 -0000      1.2
  @@ -142,28 +142,8 @@
   <div class="menuitem">
   <a href="pageenvelopemodule.html">PageEnvelopeModule</a>
   </div>
  -<div class="menupage">
  -<div class="menupagetitle">Site tree</div>
  -<div class="menupageitemgroup">
  -<div class="menupageitem">
  -<a href="#Motivation">Motivation</a>
  -</div>
  -<div class="menupageitem">
  -<a href="#Rationale">Rationale</a>
  -</div>
  -<div class="menupageitem">
  -<a href="#The+Sitetree+Schema">The Sitetree Schema</a>
  -</div>
  -<div class="menupageitem">
  -<a href="#Backwards+Compatibility">Backwards Compatibility</a>
  -</div>
  -<div class="menupageitem">
  -<a href="#Roadmap">Roadmap</a>
  -</div>
  -<div class="menupageitem">
  -<a href="#Reference+Implementation">Reference Implementation</a>
  -</div>
  -</div>
  +<div class="menuitem">
  +<a href="siteTree.html">Site tree</a>
   </div>
   </div>
   </div>
  @@ -194,7 +174,7 @@
   <tr>
   <td valign="middle">
   <h1>Site Tree</h1>
  -</td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="siteTree.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" 
border="0"><br>
  +</td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="sitetree.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" 
border="0"><br>
             PDF</a></td>
   </tr>
   </table> 
  
  
  
  1.2       +25 -12    
cocoon-site/site/lenya/docs/components/accesscontrol/authenticators.html
  
  Index: authenticators.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/authenticators.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- authenticators.html       17 Oct 2003 20:10:18 -0000      1.1
  +++ authenticators.html       21 Jan 2004 15:11:38 -0000      1.2
  @@ -155,7 +155,7 @@
   <a href="#Declaring+the+Roles+in+lenya.roles">Declaring the Roles in 
lenya.roles</a>
   </div>
   <div class="menupageitem">
  -<a href="#UserAuthenticator">UserAuthenticator</a>
  +<a href="#The+UserAuthenticator">The UserAuthenticator</a>
   </div>
   </div>
   </div>
  @@ -163,11 +163,14 @@
   <a href="authorizers.html">Authorizers</a>
   </div>
   <div class="menuitem">
  -<a href="policymanagers.html">Policy&nbsp;Managers</a>
  +<a href="policymanagers.html">Policies and Policy&nbsp;Managers</a>
   </div>
   <div class="menuitem">
   <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -206,23 +209,27 @@
   <a name="N101C9"></a><a name="Introduction"></a>
   <h3>Introduction</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An authenticator is used to identify a client.</p>
  +<p>
  +     An authenticator is used to identify a client.
  +     It is supposed to setup the <em>Identity</em> object which is attached
  +     to the session.
  +     </p>
   </div>
   
   
  -<a name="N101D3"></a><a name="Declaring+the+Roles+in+lenya.roles"></a>
  +<a name="N101D6"></a><a name="Declaring+the+Roles+in+lenya.roles"></a>
   <h3>Declaring the Roles in lenya.roles</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<pre class="code">&lt;role name="org.apache.lenya.cms.ac2.Authenticator"
  +<pre class="code">&lt;role name="org.apache.lenya.ac.Authenticator"
       shorthand="authenticator"
  -    default-class="org.apache.lenya.cms.ac2.UserAuthenticator"/&gt;</pre>
  +    default-class="org.apache.lenya.ac.impl.UserAuthenticator"/&gt;</pre>
   </div>
   
        
  -<a name="N101DF"></a><a name="UserAuthenticator"></a>
  -<h3>UserAuthenticator</h3>
  +<a name="N101E2"></a><a name="The+UserAuthenticator"></a>
  +<h3>The UserAuthenticator</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The UserAuthenticator uses the request parameters</p>
  +<p>The <em>UserAuthenticator</em> uses the request parameters</p>
   <ul>
                        
   <li>
  @@ -233,10 +240,16 @@
   </li>
                
   </ul>
  -<p>to authenticate or reject a user.</p>
  +<p>to authenticate or reject a user. It is configured in <span 
class="codefrag">cocoon.xconf</span>
  +             as follows:</p>
   <pre class="code">&lt;component logger="lenya.ac.authenticator"
  -    class="org.apache.lenya.cms.ac2.UserAuthenticator"
  -    role="org.apache.lenya.cms.ac2.Authenticator"/&gt;</pre>
  +    class="org.apache.lenya.ac.impl.UserAuthenticator"
  +    role="org.apache.lenya.ac.Authenticator"/&gt;</pre>
  +<p>
  +      When a valid username/password combination is entered, the previous
  +      user is removed from the session <em>Identity</em> object
  +      and the current user is added.
  +    </p>
   </div>
   
     
  
  
  
  1.2       +110 -77   
cocoon-site/site/lenya/docs/components/accesscontrol/policymanagers.pdf
  
        <<Binary file>>
  
  
  1.2       +12 -8     
cocoon-site/site/lenya/docs/components/accesscontrol/accreditablemanagers.html
  
  Index: accreditablemanagers.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/accreditablemanagers.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- accreditablemanagers.html 17 Oct 2003 20:10:17 -0000      1.1
  +++ accreditablemanagers.html 21 Jan 2004 15:11:38 -0000      1.2
  @@ -152,7 +152,7 @@
   <a href="authorizers.html">Authorizers</a>
   </div>
   <div class="menuitem">
  -<a href="policymanagers.html">Policy&nbsp;Managers</a>
  +<a href="policymanagers.html">Policies and Policy&nbsp;Managers</a>
   </div>
   <div class="menupage">
   <div class="menupagetitle">Accreditable&nbsp;Managers</div>
  @@ -174,6 +174,9 @@
   </div>
   </div>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -212,32 +215,33 @@
   <a name="N101C9"></a><a name="Introduction"></a>
   <h3>Introduction</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An AccreditableManager combines a UserManager, a GroupManager, an
  -                             IPRangeManager and a RoleManager.</p>
  +<p>
  +                     An <em>AccreditableManager</em> combines a 
<em>UserManager</em>,
  +                     a <em>GroupManager</em>, an <em>IPRangeManager</em> and 
a <em>RoleManager</em>.</p>
   </div>
                
  -<a name="N101D3"></a><a name="UserManager"></a>
  +<a name="N101E2"></a><a name="UserManager"></a>
   <h3>UserManager</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>A UserManager manages users.</p>
   </div>
                
  -<a name="N101DD"></a><a name="GroupManager"></a>
  +<a name="N101EC"></a><a name="GroupManager"></a>
   <h3>GroupManager</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>A GroupManager manages groups.</p>
   </div>
                
  -<a name="N101E7"></a><a name="IPRangeManager"></a>
  +<a name="N101F6"></a><a name="IPRangeManager"></a>
   <h3>IPRangeManager</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>A IPRangeManager manages IP address rangess.</p>
   </div>
                
  -<a name="N101F1"></a><a name="RoleManager"></a>
  +<a name="N10200"></a><a name="RoleManager"></a>
   <h3>RoleManager</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>A RoleManager manages roles.</p>
  +<p>A RoleManager manages <em>Role</em>s.</p>
   </div>
        
     
  
  
  
  1.2       +68 -44    
cocoon-site/site/lenya/docs/components/accesscontrol/accesscontrollerresolvers.html
  
  Index: accesscontrollerresolvers.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/accesscontrollerresolvers.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- accesscontrollerresolvers.html    17 Oct 2003 20:10:17 -0000      1.1
  +++ accesscontrollerresolvers.html    21 Jan 2004 15:11:38 -0000      1.2
  @@ -172,11 +172,14 @@
   <a href="authorizers.html">Authorizers</a>
   </div>
   <div class="menuitem">
  -<a href="policymanagers.html">Policy&nbsp;Managers</a>
  +<a href="policymanagers.html">Policies and Policy&nbsp;Managers</a>
   </div>
   <div class="menuitem">
   <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -215,47 +218,51 @@
   <a name="N101C9"></a><a name="Introduction"></a>
   <h3>Introduction</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An AccessControllerResolver resolves the appropriate AccessController for 
a URL.</p>
  +<p>
  +     In Lenya, the <em>AccessController</em> is chosen dynamically,
  +     depending on the requested URL.
  +     An <em>AccessControllerResolver</em> resolves the appropriate
  +     <em>AccessController</em> for a URL.</p>
   </div>
   
   
  -<a name="N101D3"></a><a name="Defining+the+Roles+in+lenya.roles"></a>
  +<a name="N101DC"></a><a name="Defining+the+Roles+in+lenya.roles"></a>
   <h3>Defining the Roles in lenya.roles</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>To obtain an AccessControllerResolver, the 
AccessControllerResolverSelector is
  -             used. A component which wants to obtain an AccessController 
asks the
  -             selector for the <span class="codefrag">composable</span> 
AccessControllerResolver.
  -             The <span class="codefrag">composable</span> 
AccessControllerResolver itself uses the
  -             selector to obtain its child AccessControllerResolvers.
  +<p>To obtain an <em>AccessControllerResolver</em>, the 
<em>AccessControllerResolverSelector</em> is
  +             used. A component which wants to obtain an 
<em>AccessController</em> asks the
  +             selector for the <em>ComposableAccessControllerResolver</em>.
  +             The <em>ComposableAccessControllerResolver</em> itself uses the
  +             selector to obtain its child <em>AccessControllerResolver</em>s.
                </p>
  -<pre class="code">&lt;role 
name="org.apache.lenya.cms.ac2.AccessControllerResolverSelector"
  +<pre class="code">&lt;role 
name="org.apache.lenya.ac.AccessControllerResolverSelector"
       shorthand="access-controller-resolvers"
       
default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector"&gt;
     &lt;hint shorthand="configurable"
  -      
class="org.apache.lenya.cms.ac2.ConfigurableAccessControllerResolver"/&gt;
  +      
class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver"/&gt;
     &lt;hint shorthand="publication"
  -      
class="org.apache.lenya.cms.ac2.PublicationAccessControllerResolver"/&gt;
  +      
class="org.apache.lenya.cms.ac.PublicationAccessControllerResolver"/&gt;
     &lt;hint shorthand="composable"
  -      
class="org.apache.lenya.cms.ac2.ComposableAccessControllerResolver"/&gt;
  +      
class="org.apache.lenya.ac.impl.ComposableAccessControllerResolver"/&gt;
   &lt;/role&gt;</pre>
   </div>
   
   
  -<a name="N101E8"></a><a 
name="Declaring+the+Access+Controller+Resolvers+in+cocoon.xconf"></a>
  +<a name="N101FD"></a><a 
name="Declaring+the+Access+Controller+Resolvers+in+cocoon.xconf"></a>
   <h3>Declaring the Access Controller Resolvers in cocoon.xconf</h3>
   <div style="margin-left: 0 ; border: 2px">
   <pre class="code">&lt;access-controller-resolvers&gt;
     &lt;component-instance 
logger="lenya.ac.accesscontrollerresolver.publication"
  -    class="org.apache.lenya.cms.ac2.PublicationAccessControllerResolver"
  +    class="org.apache.lenya.cms.ac.PublicationAccessControllerResolver"
       name="publication"&gt;
     &lt;/component-instance&gt;
     &lt;component-instance logger="lenya.ac.accesscontrollerresolver.global"
  -    class="org.apache.lenya.cms.ac2.ConfigurableAccessControllerResolver"
  +    class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver"
       name="global"&gt;
       &lt;access-controller type="global"/&gt;
     &lt;/component-instance&gt;
     &lt;component-instance 
logger="lenya.ac.accesscontrollerresolver.composable"
  -    class="org.apache.lenya.cms.ac2.ComposableAccessControllerResolver"
  +    class="org.apache.lenya.ac.impl.ComposableAccessControllerResolver"
       name="composable"&gt;
       &lt;resolver type="publication"/&gt;
       &lt;resolver type="global"/&gt;
  @@ -264,54 +271,71 @@
   </div>
   
   
  -<a name="N101F4"></a><a name="Publication+Access+Controller+Resolver"></a>
  +<a name="N10209"></a><a name="Publication+Access+Controller+Resolver"></a>
   <h3>Publication Access Controller Resolver</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The PublicationAccessControllerResolver looks for a <span 
class="codefrag">config/ac.xconf</span>
  -             file inside the publication. If you want to use multiple 
AccessControllers
  -             within your Lenya installation, just declare them in the <span 
class="codefrag">
  -             cocoon-xconf.xsl</span> file and choose the type in the <span 
class="codefrag">
  -             config/ac.xconf</span> file:</p>
  +<p>The <em>PublicationAccessControllerResolver</em> looks for a <span 
class="codefrag">config/ac.xconf</span>
  +    file inside the publication. If you want to use multiple 
<em>AccessController</em>s
  +    within your Lenya installation, just declare them in the <span 
class="codefrag">
  +    cocoon-xconf.xsl</span> file and choose the type in the <span 
class="codefrag">config/ac.xconf</span> file.
  +    The <span class="codefrag">type</span> attribute selects an 
<em>AccessController</em>
  +    from the definitions in <span class="codefrag">cocoon.xconf</span>.
  +  </p>
  +<p>
  +             You have to configure the complete <em>AccessController</em> in 
this file. For instance,
  +             if you want to use a <em>BypassableAccessController</em> 
together with
  +             a certain set of components, you declare it as follows:</p>
   <pre class="code">&lt;?xml version="1.0"?&gt;
  -&lt;access-controller type="publication-file"&gt;
  -  &lt;authorizer type="usecase"&gt;
  -    &lt;config-file
  -        
src="context:///lenya/pubs/default/config/ac/usecase-policies.xml"/&gt;
  -  &lt;/authorizer&gt;
  -  &lt;accreditable-manager&gt;
  +&lt;access-controller type="bypassable"&gt;
  +  
  +  &lt;accreditable-manager type="file"&gt;
       &lt;parameter name="directory"
  -        value="context:///lenya/pubs/default/config/ac/passwd"/&gt;
  +        value="context:///lenya/pubs/mypub/config/ac/passwd"/&gt;
     &lt;/accreditable-manager&gt;
  -&lt;/access-controller&gt;</pre>
  -<p>As you see here, you can put additional configuration code inside the 
  -             <span class="codefrag">&lt;access-controller&gt;</span> 
element. This allows you to use
  -             the same AccessController type for multiple publications with 
different
  -             configurations.</p>
  +  
  +  &lt;policy-manager type="document"&gt;
  +    &lt;policy-manager type="file"&gt;
  +      &lt;parameter name="directory"
  +          value="context:///lenya/pubs/mypub/config/ac/policies"/&gt;
  +    &lt;/policy-manager&gt;
  +  &lt;/policy-manager&gt;
  +  
  +  &lt;authorizer type="policy"/&gt;
  +  
  +  &lt;authorizer type="usecase"&gt;
  +    &lt;parameter name="configuration"
  +        
value="context:///lenya/pubs/default/config/ac/usecase-policies.xml"/&gt;
  +  &lt;/authorizer&gt;
  +  
  +  &lt;authorizer type="workflow"/&gt;
  +  
  +&lt;/access-controller&gt;
  +</pre>
   </div>
   
   
  -<a name="N10212"></a><a name="Configurable+Access+Controller+Resolver"></a>
  +<a name="N10239"></a><a name="Configurable+Access+Controller+Resolver"></a>
   <h3>Configurable Access Controller Resolver</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The ConfigurableAccessControllerResolver can be configured with an
  -             AccessController directly inside <span 
class="codefrag">cocoon.xconf</span>:</p>
  +<p>The <em>ConfigurableAccessControllerResolver</em> can be configured with 
an
  +             <em>AccessController</em> directly inside <span 
class="codefrag">cocoon.xconf</span>:</p>
   <pre class="code">&lt;component-instance 
logger="lenya.ac.accesscontrollerresolver"
  -    class="org.apache.lenya.cms.ac2.ConfigurableAccessControllerResolver"
  +    class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver"
       name="global"&gt;
     &lt;access-controller type="global"/&gt;
   &lt;/component-instance&gt; </pre>
   </div>
   
   
  -<a name="N10224"></a><a name="Composable+Access+Controller+Resolver"></a>
  +<a name="N10251"></a><a name="Composable+Access+Controller+Resolver"></a>
   <h3>Composable Access Controller Resolver</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The ComposableAccessControllerResolver is configured with a list of
  -             AccessControllerResolvers. Each one of these resolvers is 
invoked until one
  -             is successful. If no resolver finds an AccessController, the
  -             ComposableAccessControllerResolver returns <span 
class="codefrag">null</span>.</p>
  +<p>The <em>ComposableAccessControllerResolver</em> is configured with a list 
of
  +             <em>AccessControllerResolver</em>s. Each one of these resolvers 
is invoked until one
  +             is successful. If no resolver finds an 
<em>AccessController</em>, the
  +             <em>ComposableAccessControllerResolver</em> returns <span 
class="codefrag">null</span>.</p>
   <pre class="code">&lt;component-instance 
logger="lenya.ac.accesscontrollerresolver"
  -    class="org.apache.lenya.cms.ac2.ComposableAccessControllerResolver"
  +    class="org.apache.lenya.ac.impl.ComposableAccessControllerResolver"
       name="composable"&gt;
     &lt;resolver type="publication"/&gt;
     &lt;resolver type="global"/&gt;
  
  
  
  1.2       +47 -39    
cocoon-site/site/lenya/docs/components/accesscontrol/terms.pdf
  
        <<Binary file>>
  
  
  1.2       +35 -12    
cocoon-site/site/lenya/docs/components/accesscontrol/authorizers.html
  
  Index: authorizers.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/authorizers.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- authorizers.html  17 Oct 2003 20:10:17 -0000      1.1
  +++ authorizers.html  21 Jan 2004 15:11:38 -0000      1.2
  @@ -166,11 +166,14 @@
   </div>
   </div>
   <div class="menuitem">
  -<a href="policymanagers.html">Policy&nbsp;Managers</a>
  +<a href="policymanagers.html">Policies and Policy&nbsp;Managers</a>
   </div>
   <div class="menuitem">
   <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -209,26 +212,41 @@
   <a name="N101C9"></a><a name="Introduction"></a>
   <h3>Introduction</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An authorizer checks if an identity is authorized to invoke a certain 
request. The DelegatingAuthorizerAction tries to resolve an AccessController 
for the URL. If an AccessController could be resolved, its Authorizer is used 
to authorize the request. If no AccessController could be found, the access to 
the request is granted for free.</p>
  +<p>An <em>Authorizer</em> checks if an <em>Identity</em> is authorized
  +     to invoke a certain request.
  +     </p>
  +<p>
  +     The <em>DelegatingAuthorizerAction</em> tries to
  +     resolve an <em>AccessController</em> for the URL. If an 
<em>AccessController</em>
  +     could be resolved, its <span class="codefrag">authorize(Request)</span> 
method is used to authorize the request.
  +     If no <span class="codefrag">AccessController</span> could be found, 
the access to the request
  +     is granted for free.</p>
  +<p>
  +       The <em>DefaultAccessController</em> delegates the authorization to 
its
  +       <em>Authorizer</em>s. Only when all <em>Authorizer</em>s return <span 
class="codefrag">true</span>,
  +       the request is authorized.
  +     </p>
   </div>
        
        
  -<a name="N101D3"></a><a name="PolicyAuthorizer"></a>
  +<a name="N101FA"></a><a name="PolicyAuthorizer"></a>
   <h3>PolicyAuthorizer</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>A PolicyAuthorizer uses policies for authorizing.</p>
  +<p>A <em>PolicyAuthorizer</em> uses <em>Policies</em> for authorizing. It 
returnes <span class="codefrag">true</span>,
  +             when the current <em>Identity</em> has at least one 
<em>Role</em> for the requested URL.</p>
   </div>
        
        
  -<a name="N101DD"></a><a name="UsecaseAuthorizer"></a>
  +<a name="N10213"></a><a name="UsecaseAuthorizer"></a>
   <h3>UsecaseAuthorizer</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>This authorizer looks for the <span class="codefrag">lenya.usecase</span> 
request
  -                     parameter and checks the usecase policy file for the 
roles that are
  +<p>This <em>Authorizer</em> looks for the <span 
class="codefrag">lenya.usecase</span> request
  +                     parameter and checks the usecase policy file for the 
<em>Role</em>s that are
                        allowed to execute this usecase. The location of this 
file is defined
  -                     using the <span 
class="codefrag">&lt;config-file&gt;</span> tag:</p>
  +                     using the <span class="codefrag">configuration</span> 
parameter which points to a URL:</p>
   <pre class="code">&lt;authorizer type="usecase"&gt;
  -  &lt;config-file 
src="context:///lenya/pubs/default/config/ac/usecase-policies.xml"/&gt;
  +  &lt;parameter name="configuration"
  +      value="context:///lenya/pubs/mypub/config/ac/usecase-policies.xml"/&gt;
   &lt;/authorizer&gt;</pre>
   <p>The usecase policy file might look as follows:</p>
   <pre class="code">&lt;?xml version="1.0"?&gt;
  @@ -236,14 +254,17 @@
     &lt;usecase id="create"&gt;
       &lt;role id="editor"/&gt;
     &lt;/usecase&gt;
  +  &lt;usecase id="rename"&gt;
  +    &lt;role id="editor"/&gt;
  +  &lt;/usecase&gt;
   &lt;/usecases&gt;</pre>
   </div>
        
        
  -<a name="N101FA"></a><a name="WorkflowAuthorizer"></a>
  +<a name="N10236"></a><a name="WorkflowAuthorizer"></a>
   <h3>WorkflowAuthorizer</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The WorkflowAuthorizer is responsible for protecting workflow
  +<p>The <em>WorkflowAuthorizer</em> is responsible for protecting workflow
                        transitions. Therefore it</p>
   <ul>
                        
  @@ -251,10 +272,12 @@
                        
   <li>determines the current state of the workflow instance, and</li>
                        
  -<li>checks if the event may be invoked by one of the current roles in this
  +<li>checks if the event may be invoked by one of the current <em>Role</em>s 
in this
                                state.</li>
                
   </ul>
  +<p>The <em>WorkflowAuthorizer</em> has no configuration options:</p>
  +<pre class="code">&lt;authorizer type="workflow"/&gt;</pre>
   </div>
        
     
  
  
  
  1.2       +31 -54    
cocoon-site/site/lenya/docs/components/accesscontrol/accesscontrollers.html
  
  Index: accesscontrollers.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/accesscontrollers.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- accesscontrollers.html    17 Oct 2003 20:10:16 -0000      1.1
  +++ accesscontrollers.html    21 Jan 2004 15:11:38 -0000      1.2
  @@ -169,11 +169,14 @@
   <a href="authorizers.html">Authorizers</a>
   </div>
   <div class="menuitem">
  -<a href="policymanagers.html">Policy&nbsp;Managers</a>
  +<a href="policymanagers.html">Policies and Policy&nbsp;Managers</a>
   </div>
   <div class="menuitem">
   <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -212,94 +215,68 @@
   <a name="N101C9"></a><a name="Introduction"></a>
   <h3>Introduction</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An access controller can be used to authenticate entities and to authorize
  -             requests.</p>
  +<p>An <em>AccessController</em> has the responsibility to authenticate
  +       clients and to authorize requests.</p>
   </div>
   
  -<a name="N101D3"></a><a name="Defining+the+Role+in+lenya.roles"></a>
  +<a name="N101D6"></a><a name="Defining+the+Role+in+lenya.roles"></a>
   <h3>Defining the Role in lenya.roles</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<pre class="code">&lt;role name="org.apache.lenya.cms.ac2.AccessController"
  +<pre class="code">&lt;role name="org.apache.lenya.ac.AccessController"
       shorthand="access-controller"
  -    
default-class="org.apache.lenya.cms.ac2.BypassableAccessController"/&gt;</pre>
  +    
default-class="org.apache.lenya.ac.impl.BypassableAccessController"/&gt;</pre>
   </div>
  -                     
   
  -<a name="N101DF"></a><a 
name="Declaring+an+AccessController+in+cocoon.xconf"></a>
  +
  +<a name="N101E2"></a><a 
name="Declaring+an+AccessController+in+cocoon.xconf"></a>
   <h3>Declaring an AccessController in cocoon.xconf</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  -             Each AccessController component needs a type that is attached 
to the
  -             role attribute, separated with a slash (/). This allows you to 
choose an
  -             AccessController in your publication in combination with the
  +             Each <em>AccessController</em> component needs a type that is 
attached to the
  +             <span class="codefrag">role</span> attribute, separated with a 
slash (/). This allows you to choose an
  +             <em>AccessController</em> in your publication in combination 
with the
                Publication<a 
href="accesscontrollerresolvers.html">AccessControllerResolver</a>.
  -             The following example shows the declaration of an 
AccessController with
  -             the type <em>global</em>:
  +             The following example shows the declaration of an 
<em>AccessController</em> with
  +             the type <em>bypassable</em>:
        </p>
  -<pre class="code">&lt;component logger="lenya.ac.accesscontroller.global"
  -    class="org.apache.lenya.cms.ac2.BypassableAccessController"
  -    role="org.apache.lenya.cms.ac2.AccessController/global"&gt;
  +<pre class="code">&lt;component logger="lenya.ac.accesscontroller.bypassable"
  +    class="org.apache.lenya.ac.impl.BypassableAccessController"
  +    role="org.apache.lenya.ac.AccessController/bypassable"&gt;
       ...
   &lt;/component&gt;</pre>
   </div>
   
        
  -<a name="N101F5"></a><a name="Default+Access+Controller"></a>
  +<a name="N10204"></a><a name="Default+Access+Controller"></a>
   <h3>Default Access Controller</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The DefaultAccessController combines an
  +<p>The <em>DefaultAccessController</em> combines an
                        <a href="authenticators.html">Authenticator</a>, a set 
of
                        <a href="authorizers.html">Authorizers</a>, an
                        <a 
href="accreditablemanagers.html">AccreditableManager</a> and a
                        <a href="policymanagers.html">PolicyManager</a> to 
perform these tasks.</p>
  -<a name="N1020E"></a><a 
name="Declaring+an+DefaultAccessController+in+cocoon.xconf"></a>
  -<h4>Declaring an DefaultAccessController in cocoon.xconf</h4>
  -<div style="margin-left: 0 ; border: 2px">
  -<p>
  -                             The DefaultAccessController configuration 
includes the configuration
  -                             of its sub-components, as you see in the 
following example:
  -                     </p>
  -<pre class="code">&lt;component logger="lenya.ac.accesscontroller.global"
  -    class="org.apache.lenya.cms.ac2.DefaultAccessController"
  -    role="org.apache.lenya.cms.ac2.AccessController/global"&gt;
  -    
  -  &lt;accreditable-manager type="file"&gt;
  -    &lt;parameter name="directory"
  -        value="context:///lenya/config/ac/passwd"/&gt;
  -  &lt;/accreditable-manager&gt;
  -  
  -  &lt;policy-manager type="file"/&gt;
  -  
  -  &lt;authorizer type="policy"/&gt;
  -  &lt;authorizer type="workflow"/&gt;
  -  &lt;authorizer type="usecase"/&gt;
  -  
  -&lt;/component&gt;</pre>
  -</div>
  +<pre class="code">&lt;component logger="lenya.ac.accesscontroller.default"
  +    class="org.apache.lenya.ac.impl.DefaultAccessController"
  +    role="org.apache.lenya.ac.AccessController/default"/&gt;</pre>
   </div>
   
   
  -<a name="N1021E"></a><a name="Bypassable+Access+Controller"></a>
  +<a name="N10226"></a><a name="Bypassable+Access+Controller"></a>
   <h3>Bypassable Access Controller</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The BypassableAccessController is a DefaultAccessController that can be
  +<p>The <em>BypassableAccessController</em> is a 
<em>DefaultAccessController</em> that can be
                bypassed for certain URL patterns. For URLs that match those 
patterns
                (regular expressions), access is granted for free.</p>
  -<a name="N10227"></a><a 
name="Declaring+an+DefaultAccessController+in+cocoon.xconf-N10224"></a>
  -<h4>Declaring an DefaultAccessController in cocoon.xconf</h4>
  -<div style="margin-left: 0 ; border: 2px">
   <p>
  -                             In addition to the DefaultAccessController, the 
BypassableAccessController
  -                             allows the definition of a regular expresssion 
for the public URL
  +                             The <em>BypassableAccessController</em>
  +                             allows the definition of a regular expression 
for the public URL
                                patterns:
                        </p>
  -<pre class="code">&lt;component logger="lenya.ac.accesscontroller.global"
  -    class="org.apache.lenya.cms.ac2.BypassableAccessController"
  -    role="org.apache.lenya.cms.ac2.AccessController/global"&gt;
  -  ...
  +<pre class="code">&lt;component logger="lenya.ac.accesscontroller.bypassable"
  +    class="org.apache.lenya.ac.impl.BypassableAccessController"
  +    role="org.apache.lenya.ac.AccessController/bypassable"&gt;
     &lt;public&gt;.*[.]css|.*[.]jpg|.*[.]gif&lt;/public&gt;
   &lt;/component&gt;</pre>
  -</div>
   </div>
   
   
  
  
  
  1.2       +52 -44    
cocoon-site/site/lenya/docs/components/accesscontrol/accesscontrollerresolvers.pdf
  
        <<Binary file>>
  
  
  1.2       +90 -65    
cocoon-site/site/lenya/docs/components/accesscontrol/authorizers.pdf
  
        <<Binary file>>
  
  
  1.2       +111 -132  
cocoon-site/site/lenya/docs/components/accesscontrol/accesscontrollers.pdf
  
        <<Binary file>>
  
  
  1.2       +58 -32    
cocoon-site/site/lenya/docs/components/accesscontrol/terms.html
  
  Index: terms.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/terms.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- terms.html        17 Oct 2003 20:10:17 -0000      1.1
  +++ terms.html        21 Jan 2004 15:11:38 -0000      1.2
  @@ -172,11 +172,14 @@
   <a href="authorizers.html">Authorizers</a>
   </div>
   <div class="menuitem">
  -<a href="policymanagers.html">Policy&nbsp;Managers</a>
  +<a href="policymanagers.html">Policies and Policy&nbsp;Managers</a>
   </div>
   <div class="menuitem">
   <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -215,30 +218,42 @@
   <a name="N101C9"></a><a name="Role"></a>
   <h3>Role</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>Roles are the connection between access control and CMS functionality. On
  -             the access control side, you assign roles to users, IP address 
ranges and
  -             groups at certain URL spaces. On the CMS side, you define which 
roles are
  -             needed to execute certain usecases and workflow transitions.</p>
  -<p>Examples of roles are</p>
  +<p>
  +<em>Role</em>s are the connection between access control and CMS 
functionality. On
  +             the access control side, you assign <em>Role</em>s to users, IP 
address ranges and
  +             groups at certain URL spaces. On the CMS side, you define which 
<em>Role</em>s are
  +             needed to execute certain usecases and workflow transitions. If 
the client has a certain
  +             <em>Role</em>, this means he is allowed to do something.</p>
  +<p>Each <em>Role</em> has a unique name. Role names can be arbitrary 
strings. Examples are</p>
   <ul>
                
   <li>author</li>
                
  -<li>editor</li>
  +<li>reviewer</li>
                
   <li>admin</li>
        
   </ul>
  +<p>Another common approach and useful is to use verbs as role names:</p>
  +<ul>
  +             
  +<li>edit</li>
  +             
  +<li>review</li>
  +             
  +<li>administrate</li>
  +     
  +</ul>
   </div>
   
   
   
  -<a name="N101E2"></a><a name="Identifiable"></a>
  +<a name="N101FF"></a><a name="Identifiable"></a>
   <h3>Identifiable</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An Identifiable is a characteristic of the client that can be identified.
  -             Every Identifiable is Accreditable. Lenya currently supports 
the following
  -             identifiables:</p>
  +<p>An <em>Identifiable</em> is a characteristic of the client that can be 
identified.
  +             Every <em>Identifiable</em> is <em>Accreditable</em>. Lenya 
currently supports the following
  +             <em>Identifiable</em>s:</p>
   <ul>
                
   <li>users</li>
  @@ -253,24 +268,34 @@
   
   
   
  -<a name="N101F8"></a><a name="Identity"></a>
  +<a name="N10221"></a><a name="Identity"></a>
   <h3>Identity</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An Identity is the collection of all Identifiables that have access to the
  -             system in the current session. The identity always contains the 
world and
  +<p>An <em>Identity</em> is the collection of all <em>Identifiable</em>s
  +       that have access to the
  +             system in the current session. The <em>Identity</em> always 
contains the world and
                the machine that produced the request. If you logged in, the 
user is also
  -             contained in the identity.</p>
  +             contained in the <em>Identity</em>.</p>
   <p>For instance, if you log in from the machine 192.168.0.16 as the user 
john,
  -             your identity contains this machine, this user and the 
world.</p>
  +             the <em>Identity</em> of the client contains</p>
  +<ul>
  +    
  +<li>the machine 192.168.0.16,</li>
  +    
  +<li>the user john, and</li>
  +    
  +<li>the world.</li>
  +  
  +</ul>
   </div>
   
   
   
  -<a name="N10205"></a><a name="Accreditable"></a>
  +<a name="N10248"></a><a name="Accreditable"></a>
   <h3>Accreditable</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>An Accreditable can be accredited with roles at URLs. Lenya currently
  -             supports the following accreditables:</p>
  +<p>An <em>Accreditable</em> can be accredited with <em>Role</em>s in 
<em>Policies</em>.
  +     Lenya currently supports the following <em>Accreditable</em>s:</p>
   <ul>
                
   <li>users</li>
  @@ -288,15 +313,16 @@
   
   
   
  -<a name="N10221"></a><a name="Credential"></a>
  +<a name="N1026F"></a><a name="Credential"></a>
   <h3>Credential</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>A Credential assigns a set of Roles to an Accreditable, e.g.:</p>
  +<p>A <em>Credential</em> assigns a set of <em>Role</em>s to an 
<em>Accreditable</em>, e.g.:</p>
   <ul>
                
   <li>
  -<span class="codefrag">news_editors: editor, reviewer</span> means "The 
group 
  -                     <span class="codefrag">news_editors</span> has the 
roles <span class="codefrag">editor</span> and <span class="codefrag">
  +<span class="codefrag">news_editors: editor, reviewer</span>
  +<br> means "The group 
  +                     <span class="codefrag">news_editors</span> has the 
<em>Role</em>s <span class="codefrag">editor</span> and <span class="codefrag">
                        reviewer</span>."</li>
        
   </ul>
  @@ -304,12 +330,12 @@
   
   
   
  -<a name="N1023C"></a><a name="Policy"></a>
  +<a name="N10297"></a><a name="Policy"></a>
   <h3>Policy</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>A Policy defines a set of Credentials for a certain URL. It has the
  -             responsibility to return all Roles of an Accreditable at a 
certain URL.</p>
  -<p>If for instance the policy for the URL /tv/news contains the 
credentials</p>
  +<p>A <em>Policy</em> defines a set of <em>Credential</em>s for a certain 
URL. It has the
  +             responsibility to return all <em>Role</em>s of an 
<em>Accreditable</em> at a certain URL.</p>
  +<p>If for instance the <em>Policy</em> for the URL /tv/news contains the 
<em>Credential</em>s</p>
   <ul>
                
   <li>
  @@ -332,14 +358,14 @@
        
   </ul>
   <p>and user <span class="codefrag">john</span> belongs to the group <span 
class="codefrag">news_editors</span> 
  -             and has logged in from the machine <span 
class="codefrag">192.168.0.72</span>, the policy
  -             returns the role set <span class="codefrag">editor, reviewer, 
admin, visitor</span> for the
  -             accreditable <span class="codefrag">john</span>.</p>
  -<p>A policy may not contain invalid accreditables. E.g., if a user is deleted
  +             and has logged in from the machine <span 
class="codefrag">192.168.0.72</span>, the <em>Policy</em>
  +             returns the <em>Role</em>s <span class="codefrag">editor, 
reviewer, admin, visitor</span> for the
  +             <em>Accreditable</em> <span class="codefrag">john</span>.</p>
  +<p>A <em>Policy</em> may not contain invalid <em>Accreditable</em>s.
  +       E.g., if a user is deleted
                and another user with the same ID is created, he may not get 
the same
                privileges as the former one.</p>
   </div>
  -
   
     
   </div>
  
  
  
  1.2       +36 -28    
cocoon-site/site/lenya/docs/components/accesscontrol/accreditablemanagers.pdf
  
        <<Binary file>>
  
  
  1.2       +132 -29   
cocoon-site/site/lenya/docs/components/accesscontrol/policymanagers.html
  
  Index: policymanagers.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/accesscontrol/policymanagers.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- policymanagers.html       17 Oct 2003 20:10:17 -0000      1.1
  +++ policymanagers.html       21 Jan 2004 15:11:38 -0000      1.2
  @@ -2,7 +2,7 @@
   <html>
   <head>
   <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  -<title>Policy Managers</title>
  +<title>Policies and Policy Managers</title>
   <link type="text/css" href="../../../skin/page.css" rel="stylesheet">
   </head>
   <body text="#000000" bgcolor="#FFFFFF">
  @@ -152,28 +152,34 @@
   <a href="authorizers.html">Authorizers</a>
   </div>
   <div class="menupage">
  -<div class="menupagetitle">Policy&nbsp;Managers</div>
  +<div class="menupagetitle">Policies and Policy&nbsp;Managers</div>
   <div class="menupageitemgroup">
   <div class="menupageitem">
  -<a href="#Introduction">Introduction</a>
  +<a href="#Policies">Policies</a>
   </div>
   <div class="menupageitem">
  -<a href="#InheritingPolicyManager">InheritingPolicyManager</a>
  +<a href="#Policy+Managers">Policy Managers</a>
   </div>
   <div class="menupageitem">
  -<a href="#FilePolicyManager">FilePolicyManager</a>
  +<a href="#Inheriting+Policy+Manager">Inheriting Policy Manager</a>
   </div>
   <div class="menupageitem">
  -<a href="#PublicationFilePolicyManager">PublicationFilePolicyManager</a>
  +<a href="#File+Policy+Manager">File Policy Manager</a>
   </div>
   <div class="menupageitem">
  -<a href="#SitemapPolicyManager">SitemapPolicyManager</a>
  +<a href="#Document+Policy+Manager+Wrapper">Document Policy Manager 
Wrapper</a>
  +</div>
  +<div class="menupageitem">
  +<a href="#Sitemap+Policy+Manager">Sitemap Policy Manager</a>
   </div>
   </div>
   </div>
   <div class="menuitem">
   <a href="accreditablemanagers.html">Accreditable&nbsp;Managers</a>
   </div>
  +<div class="menuitem">
  +<a href="faq.html">FAQ</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -202,26 +208,65 @@
   <table cellspacing="0" cellpadding="0" class="title">
   <tr>
   <td valign="middle">
  -<h1>Policy Managers</h1>
  +<h1>Policies and Policy Managers</h1>
   </td><td nowrap="nowrap" width="40" align="center"><a class="dida" 
href="policymanagers.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" 
border="0"><br>
             PDF</a></td>
   </tr>
   </table>
  +    
  +
  +<a name="N101C9"></a><a name="Policies"></a>
  +<h3>Policies</h3>
  +<div style="margin-left: 0 ; border: 2px">
  +<p>
  +  A <span class="codefrag">Policy</span> assigns <span 
class="codefrag">Role</span>s to <span class="codefrag">Accreditable</span>s.
  +</p>
  +<p>
  +  There is a common policy definition XML schema which is handled by the
  +  <span class="codefrag">PolicyBuilder</span>. It can be used together with 
the
  +  <span class="codefrag">FilePolicyManager</span> and the <span 
class="codefrag">SitemapPolicyManager</span>.
  +</p>
  +<p>Here is an example of a policy definition:</p>
  +<pre class="code">
  +&lt;policy xmlns="http://apache.org/cocoon/lenya/ac/1.0"&gt;
  +
  +  &lt;user id="lenya"&gt;
  +    &lt;role id="editor"/&gt;
  +    &lt;role id="reviewer"/&gt;
  +  &lt;/group&gt;
  +
  +  &lt;group id="reviewer"&gt;
  +    &lt;role id="reviewer"/&gt;
  +  &lt;/group&gt;
  +  
  +  &lt;ip-range id="localhost"&gt;
  +    &lt;role id="editor"/&gt;
  +  &lt;/ip-range&gt;
  +  
  +  &lt;world&gt;
  +    &lt;role id="visitor"/&gt;
  +  &lt;/world&gt;
  +
  +&lt;/policy&gt; 
  +</pre>
  +</div>
        
   
  -<a name="N101C9"></a><a name="Introduction"></a>
  -<h3>Introduction</h3>
  +<a name="N101EF"></a><a name="Policy+Managers"></a>
  +<h3>Policy Managers</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>A PolicyManager is used to resolve the policy for a certain URL. Lenya 
ships with the following PolicyManagers:</p>
  +<p>A <em>PolicyManager</em> is used to resolve the policy for a certain URL.
  +     Lenya ships with the following <em>PolicyManager</em>s:</p>
   </div>
        
        
  -<a name="N101D3"></a><a name="InheritingPolicyManager"></a>
  -<h3>InheritingPolicyManager</h3>
  +<a name="N101FF"></a><a name="Inheriting+Policy+Manager"></a>
  +<h3>Inheriting Policy Manager</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>This PolicyManager merges the policies of all steps in the URL. For each
  +<p>This is an abstract base class. It merges the policies
  +               of all steps in the URL. For each
                        URL, a <em>url policy</em> and a <em>subtree 
policy</em> can be defined.
  -                     The InheritingPolicyManager adds the credentials of</p>
  +                     The <em>InheritingPolicyManager</em> adds the 
credentials of</p>
   <ul>
                        
   <li>the subtree policies for all parent directories of the requested 
page,</li>
  @@ -244,43 +289,101 @@
   <li>subtree policy of <span class="codefrag">/lenya/news</span>
   </li>
                        
  -<li>subtree policy of <span class="codefrag">/lenya/news/index</span>
  +<li>subtree policy of <span class="codefrag">/lenya/news/index.html</span>
   </li>
                        
  -<li>url policy of <span class="codefrag">/lenya/news/index</span>
  +<li>url policy of <span class="codefrag">/lenya/news/index.html</span>
   </li>
                
   </ul>
   </div>
        
        
  -<a name="N10211"></a><a name="FilePolicyManager"></a>
  -<h3>FilePolicyManager</h3>
  +<a name="N10240"></a><a name="File+Policy+Manager"></a>
  +<h3>File Policy Manager</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The FilePolicyManager is an InheritingPolicyManager. The policies are 
defined by policy files that are arranged as a directory tree that reflects the 
URI space, e.g.:
  +<p>The <em>FilePolicyManager</em> is an <em>InheritingPolicyManager</em>.
  +             The policies are defined by policy files that are arranged as a
  +             directory tree that reflects the URI space, e.g.:
                        </p>
   <pre class="code">/subtree-policy.acml
   /lenya/subtree-policy.acml
   /lenya/news/index.html/subtree-policy.acml
   /lenya/news/index.html/url-policy.acml</pre>
   <p>If a certain policy file does not exist (like /lenya/news in the above 
example), an empty policy is used instead.</p>
  +<p>The <em>FilePolicyManager</em> needs a <span 
class="codefrag">directory</span> parameter
  +                     which contains a URL pointing to the policies 
directory:</p>
  +<pre class="code">&lt;policy-manager type="file"&gt;
  +  &lt;parameter name="directory"
  +      value="context:///lenya/pubs/mypub/config/ac/policies"/&gt;
  +&lt;/policy-manager&gt;</pre>
   </div>
        
        
  -<a name="N10223"></a><a name="PublicationFilePolicyManager"></a>
  -<h3>PublicationFilePolicyManager</h3>
  +<a name="N10266"></a><a name="Document+Policy+Manager+Wrapper"></a>
  +<h3>Document Policy Manager Wrapper</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>This PolicyManager does the same as the FilePolicyManager, except that
  -                     the current publication is determined and the policy 
files are resolved
  -                     relatively to the <span 
class="codefrag">publication/config/ac/policies</span> directory.</p>
  +<p>This <em>InheritingPolicyManager</em> subclass is used together with 
another
  +             <em>InheritingPolicyManager.</em>
  +               It is able to apply a single policy to all versions of a 
document
  +               (languages, print version, ...). E.&nbsp;g., if you define
  +             </p>
  +<ul>
  +<li>
  +<span class="codefrag">/foo/bar/subtree-policy.xml</span>
  +</li>
  +</ul>
  +<p>
  +               and you use the <em>DefaultDocumentBuilder</em>,
  +               this policy is applied to the URLs
  +             </p>
  +<ul>
  +               
  +<li>
  +<span class="codefrag">/foo/bar.html</span>
  +</li>
  +               
  +<li>
  +<span class="codefrag">/foo/bar_de.html</span>
  +</li>
  +               
  +<li>
  +<span class="codefrag">/foo/bar_en.print.html</span>
  +</li>
  +               
  +<li>...</li>
  +             
  +</ul>
  +<p>To configure the <em>DefaultDocumentBuilder</em>, just put the
  +             declaration of the wrapped <em>PolicyManager</em> inside the
  +             <em>DefaultDocumentBuilder</em> declaration:</p>
  +<pre class="code">&lt;policy-manager type="document"&gt;
  +  &lt;policy-manager type="file"&gt;
  +    &lt;parameter name="directory"
  +        value="context:///lenya/pubs/mypub/config/ac/policies"/&gt;
  +  &lt;/policy-manager&gt;
  +&lt;/policy-manager&gt;</pre>
   </div>
        
        
  -<a name="N10230"></a><a name="SitemapPolicyManager"></a>
  -<h3>SitemapPolicyManager</h3>
  +<a name="N102A4"></a><a name="Sitemap+Policy+Manager"></a>
  +<h3>Sitemap Policy Manager</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The SitemapPolicyManager uses the policy sitemap to resolve the policy
  -                     for a certain URL.</p>
  +<p>The <em>SitemapPolicyManager</em> uses the policy sitemap to resolve the 
policy
  +                     for a certain URL. For this purpose it sends a request 
of the form
  +    </p>
  +<pre class="code">cocoon://{publication-id}/policies{url}.acml
  +
  +Example:
  +cocoon://mypub/policies/authoring/foo/bar_de.html.acml
  +</pre>
  +<p>
  +                     which is processed by <span 
class="codefrag">global-sitemap.xmap</span> and forwarded
  +                     to <span 
class="codefrag">lenya/pubs/{publication-id}/policies-sitemap.xmap</span>.
  +                     The request is supposed to return a valid policy XML 
document.
  +     </p>
  +<p>The configuration of the <em>SitemapPolicyManager</em> is very simple:</p>
  +<pre class="code">&lt;policy-manager type="sitemap"/&gt;</pre>
   </div>
                
     
  
  
  
  1.2       +36 -28    
cocoon-site/site/lenya/docs/components/accesscontrol/authenticators.pdf
  
        <<Binary file>>
  
  
  1.2       +3 -0      
cocoon-site/site/lenya/docs/components/layout/static-resources.html
  
  Index: static-resources.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/layout/static-resources.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- static-resources.html     17 Oct 2003 20:19:56 -0000      1.1
  +++ static-resources.html     21 Jan 2004 15:11:38 -0000      1.2
  @@ -150,6 +150,9 @@
   </div>
   </div>
   </div>
  +<div class="menuitem">
  +<a href="lenya-menubar.html">Lenya Menubar</a>
  +</div>
   </div>
   </div>
   </div>
  
  
  
  1.2       +3 -0      
cocoon-site/site/lenya/docs/components/layout/xhtml-templating.html
  
  Index: xhtml-templating.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/layout/xhtml-templating.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xhtml-templating.html     17 Oct 2003 20:19:56 -0000      1.1
  +++ xhtml-templating.html     21 Jan 2004 15:11:38 -0000      1.2
  @@ -150,6 +150,9 @@
   <div class="menuitem">
   <a href="static-resources.html">Serving static resources</a>
   </div>
  +<div class="menuitem">
  +<a href="lenya-menubar.html">Lenya Menubar</a>
  +</div>
   </div>
   </div>
   </div>
  
  
  
  1.2       +3 -0      
cocoon-site/site/lenya/docs/components/layout/navigation.html
  
  Index: navigation.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/layout/navigation.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- navigation.html   17 Oct 2003 20:19:55 -0000      1.1
  +++ navigation.html   21 Jan 2004 15:11:38 -0000      1.2
  @@ -159,6 +159,9 @@
   <div class="menuitem">
   <a href="static-resources.html">Serving static resources</a>
   </div>
  +<div class="menuitem">
  +<a href="lenya-menubar.html">Lenya Menubar</a>
  +</div>
   </div>
   </div>
   </div>
  
  
  
  1.2       +44 -44    
cocoon-site/site/lenya/docs/components/uri-handling/URIParametrizer.pdf
  
        <<Binary file>>
  
  
  1.2       +36 -9     
cocoon-site/site/lenya/docs/components/uri-handling/usecases.html
  
  Index: usecases.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/uri-handling/usecases.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- usecases.html     17 Oct 2003 20:24:15 -0000      1.1
  +++ usecases.html     21 Jan 2004 15:11:38 -0000      1.2
  @@ -583,11 +583,11 @@
         
   <tr>
           
  -<td colspan="1" rowspan="1">Resource upload</td>
  -        <td colspan="1" rowspan="1">upload</td>
  +<td colspan="1" rowspan="1">Asset upload</td>
  +        <td colspan="1" rowspan="1">aset</td>
           <td colspan="1" rowspan="1">showscreen</td>
           <td colspan="1" rowspan="1">Show a form allowing to specify the 
parameters for
  -          uploading of a resource</td>
  +          uploading of an asset</td>
         
   </tr>
         
  @@ -596,7 +596,34 @@
   <td colspan="1" rowspan="1"></td>
           <td colspan="1" rowspan="1"></td>
           <td colspan="1" rowspan="1">upload</td>
  -        <td colspan="1" rowspan="1">Upload the resource</td>
  +        <td colspan="1" rowspan="1">Upload the asset</td>
  +      
  +</tr>
  +      
  +<tr>
  +        
  +<td colspan="1" rowspan="1"></td>
  +        <td colspan="1" rowspan="1"></td>
  +        <td colspan="1" rowspan="1">insert</td>
  +        <td colspan="1" rowspan="1">Insert an already uploaded asset</td>
  +      
  +</tr>
  +      
  +<tr>
  +        
  +<td colspan="1" rowspan="1"></td>
  +        <td colspan="1" rowspan="1"></td>
  +        <td colspan="1" rowspan="1">upload-and-insert</td>
  +        <td colspan="1" rowspan="1">Upload and insert an asset</td>
  +      
  +</tr>
  +      
  +<tr>
  +        
  +<td colspan="1" rowspan="1"></td>
  +        <td colspan="1" rowspan="1"></td>
  +        <td colspan="1" rowspan="1">remove</td>
  +        <td colspan="1" rowspan="1">Remove a previously uploaded asset</td>
         
   </tr>
          
  @@ -783,10 +810,10 @@
   </div>
   
     
  -<a name="N106DD"></a><a name="Use+cases"></a>
  +<a name="N1071C"></a><a name="Use+cases"></a>
   <h3>Use cases</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<a name="N106E3"></a><a name="Resource+upload"></a>
  +<a name="N10722"></a><a name="Resource+upload"></a>
   <h4>Resource upload</h4>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  @@ -868,7 +895,7 @@
         
   </table>
   </div>
  -<a name="N10784"></a><a name="Create"></a>
  +<a name="N107C3"></a><a name="Create"></a>
   <h4>Create</h4>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  @@ -926,7 +953,7 @@
         
   </table>
   </div>
  -<a name="N107F9"></a><a name="Rollback"></a>
  +<a name="N10838"></a><a name="Rollback"></a>
   <h4>Rollback</h4>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  @@ -960,7 +987,7 @@
         
   </table>
   </div>
  -<a name="N1083B"></a><a name="View+Logs"></a>
  +<a name="N1087A"></a><a name="View+Logs"></a>
   <h4>View Logs</h4>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  
  
  
  1.2       +136 -119  
cocoon-site/site/lenya/docs/components/uri-handling/usecases.pdf
  
        <<Binary file>>
  
  
  1.2       +3 -3      
cocoon-site/site/lenya/docs/components/uri-handling/URIParametrizer.html
  
  Index: URIParametrizer.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/uri-handling/URIParametrizer.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- URIParametrizer.html      17 Oct 2003 20:24:16 -0000      1.1
  +++ URIParametrizer.html      21 Jan 2004 15:11:39 -0000      1.2
  @@ -191,7 +191,7 @@
   <a name="N101CF"></a><a name="Motivation"></a>
   <h3>Motivation</h3>
   <div style="margin-left: 0 ; border: 2px">
  -<p>The problem of <a href="site_siteTree.html">determining the doctype</a>
  +<p>The problem of <a href="../publication/sitetree.html">determining the 
doctype</a>
         independent of request URI needs a flexible and yet simple
         solution. This is where the URI Parametrizer comes to the
         rescue.</p>
  @@ -286,7 +286,7 @@
   &lt;/map:sitemap&gt;</pre>
   <p>A more serious example could possibly include matchers
        using the SourceTypeAction from the Forrest Project or a
  -     HashMapAction as outlined in the <a href="site_siteTree.html">SiteTree 
proposal</a>.</p>
  +     HashMapAction as outlined in the <a 
href="../publication/sitetree.html">SiteTree proposal</a>.</p>
   <p>After a match has been found the pipeline in the parameter
        sitemap returns an XML snippet in the following form:</p>
   <pre class="code">
  @@ -300,7 +300,7 @@
        parameters to the action.</p>
   </div>
   <p>The fact that the actual determination is delegated back to
  -      the sitemap allows for a combination of the <a 
href="site_siteTree.html">original proposals</a> where
  +      the sitemap allows for a combination of the <a 
href="../publication/sitetree.html">original proposals</a> where
         solutions such as Hashmap and SourceTypeAction were
         outlined.</p>
   </div>
  
  
  
  1.2       +9 -0      cocoon-site/site/lenya/docs/components/editors/bxeng.html
  
  Index: bxeng.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/editors/bxeng.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- bxeng.html        17 Oct 2003 20:16:48 -0000      1.1
  +++ bxeng.html        21 Jan 2004 15:11:39 -0000      1.2
  @@ -139,6 +139,9 @@
   <div class="menuitem">
   <a href="htmlform.html">HTML Form Editor</a>
   </div>
  +<div class="menuitem">
  +<a href="1form.html">HTML One Form Editor</a>
  +</div>
   <div class="menupage">
   <div class="menupagetitle">Bitflux Editor</div>
   <div class="menupageitemgroup">
  @@ -149,6 +152,12 @@
   <a href="#Namespace+declaration">Namespace declaration</a>
   </div>
   </div>
  +</div>
  +<div class="menuitem">
  +<a href="epoz.html">Epoz</a>
  +</div>
  +<div class="menuitem">
  +<a href="xopus.html">Xopus</a>
   </div>
   </div>
   </div>
  
  
  
  1.2       +9 -0      
cocoon-site/site/lenya/docs/components/editors/htmlform.html
  
  Index: htmlform.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/editors/htmlform.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- htmlform.html     17 Oct 2003 20:16:49 -0000      1.1
  +++ htmlform.html     21 Jan 2004 15:11:39 -0000      1.2
  @@ -145,7 +145,16 @@
   </div>
   </div>
   <div class="menuitem">
  +<a href="1form.html">HTML One Form Editor</a>
  +</div>
  +<div class="menuitem">
   <a href="bxeng.html">Bitflux Editor</a>
  +</div>
  +<div class="menuitem">
  +<a href="epoz.html">Epoz</a>
  +</div>
  +<div class="menuitem">
  +<a href="xopus.html">Xopus</a>
   </div>
   </div>
   </div>
  
  
  
  1.2       +34 -34    
cocoon-site/site/lenya/docs/components/uri-handling/images/live/URIParametrizer.png
  
        <<Binary file>>
  
  
  1.2       +27 -2     cocoon-site/site/lenya/docs/components/search/lucene.html
  
  Index: lucene.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/search/lucene.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- lucene.html       17 Oct 2003 20:20:14 -0000      1.1
  +++ lucene.html       21 Jan 2004 15:11:39 -0000      1.2
  @@ -151,6 +151,9 @@
   <div class="menupageitem">
   <a href="#Creating+an+index+from+the+command+line">Creating an index from 
the command line</a>
   </div>
  +<div class="menupageitem">
  +<a href="#Extract+text+from+a+PDF+document">Extract text from a PDF 
document</a>
  +</div>
   </div>
   </div>
   </div>
  @@ -237,7 +240,7 @@
   <div style="margin-left: 0 ; border: 2px">
   <pre class="code">
   
  -ant -f src/webapp/lenya/bin/crawl_and_index.xml 
-Dcrawler.xconf=/home/michi/src/cocoon-lenya/src/webapp/lenya/pubs/default/config/search/crawler-live.xconf
 crawl
  +ant -f src/webapp/lenya/bin/crawl_and_index.xml 
-Dcrawler.xconf=/home/username/src/cocoon-lenya/src/webapp/lenya/pubs/default/config/search/crawler-live.xconf
 crawl
   
   </pre>
   </div>
  @@ -248,9 +251,31 @@
   <div style="margin-left: 0 ; border: 2px">
   <pre class="code">
   
  -ant -f src/webapp/lenya/bin/crawl_and_index.xml 
-Dlucene.xconf=/home/michi/src/cocoon-lenya/src/webapp/lenya/pubs/default/config/search/lucene-live.xconf
 index
  +ant -f src/webapp/lenya/bin/crawl_and_index.xml 
-Dlucene.xconf=/home/username/src/cocoon-lenya/src/webapp/lenya/pubs/default/config/search/lucene-live.xconf
 index
  +
  +</pre>
  +<p>
  +or
  +</p>
  +<pre class="code">
  +
  +/usr/local/j2sdk1.4.2/bin/java -classpath 
build/lenya/webapp/WEB-INF/classes:build/lenya/webapp/WEB-INF/lib/log4j-1.2.7.jar:build/lenya/webapp/WEB-INF/lib/xercesImpl-2.5.0.jar:build/lenya/webapp/WEB-INF/lib/xml-apis.jar:build/lenya/webapp/WEB-INF/lib/lucene-1.3.jar:build/lenya/webapp/WEB-INF/lib/excalibur-io-1.1.jar
 org.apache.lenya.lucene.index.Index 
src/webapp/lenya/pubs/oscom/config/search/lucene-cmfsMatrix.xconf true
  +
  +</pre>
  +</div>
  +
  +
  +<a name="N10221"></a><a name="Extract+text+from+a+PDF+document"></a>
  +<h3>Extract text from a PDF document</h3>
  +<div style="margin-left: 0 ; border: 2px">
  +<pre class="code">
  +
  +ant -f src/webapp/lenya/bin/crawl_and_index.xml 
-Dhtdocs.dump.dir=/home/username/src/cocoon-lenya/src/webapp/lenya/pubs/default/work/search/lucene/htdocs_dump
 xpdf
   
   </pre>
  +<p>
  +Also see the targets <span class="codefrag">pdfbox</span> and <span 
class="codefrag">pdfadobe</span>.
  +</p>
   </div>
   
   
  
  
  
  1.2       +51 -35    cocoon-site/site/lenya/docs/components/search/lucene.pdf
  
        <<Binary file>>
  
  
  1.2       +11 -11    
cocoon-site/site/lenya/docs/components/repository/webdav.html
  
  Index: webdav.html
  ===================================================================
  RCS file: 
/home/cvs/cocoon-site/site/lenya/docs/components/repository/webdav.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- webdav.html       17 Oct 2003 20:17:29 -0000      1.1
  +++ webdav.html       21 Jan 2004 15:11:39 -0000      1.2
  @@ -207,11 +207,11 @@
   <pre class="code">
   
   wget http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz
  -cd /home/michiii/src/mod_dav-1.0.3-1.3.6
  -./configure --with-apache=/home/michiii/src/apache_1.3.24
  +cd /usr/local/src/mod_dav-1.0.3-1.3.6
  +./configure --with-apache=/usr/local/src/apache_1.3.24
   make
   make install
  -cd /home/michiii/src/apache_1.3.24
  +cd /usr/local/src/apache_1.3.24
   find . -name "*dav*" -print
   ./configure --prefix=/usr/local/apache 
--activate-module=src/modules/dav/libdav.a
   (./configure --prefix=/usr/local/apache --enable-module=proxy 
--activate-module=src/modules/dav/libdav.a)
  @@ -226,8 +226,8 @@
   </p>
   <pre class="code">
   
  -DAVLockDB /home/michiii/build/apache/logs/DavLock
  -&lt;Directory "/home/michiii/build/apache/htdocs"&gt;
  +DAVLockDB /usr/local/apache/logs/DavLock
  +&lt;Directory "/usr/local/build/apache/htdocs"&gt;
   Dav On
   
   </pre>
  @@ -261,10 +261,10 @@
   </p>
   <pre class="code">
   
  -./configure --prefix=/home/michiii/build/apache2 --with-dav --enable-dav
  +./configure --prefix=/usr/local/apache2 --with-dav --enable-dav
   make 
   make install
  -/home/michiii/build/apache2/bin/httpd -l | grep dav
  +/usr/local/apache2/bin/httpd -l | grep dav
   
   </pre>
   <p>
  @@ -272,8 +272,8 @@
   </p>
   <pre class="code">
   
  -DAVLockDB /home/michiii/build/apache2/logs/DavLock
  -&lt;Directory "/home/michiii/build/apache2/htdocs"&gt;
  +DAVLockDB /usr/local/apache2/logs/DavLock
  +&lt;Directory "/usr/local/apache2/htdocs"&gt;
   Dav On
   &lt;/Directory&gt;
   
  @@ -330,7 +330,7 @@
   <pre class="code">
   
   &lt;contentstore classname="slidestore.reference.FileContentStore"&gt;
  -  &lt;parameter 
name="rootpath"&gt;/home/michiii/build/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/lenya/pubs/notimes/content/authoring/articles&lt;/parameter&gt;
  +  &lt;parameter 
name="rootpath"&gt;/usr/local/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/lenya/pubs/notimes/content/authoring/articles&lt;/parameter&gt;
     ...
   
   </pre>
  @@ -355,7 +355,7 @@
   <div style="margin-left: 0 ; border: 2px">
   <pre class="code">
   
  -cd /home/michiii/build/axis-1_1RC2
  +cd /usr/local/axis-1_1RC2
   java -cp lib/axis.jar org.apache.axis.utils.tcpmon
   
   Enter "Listen Port# 3333" for instance
  
  
  
  1.2       +174 -187  
cocoon-site/site/lenya/docs/components/repository/webdav.pdf
  
        <<Binary file>>
  
  

Reply via email to