ozeigermann    2004/01/12 03:19:09

  Modified:    src/doc  project.xml architecture.xml index.xml
               src/share/org/apache/slide slide.properties
               src/share/org/apache/slide/lock package.html
               src/share/org/apache/slide/content package.html
               src/share/org/apache/slide/store ParentStore.java
               src/doc/stylesheets slide.xsl
               src/share/org/apache/slide/security package.html
  Removed:     src/wrappers/wrappers/catalina/conf/slide slide.def
                        slide.data slide.conf
               src/admin/org/apache/slide/admin/users
                        RemoveUsersAction.java AddUserAction.java
                        EditUserAction.java SaveUserAction.java
                        UserForm.java UsersForm.java
               src/contrib/webdavgui/src/bin runui.sh runui.bat
               src/taglib/struts/org/apache/slide/taglib/tag/struts
                        StrutsTagUtils.java PropertyTag.java
                        ContentTag.java RevisionTag.java NamespaceTei.java
                        DomainTei.java NamespaceTag.java RevisionTei.java
                        DomainTag.java IterateLocksTag.java NodeTag.java
                        NodeTei.java PropertyTei.java
                        IterateMembersTag.java
               src/examples/taglib readme.txt struts-example.jsp
               src/contrib/webdavgui/src/images unknown.gif docs.gif
                        openFile.gif folderInRed.gif docsInRed.gif
                        closeFile.gif folder.gif
               src/wrappers/wrappers/jmx NamespaceConfigMBean.java
                        NamespaceMBean.java DomainMBean.java SlideJMX.java
                        mbeans-descriptors.xml
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/dir
                        SPWebFolder.java SPDirectoryService.java
                        SPResourceNode.java SPFile.java SPWebFile.java
               src/taglib/jstl/org/apache/slide/taglib/tag/jstl
                        SetNodeTag.java NodeTag.java NamespaceTag.java
                        JstlTagUtils.java ContentTag.java
                        ForEachMemberTag.java ForEachAncestorTag.java
                        PropertyTag.java DomainTag.java SetRevisionTag.java
                        RevisionTag.java SetDomainTag.java
                        ForEachLockTag.java SetNamespaceTag.java
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/methods
                        SPLockMethod.java SPCopyMethod.java
                        SPHeadMethod.java SPMoveMethod.java
                        SPGetMethod.java SPPropFindMethod.java
                        SPPutMethod.java SPPostMethod.java
                        SPWebdavMethod.java SPMkcolMethod.java
                        SPOptionsMethod.java SPPropPatchMethod.java
                        SPUnlockMethod.java SPDeleteMethod.java
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser
                        SPFileFilter.java SPFileChooser.java
                        SPFileView.java SPFileSystemView.java
               src/taglib slide-struts.tld slide-jstl.tld
               src/doc  version.xml struts-taglib.xml stores.xml
                        library.xml jstl-taglib.xml lock.xml release.xml
                        security.xml search.xml structure.xml status.xml
                        process.xml changelog.xml server.xml
                        howto-jdbcstore.xml macro.xml namespace.xml
               src/wrappers/wrappers/catalina AdminHostConfig.java web.xml
                        server.xml SlideHostConfig.java BaseHostConfig.java
                        slidemanager.xml SlideServerListener.java
                        slide-descriptors.xml WebdavHostConfig.java
                        SlideLogger.java
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/lab
                        MainFrame.java Launcher.java HostFrame.java
                        HostFrame_AboutBox.java
               src/taglib/common/org/apache/slide/taglib/tag
                        NamespaceTagSupport.java SetNodeTagSupport.java
                        ContentTagSupport.java SetNamespaceTagSupport.java
                        SetDomainTagSupport.java RevisionTagSupport.java
                        DomainTagSupport.java PropertyTagSupport.java
                        SetRevisionTagSupport.java NodeTagSupport.java
               src/examples/interceptors SimpleContentInterceptor.java
                        readme.txt
               src/examples example.bat example.sh
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/properties
                        CurrentUserPrivilegeSetProperty.java
                        SupportedPrivilegeSetProperty.java
                        LockdiscoveryProperty.java
                        GetcontentlengthProperty.java SPProperty.java
               src/wrappers/wrappers/catalina/root style.css index.jsp
               src/examples/version Domain.xml Test.java
               src/contrib/webdavgui/src/java/org/apache/webdav/ui
                        LoginFrame.java SPWebdavClient.java
               src/taglib/common/org/apache/slide/taglib/bean
                        NamespaceBean.java AbstractBean.java LockBean.java
                        NodeBean.java RevisionBean.java PropertyBean.java
                        DomainBean.java PermissionBean.java
               src/examples/multithread Test.java TestThread.java
               src/admin/org/apache/slide/admin/locks KillLocksAction.java
                        LocksForm.java
               src/taglib/common/org/apache/slide/taglib/util
                        MembersIterator.java Iterators.java
                        LocksIterator.java SingleObjectIterator.java
                        Scopes.java
               src/contrib/webdavgui build.properties.sample .cvsignore
                        build.xml
               src/wrappers/wrappers/catalina/root/WEB-INF/classes
                        slide-root.properties
               src/wrappers/wrappers/catalina/root/WEB-INF
                        struts-config.xml web.xml
               src/wrappers/wrappers/jndi SlideDirContext.java
               src/examples/xml Test.java Import.xml Domain.xml
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/resources
                        login.properties
               src/admin/org/apache/slide/admin AdminAction.java
               src/examples/SimpleWebdavServlet readme.txt
                        SimpleWebdavServlet.java
               src/contrib/taglib slide-struts.tld users.jsp
               src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/plafui
                        SPMetalFileChooserUI.java
                        SPWindowsFileChooserUI.java
               src/wrappers/wrappers/catalina/conf slide.xml
  Log:
  Removed broken / unmaintained sources:
  - contrib
  - examples
  - admin
  - tablib
  - wrappers/wrappers/jndi
  - wrappers/wrappers/jmx
  - wrappers/wrappers/catalina except for the authentication stuff
  
  Revision  Changes    Path
  1.22      +5 -32     jakarta-slide/src/doc/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/project.xml,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- project.xml       18 Nov 2003 15:36:24 -0000      1.21
  +++ project.xml       12 Jan 2004 11:19:07 -0000      1.22
  @@ -10,57 +10,30 @@
   
     <menu name="Main">
       <item name="Introduction" href="index.html"/>
  +    <item name="Architecture" href="architecture.html"/>
       <item name="News" href="news.html"/>
       <item name="Downloads" href="http://jakarta.apache.org/site/binindex.html"/>
  -    <item name="Status" href="status.html"/>
  -    <item name="Changelog" href="changelog.html"/>
       <item name="Contributors" href="contrib.html"/>
  -  </menu>
  -  <menu name="Resources">
  -    <item name="FAQ" href="http://faq.globalvision.com.au/"/>
       <item name="Mailing Lists" href="http://jakarta.apache.org/site/mail.html"/>
  -    <item name="Build Status" 
href="http://jakarta.apache.org/builds/gump/latest/jakarta-slide.html"/>
       <item name="CVS" href="http://jakarta.apache.org/site/cvsindex.html"/>
  -    <item name="Library" href="library.html"/>
     </menu>
     <menu name="User's Guide">
       <item name="Connecting with Windows XP" href="xp.html"/>
       <item name="Using MacOS X webdav_fs" href="osx.html"/>
  -    <item name="Server" href="server.html"/>
       <item name="Client" href="webdav-client.html"/>
     </menu>
     <menu name="Administrator's Guide">
       <item name="Installation" href="installation.html"/>
  +    <item name="Tomcat Bundle" href="howto-tomcat.html"/>
       <item name="Configuration" href="conf-lib.html"/>
  -  </menu>
  -  <menu name="HOW-TOs">
  -    <item name="Tomcat Howto" href="howto-tomcat.html"/>
  -    <item name="JDBC Stores Howto" href="howto-jdbcstore.html"/>
  -    <item name="J2EE Stores Howto" href="howto-j2eestore.html"/>
  -  </menu>
  -  <menu name="Programmer's Corner">
  -    <item name="Getting Started using Eclipse" href="getting-started.html"/>
       <item name="Understanding Domain.xml" href="config_file.html"/>
  -    <item name="Architecture" href="architecture.html"/>
       <item name="Domain" href="domain.html"/>
  -    <item name="Namespace" href="namespace.html"/>
  -    <item name="Examples" href="examples.html"/>
  -  </menu>
  -  <menu name="Slide API">
  -    <item name="Structure" href="structure.html"/>
  -    <item name="Security" href="security.html"/>
  -    <item name="Lock" href="lock.html"/>
  -    <item name="Content" href="version.html"/>
  -    <item name="Macro" href="macro.html"/>
  -    <item name="Index" href="search.html"/>
  -    <item name="Process" href="process.html"/>
  +    <item name="J2EE Integration" href="howto-j2eestore.html"/>
     </menu>
  -  <menu name="Reference">
  -    <item name="UML" href="uml/index.html"/>
  +  <menu name="Programmer's Corner">
  +    <item name="Getting Started using Eclipse" href="getting-started.html"/>
       <item name="JavaDoc" href="javadoc/index.html"/>
       <item name="WebDAV Client Javadoc" href="clientjavadoc/index.html"/>
  -    <item name="Tag Library (JSTL)" href="jstl-taglib.html"/>
  -    <item name="Tag Library (Struts)" href="struts-taglib.html"/>
     </menu>
   
     </body>
  
  
  
  1.8       +0 -46     jakarta-slide/src/doc/architecture.xml
  
  Index: architecture.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/architecture.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- architecture.xml  1 Aug 2002 07:17:13 -0000       1.7
  +++ architecture.xml  12 Jan 2004 11:19:07 -0000      1.8
  @@ -55,51 +55,5 @@
       
     </section>
     
  -  <section name="The Slide API">
  -    
  -    <subsection name="Content management">
  -      
  -      <p>
  -        The content management system is accessible through a set of Java 
  -        classes, called helpers, which encompass all the functionality a client
  -        application will want to access.
  -      </p>
  -      
  -      <p>
  -        The following helpers are provided :
  -        <ul>
  -        <li><b>structure</b> : Access to the namespace tree</li>
  -        <li><b>security</b> : Security functions</li>
  -        <li><b>lock</b> : Locking functionality</li>
  -        <li><b>content</b> : Manage object revisions, metadata and content</li>
  -        <li><b>macro</b> : Higher level object management functions</li>
  -        <li><b>index</b> : Indexing and searching functions (not implemented
  -          yet)</li>
  -        <li><b>process</b> : Handles approvals, confirmations, 
  -          notifications (not implemented yet)</li>
  -        </ul>
  -      </p>
  -      
  -      <p>
  -        More details on the helpers can be found on the appropriate section of 
  -        the documentation. The domain page also contains details on how to 
  -        access the helpers.
  -      </p>
  -      
  -    </subsection>
  -    
  -    <subsection name="WebDAV">
  -      
  -      <p>
  -        A client can access Slide remotely through WebDAV. A low-level client 
  -        library is provided within the Slide project, as well as administration
  -        tools. This interface will expand over time to provide expose virtually
  -        all the functionality of the content management API.
  -      </p>
  -      
  -    </subsection>
  -    
  -  </section>
  -  
     </body>
   </document>
  
  
  
  1.17      +22 -100   jakarta-slide/src/doc/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/index.xml,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- index.xml 18 Nov 2003 16:57:59 -0000      1.16
  +++ index.xml 12 Jan 2004 11:19:07 -0000      1.17
  @@ -4,43 +4,37 @@
   
     <properties>
           <author email="[EMAIL PROTECTED]">Remy Maucherat</author>
  +        <author email="[EMAIL PROTECTED]">Oliver Zeigermann</author>
           <title>The Jakarta Slide project</title>
       </properties>
   
     <body>
     
  -  <section name="Slide is alive!">
  -<p>Despite all rumors Slide is not only alive, but there
  -are efforts to finally bring out the 2.0 release!</p>
  -<p>Stay tuned, further updates and details in the news
  -section will follow
  -later!</p>
  -  </section>
  -
  -  <section name="Slide">
  -    <p>
  -      Welcome to the Jakarta Slide project! Slide is a project composed of multiple 
modules tied together using 
  -      WebDAV (see below for more details about WebDAV).
  -      
  -    </p>
  +  <section name="Overwiew">
       <p>
  -      It includes :
  -      <ul>
  -        <li>A content management system with a Java API</li>
  -        <li>A servlet implementing the WebDAV protocol on top of the content
  -          management system</li>
  -        <li>A Java WebDAV and HTTP client library</li>
  -        <li>A WebDAV command line client</li>
  -        <li>WebDAV enabled Swing components</li>
  -      </ul>
  -    </p>
  +      Welcome to the Jakarta Slide project! Slide is a content repository which can 
serve as a basis for a content
  +management system / framework and other purposes. It features:</p>
  +    <ul>
  +     <li>Full WebDAV Support</li>
  +     <li>Basic DeltaV WebDAV Versioning Support</li>
  +             <li>Support for a variety of backend systems for storing the content
  +including different databases and file system storage</li>
  +             <li>Transactions and Locking for data integrity</li>
  +             <li>Flexible control over permissions at a per file level via support 
for the 
  +WebDAV ACL</li>
  +        <li>DASL support for any backend, extensible for using backends search
  +capabilities for higher scalability and less latency</li>
  +        <li>Simple installation on any server supporting Servlet 2.3 and .war
  +deployment</li>
  +        <li>'ready-to-run' binary distribution for Tomcat</li>
  +        <li>A fully featured WebDAV client library and command line client</li>
  +    </ul>
     </section>
   
  -  <section name="Overview">
  +  <section name="Introduction">
   
       <p>
  -      The Slide project main module is a Content Management and Integration 
  -      System, which can be seen as a low-level <i>content management 
  +      The Slide project main module is a content repository, which can be seen as a 
low-level <i>content management 
         framework</i>.  Conceptually, it provides a hierarchical organization 
         of binary content which can be stored into arbitrary, heterogenous, 
         distributed data stores.  In addition, Slide integrates security,
  @@ -52,8 +46,7 @@
         requiring only small abstraction layers to be written for each 
         repository. That way, Slide can integrate the data
         from various physical locations in a hierachical and unified way.
  -      Slide uses can range from managing intranet application content (such as 
  -      the Exolab.org portal) to using it as a file server.
  +      Slide uses can range from managing intranet application content to using it 
as a file server.
       </p>
       
       <p>
  @@ -66,77 +59,6 @@
         using standard third party tools, along with the custom ones provided
         in the Slide distribution as additional tools.
       </p>
  -    
  -  </section>
  -  
  -  <section name="Main Features">
  -    
  -    <subsection name="Current Status">
  -      <p>
  -        This feature list does not represent the current feature list
  -        of Slide, but more the goals we intend to achieve.
  -      </p>
  -      <p>
  -        To see what the current state of each of these components is, please
  -        see the <a href="status.html">Status page</a>.
  -      </p>
  -    </subsection>
  -    
  -    <subsection name="Content Management">
  -    <p>
  -    <ul>
  -      <li>100% Pure Java</li>
  -      <li>Hierarchical object storage</li>
  -      <li>Data storage abstraction</li>
  -      <li>Distributable over a network</li>
  -      <li>User management</li>
  -      <li>Security</li>
  -      <li>Locking</li>
  -      <li>Versioning</li>
  -      <li>Indexing</li>
  -      <li>Searching</li>
  -      <li>Integrated process engine</li>
  -      <li>Manageable</li>
  -    </ul>
  -    </p>
  -    </subsection>
  -    
  -    <subsection name="WebDAV Servlet">
  -    <p>
  -    <ul>
  -      <li>WebDAV Level 2</li>
  -      <li>DAV ACL support</li>
  -      <li>Delta V support</li>
  -      <li>DASL support</li>
  -    </ul>
  -    </p>
  -    </subsection>
  -    
  -    <subsection name="WebDAV Client Library">
  -    <p>
  -    <ul>
  -      <li>100% Pure Java</li>
  -      <li>HTTP/1.1 support</li>
  -      <li>Easy to use object model</li>
  -      <li>WebDAV Level 2 support</li>
  -      <li>DAV ACL support</li>
  -      <li>Delta V support</li>
  -      <li>DASL support</li>
  -    </ul>
  -    </p>
  -    </subsection>
  -    
  -    <subsection name="Other Features">
  -    <p>
  -    <ul>
  -      <li>Integration with Tomcat 4.0</li>
  -      <li>Easy to deploy on any Servlet 2.2 compliant engine</li>
  -      <li>Command line administration tool</li>
  -      <li>Swing-based administration tool</li>
  -      <li>WebDAV enabled Swing components</li>
  -    </ul>
  -    </p>
  -    </subsection>
       
     </section>
     
  
  
  
  1.8       +3 -1      jakarta-slide/src/share/org/apache/slide/slide.properties
  
  Index: slide.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/slide.properties,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- slide.properties  17 May 2002 15:47:26 -0000      1.7
  +++ slide.properties  12 Jan 2004 11:19:08 -0000      1.8
  @@ -1,6 +1,6 @@
   # Domain XML definition file
   # Default : Will look for domain.xml in current directory
  -#org.apache.slide.domain=Domain.xml
  +org.apache.slide.domain=E:/Programme/Apache Group/Tomcat 4.1/conf/Domain.xml
   
   # Automatically perform security checks
   # Default : true
  @@ -25,3 +25,5 @@
   # Debug
   # Default: false
   org.apache.slide.debug=false
  +
  +org.apache.slide.binding=true
  \ No newline at end of file
  
  
  
  1.5       +62 -3     jakarta-slide/src/share/org/apache/slide/lock/package.html
  
  Index: package.html
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/lock/package.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- package.html      28 Mar 2002 06:23:14 -0000      1.4
  +++ package.html      12 Jan 2004 11:19:08 -0000      1.5
  @@ -80,6 +80,65 @@
         directly check for whether a particular subject is locked or whether it 
         can actually lock a given subject.
       </p>
  +    
  +    <h3>Principles</h3>
  +
  +        <p>Every <tt>SubjectNode</tt> can potentially be locked.  A lock consist of 
the following information tuple:
  +<pre>
  +(target subject,      owner subject,    locked action,   duration,    inheritance)
  +</pre>
  +        </p>
  +
  +        <p>Here are examples of locks :
  +<pre>
  +(/foo/document.txt,  /user/dave,        /actions/read,     10m,       no)
  +(/foo/document.txt,  /user/dave,        /actions/write,    10m,       no)
  +(/foo,               /user/john,        /actions/read,     5m,        yes)
  +</pre>
  +        </p>
  +
  +        <p>Same as permissions, locks granted on an object are inherited (unless 
specified otherwise during locking) by the children of the object. For example, a lock 
obtained on object whose URI is <tt>/foo</tt> would also apply to the object 
<tt>/foo/bar</tt>.</p>
  +
  +    <h3>Behavior</h3>
  +
  +        <p>Slide automatically enforces all locks through the use of helper 
functions used by the client application. If a subject (ie. a file) is accessed and 
the action is already locked by another subject (ie. another client) an 
<tt>ObjectLockedException</tt> is thrown, which is a checked exception, so the client 
application will know that an underlying lock check failed, and will take appropriate 
actions.</p>
  +
  +    <h3>Object Model</h3>
  +    
  +    <h4>[EMAIL PROTECTED] org.apache.slide.lock.NodeLock NodeLock}</h4>
  +    
  +      <p>
  +        The NodeLock class represents a lock.
  +      </p>
  +    
  +      <p>
  +        
  +        <ul>
  +          <li>
  +            Id: Lock Id (unique).
  +          </li>
  +          <li>
  +            Object: Uri of the node associated to the lock.
  +          </li>
  +          <li>
  +            Subject: Lock owner.
  +          </li>
  +          <li>
  +            Type: Action which is locked (to perform the action, the
  +            lock Id must be present in the SlideToken).
  +          </li>
  +          <li>
  +            Exclusive: True if the lock is exclusive. Multiple non-exclusive
  +            locks can be obtained on the same node for the same action (type).
  +          </li>
  +          <li>
  +            Inheritable: True if the lock also applies to the children of the
  +            node it is associated with.
  +          </li>
  +        </ul>
  +        
  +      </p>
  +    
     </body>
     
   </html>
  
  
  
  1.5       +120 -4    jakarta-slide/src/share/org/apache/slide/content/package.html
  
  Index: package.html
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/package.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- package.html      28 Mar 2002 06:23:14 -0000      1.4
  +++ package.html      12 Jan 2004 11:19:08 -0000      1.5
  @@ -70,7 +70,10 @@
     <body>
       <p>
         Provides classes for accessing and manipulating the content, metadata 
  -      and revision history of nodes.
  +      and revision history of nodes. By default linear versioning is automatically 
provided, but the
  +      client can use helper functions to create and merge branches. The 
  +      versioning component also manages the metadata associated on the 
  +      objects, like for example its size and creation date.
       </p>
       <p>
         Each [EMAIL PROTECTED] org.apache.slide.structure.ObjectNode ObjectNode} 
which has 
  @@ -83,7 +86,120 @@
           <li>the metadata associated with the object
           <li>the revision tree
         </ul>
  +    The basic metadata include :
  +    <ul>
  +      <li>Client friendly name</li>
  +      <li>Creation date</li>
  +      <li>Content type</li>
  +      <li>Content language (if applicable)</li>
  +    </ul>
       </p>
  +    
  +    <p>
  +      The client application can modify metadata fields, add additional 
  +      fields, ...
  +    </p>
  +    
  +  <h3>Object Model</h3>
  +  <h4>[EMAIL PROTECTED] org.apache.slide.content.NodeRevisionDescriptors 
  +        NodeRevisionDescriptors}</h4>
  +    
  +      <p>
  +        The NodeRevisionDescriptors class represents the revision tree of an
  +        object. This object is immutable.
  +      </p>
  +    
  +      <p>
  +        
  +        <ul>
  +          <li>
  +            Object: Uri of the asssociated node.
  +          </li>
  +          <li>
  +            Use Versioning: Flag which indicates whether or not a node has 
  +            multiple revisions.
  +          </li>
  +          <li>
  +            Latest Revision Numbers: Indicates what is the latest revision
  +            number in each branch.
  +          </li>
  +          <li>
  +            Branches: Revision numbers of all the revisions of the node.
  +          </li>
  +        </ul>
  +        
  +      </p>
  +      
  +  <h4>[EMAIL PROTECTED] org.apache.slide.content.NodeRevisionDescriptor 
NodeRevisionDescriptor}</h4>
  +    
  +      <p>
  +        The NodeRevisionDescriptor class represents all the metadata 
  +        information associated with the binary content of a revision.
  +        This includes information on the revision itself, labels and
  +        properties.
  +      </p>
  +    
  +      <p>
  +        
  +        <ul>
  +          <li>
  +            Branch Name: Name of the branch in which this revision is.
  +          </li>
  +          <li>
  +            Number: Revision number.
  +          </li>
  +          <li>
  +            Labels: Labels (tags) associated with the revision.
  +          </li>
  +          <li>
  +            Properties: Properties associated with the revision. The default
  +            properties are: creation date, name, type, source, content length,
  +            last modification date.
  +          </li>
  +        </ul>
  +        
  +      </p>
  +      
  +  <h4>[EMAIL PROTECTED] org.apache.slide.content.NodeProperty NodeProperty}</h4>
  +    
  +      <p>
  +        The NodeProperty class represents an individual property associated
  +        to a revision. This object is immutable.
  +      </p>
  +    
  +      <p>
  +        
  +        <ul>
  +          <li>
  +            Name: Property name.
  +          </li>
  +          <li>
  +            Namespace: Property namespace.
  +          </li>
  +          <li>
  +            Value: Property value.
  +          </li>
  +          <li>
  +            Type: Property type.
  +          </li>
  +        </ul>
  +        
  +      </p>
  +      
  +  <h4>[EMAIL PROTECTED] org.apache.slide.content.NodeRevisionContent 
NodeRevisionContent}</h4>
  +    
  +      <p>
  +        The NodeRevisionContent class gives access to the revision's binary
  +        content.
  +      </p>
  +    
  +  <h4>[EMAIL PROTECTED] org.apache.slide.content.NodeRevisionNumber 
NodeRevisionNumber}</h4>
  +    
  +      <p>
  +        The NodeRevisionNumber class represents the revision number of a 
  +        revision. This object is immutable.
  +      </p>
  +      
     </body>
     
   </html>
  
  
  
  1.3       +14 -4     jakarta-slide/src/share/org/apache/slide/store/ParentStore.java
  
  Index: ParentStore.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ParentStore.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ParentStore.java  6 Jan 2004 13:31:21 -0000       1.2
  +++ ParentStore.java  12 Jan 2004 11:19:08 -0000      1.3
  @@ -153,6 +153,11 @@
           ResourceId resourceId = obtainResourceId(uri);
           ObjectNode objectClone = object.cloneObject();
           objectClone.setUri(resourceId.getUuri()); // switch to uuri
  +        try {
  +            tlockManager.lock(resourceId, uri.toString(), TLock.WRITE_LOCK);
  +        } catch (TLockedException e) {
  +            throw new ServiceAccessException(this, new 
ConflictException(uri.toString()));
  +        }
           super.storeObject(resourceId, objectClone);
       }
       
  @@ -176,6 +181,11 @@
           ResourceId resourceId = obtainResourceId(uri);
           ObjectNode objectClone = object.cloneObject();
           objectClone.setUri(resourceId.getUuri()); // switch to uuri
  +        try {
  +            tlockManager.lock(resourceId, uri.toString(), TLock.WRITE_LOCK);
  +        } catch (TLockedException e) {
  +            throw new ServiceAccessException(this, new 
ConflictException(uri.toString()));
  +        }
           super.removeObject(resourceId, objectClone);
       }
       
  
  
  
  1.8       +2 -2      jakarta-slide/src/doc/stylesheets/slide.xsl
  
  Index: slide.xsl
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/doc/stylesheets/slide.xsl,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- slide.xsl 1 Aug 2002 07:17:15 -0000       1.7
  +++ slide.xsl 12 Jan 2004 11:19:08 -0000      1.8
  @@ -118,7 +118,7 @@
         <xsl:comment>PAGE FOOTER</xsl:comment>
         <tr><td colspan="2">
           <div align="center"><font color="{$body-link}" size="-1"><em>
  -        Copyright &#169; 1999-2001, Apache Software Foundation
  +        Copyright &#169; 1999-2004, Apache Software Foundation
           </em></font></div>
         </td></tr>
   
  
  
  
  1.5       +122 -4    jakarta-slide/src/share/org/apache/slide/security/package.html
  
  Index: package.html
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/security/package.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- package.html      28 Mar 2002 06:23:17 -0000      1.4
  +++ package.html      12 Jan 2004 11:19:09 -0000      1.5
  @@ -69,8 +69,126 @@
     
     <body>
       <p>
  -      Provides classes to access and manipulate permissions.
  +      Provides classes to access and manipulate permissions. Slide features an 
integrated herarchical security system. When a subject (ie. a user) wants to perform 
an action on a given subject (ie. a file), Slide will automatically check that the 
subject has the appropriate permissions. The client application can add additional 
security checks and permissions by directly calling the Security helper fuctions.
       </p>
  +    
  +    <h3>Roles</h3>
  +      
  +      <p>
  +        A role can be assciated to each node of the Slide namespace. This role
  +        will indicate what are the responsabilities and rights of an object
  +        in the namespace. Of course, most of the nodes in the namespace won't
  +        attempt to perform actions, and are associated to the role "nobody".
  +      </p>
  +      
  +      <p>
  +        The roles are represented in Slide by Java interfaces, which can be 
  +        empty or contain additional functions.
  +      </p>
  +      
  +      <p>
  +        To have a particular role, the node must extend SubjectNode, and 
  +        implement the role interface. For exemple, FooNode has role Foo if
  +        it extends SubjectNode and implements interface Foo. The node must
  +        always have a default constructor.
  +      </p>
  +      
  +      <p>
  +        Simple names can be associated to the Java interfaces name (in the
  +        namespace configuration). These names can be used instead of the fully
  +        qualified interface class names when defining permissions.
  +      </p>
  +      
  +    <h3>Principles</h3>
  +
  +        <p>
  +          <img src="images/ns2.png"/>
  +        </p>
  +
  +        <p>Every <tt>ObjectNode</tt> has associated permissions, which are tuples 
with the following format:
  +<pre>
  +(target subject,      executing subject,    action,            inheritance)
  +</pre>
  +        </p>
  +
  +        <p>Here are examples of permissions:
  +<pre>
  +(/foo/document.txt,  /users/dave,            /actions/read,     no)
  +(/foo/document.txt,  /users/dave,            /actions/write,    no)
  +(/foo,               /users/john,            /actions/read,     yes)
  +</pre>
  +        </p>
  +
  +        <p>Permissions granted on an object are inherited (unless specified 
otherwise during permission assignement) by the children of the object. For example, a 
permission specified on object whose URI is <tt>/foo</tt> would be inherited by object 
<tt>/foo/bar</tt>.</p>
  +
  +        <p>This inheritance behavior also applies to subjects and actions. Subject 
<tt>/users/dave</tt> will have all the permissions given to all the subject 
<tt>/users</tt>. Likewise, a subject who can perform action <tt>/actions</tt> on an 
object will be able to perform <tt>/actions/read</tt>.</p>
  +
  +    <h3>Behavior</h3>
  +
  +        <p>The security checks for those action types are automatically done by the 
helper functions used by the client applications. If a check fails, an 
<tt>AccessDeniedException</tt> is thrown, which is a checked exception, so the client 
application will know when an underlying security check occurs, and can take 
appropriate actions if it fails.</p>
  +
  +        <p>The basic actions are :
  +        <ul>
  +        <li>Read object</li>
  +        <li>Create object</li>
  +        <li>Remove object</li>
  +        <li>Grant permission</li>
  +        <li>Revoke permission</li>
  +        <li>Read permissions</li>
  +        <li>Lock object</li>
  +        <li>Kill lock</li>
  +        <li>Read locks</li>
  +        <li>Read revision metadata</li>
  +        <li>Create revision metadata</li>
  +        <li>Modify revision metadata</li>
  +        <li>Remove revision metadata</li>
  +        <li>Read revision content</li>
  +        <li>Create revision content</li>
  +        <li>Modify revision content</li>
  +        <li>Remove revision content</li>
  +        </ul>
  +        The client application can define additional action types, and do whatever 
security checks it needs.</p>
  +
  +    </section>
  +
  +    <h3>Object Model</h3>
  +
  +    <h4>[EMAIL PROTECTED] org.apache.slide.security.NodePermission 
NodePermission}</h4>
  +    
  +      <p>
  +        The NodePermission class represents a permission (or Access Control
  +        Entry) which is placed on a node of the namespace.
  +      </p>
  +    
  +      <p>
  +        
  +        <ul>
  +          <li>
  +            Object: Uri of the node associated to the permission.
  +          </li>
  +          <li>
  +            Subject: Subject of the permission. This can be either the uri of
  +            an object in the namespace, the name (or interface class name) of
  +            a role or a self permission (in which case the subject is equal
  +            to "~").
  +          </li>
  +          <li>
  +            Action: Action of the permission.
  +          </li>
  +          <li>
  +            Inheritable: Flag which indicates if the permission also applies to
  +            the children of the node it is associated to.
  +          </li>
  +          <li>
  +            Negative: True if the permission is negative, which means the 
  +            subject is denied the permission to perform the specified action.
  +            If there is a permission conflict on the same node, the negative
  +            permission prevails.
  +          </li>
  +        </ul>
  +        
  +      </p>
  +    
     </body>
     
   </html>
  
  
  

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

Reply via email to