You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@locus.apache.org on 2000/12/28 12:47:34 UTC
cvs commit: jakarta-slide/src/doc changelog.xml conf-lib.xml contrib.xml howto-tomcat.xml lock.xml macro.xml news.xml security.xml status.xml structure.xml version.xml
remm 00/12/28 03:47:33
Modified: src/doc changelog.xml conf-lib.xml contrib.xml
howto-tomcat.xml lock.xml macro.xml news.xml
security.xml status.xml structure.xml version.xml
Log:
- Documentation updates.
Revision Changes Path
1.16 +10 -0 jakarta-slide/src/doc/changelog.xml
Index: changelog.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/changelog.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- changelog.xml 2000/12/26 06:37:00 1.15
+++ changelog.xml 2000/12/28 11:47:29 1.16
@@ -35,6 +35,16 @@
<update>
DAV client : More commands in the DAV command line client (DB)
</update>
+ <add>
+ Roles mapping, and new elements in the namespace configuration
+ file to define them (RM)
+ </add>
+ <update>
+ Documentation updates (RM)
+ </update>
+ <add>
+ Object model documentation (RM)
+ </add>
</changelog>
</p>
1.13 +19 -7 jakarta-slide/src/doc/conf-lib.xml
Index: conf-lib.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/conf-lib.xml,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- conf-lib.xml 2000/12/05 05:21:49 1.12
+++ conf-lib.xml 2000/12/28 11:47:29 1.13
@@ -42,9 +42,6 @@
<pre>
# Domain XML definition file. This is the Slide configuration file
# (see below).
- # This value is ignored when running on top of Avalon, as Avalon have its own
- # way of handling blocks configuration. See the Avalon documentation on the
- # Avalon website for more information.
# Default : Will look for domain.xml in current directory
#org.apache.slide.domain=domain.xml
@@ -116,14 +113,14 @@
<a href="samples/noavalon-conf.sample">click here</a>.
</p>
- <p>
+ <!--p>
Apache Avalon has its own special way of handling blocks
initialization, so that the Slide initialization file is a bit
different when used under Avalon. More specifically, it includes an
additional section (see below).
</p>
- <section title="Without Avalon">
+ <section title="Without Avalon"-->
<p>
Slide needs a configuration file to initialize the
@@ -354,6 +351,21 @@
</p>
</li>
+ <li><b>slide/namespace/configuration/role</b>
+ <p>
+ Specifies a role mapping. The value of this element should be
+ the Java class name of the interface representing the role.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Name of the role"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
<li><b>slide/namespace/data</b>
<p>
Specify the namespace bootstrap data. Slide will attempt to
@@ -452,7 +464,7 @@
</p>
- </section>
+ <!--/section>
<section title="With Avalon">
@@ -478,7 +490,7 @@
Please refer to the Apache Avalon documentation for more information.
</p>
- </section>
+ </section-->
</section>
1.7 +4 -4 jakarta-slide/src/doc/contrib.xml
Index: contrib.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/contrib.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- contrib.xml 2000/12/20 01:26:17 1.6
+++ contrib.xml 2000/12/28 11:47:29 1.7
@@ -19,7 +19,7 @@
<p>
<a href="mailto:remm at apache.org"><b>Remy Maucherat</b></a>
<br/>
- Original developer of Slide, current project maintainer.
+ Original developer of Slide, project maintainer.
</p>
<p>
@@ -48,7 +48,7 @@
<p>
<a href="mailto:Juergen.Pill at softwareag.com"><b>Juergen Pill</b></a>
<br/>
- Testing and fixes.
+ Testing, fixes and many ideas on the transaction API.
</p>
<p>
@@ -62,7 +62,7 @@
<p>
<a href="mailto:jericho at thinkfree.com"><b>Sung-Gu Park</b></a>
<br/>
- Testing, bug reports and Client code.
+ Testing, bug reports and client code.
</p>
</section>
@@ -73,7 +73,7 @@
<a href="http://www.intalio.com"><b>Intalio Inc.</b></a>
<br/>
Donated on May 2000 an early version of the Exolab.org OpenDAV project
- to Jakarta, which became Slide.
+ to Apache Jakarta.
</p>
</section>
1.5 +5 -0 jakarta-slide/src/doc/howto-tomcat.xml
Index: howto-tomcat.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/howto-tomcat.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- howto-tomcat.xml 2000/12/06 00:27:28 1.4
+++ howto-tomcat.xml 2000/12/28 11:47:29 1.5
@@ -26,6 +26,11 @@
<p>
Slide has been successfully tested with Tomcat 3.1 and 3.2.
</p>
+
+ <p>
+ Tomcat 3.1 has limitations with security and authentication, so using
+ it is not recommended.
+ </p>
</section>
1.5 +34 -2 jakarta-slide/src/doc/lock.xml
Index: lock.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/lock.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- lock.xml 2000/07/20 00:10:23 1.4
+++ lock.xml 2000/12/28 11:47:30 1.5
@@ -44,9 +44,41 @@
<section title="Object Model">
- <p>
+ <section title="NodeLock">
+
+ <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>
- </p>
+ </section>
</section>
1.3 +7 -1 jakarta-slide/src/doc/macro.xml
Index: macro.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/macro.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- macro.xml 2000/07/20 00:10:23 1.2
+++ macro.xml 2000/12/28 11:47:30 1.3
@@ -9,7 +9,13 @@
<section title="Overview">
<p>
-
+ The macro helper provides utility functions to make some namespace
+ operations easier to perform, like a recursive copy function.
+ </p>
+
+ <p>
+ Please refer to the JavaDoc for a more detailed documentation of this
+ helper.
</p>
</section>
1.10 +1 -5 jakarta-slide/src/doc/news.xml
Index: news.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/news.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- news.xml 2000/12/16 07:40:10 1.9
+++ news.xml 2000/12/28 11:47:30 1.10
@@ -4,10 +4,8 @@
<body>
- <title>Slide News</title>
+ <title>News</title>
- <section title="Slide News">
-
<section title="12/15/2000 - Slide 1.0M5 released !">
<p>
@@ -55,8 +53,6 @@
</p>
</section>
-
- </section>
</body>
</document>
1.5 +65 -4 jakarta-slide/src/doc/security.xml
Index: security.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/security.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- security.xml 2000/07/20 00:10:23 1.4
+++ security.xml 2000/12/28 11:47:30 1.5
@@ -13,6 +13,35 @@
</section>
+ <section title="Roles">
+
+ <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>
+
+ </section>
+
<section title="Principles">
<p>Every <tt>ObjectNode</tt> has associated permissions, which are tuples with the following format:
@@ -33,8 +62,6 @@
<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>
- <p>In a future Slide release, interitance on subjects will also use links. However, due to some performance issues, the administrator will be able to disable this feature.</p>
-
</section>
<section title="Behavior">
@@ -66,10 +93,44 @@
</section>
<section title="Object Model">
+
+ <section title="NodePermission">
+
+ <p>
+ The NodePermission class represents a permission (or Access Control
+ Entry) which is placed on a node of the namespace.
+ </p>
- <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>
- </p>
+ </section>
</section>
1.16 +0 -7 jakarta-slide/src/doc/status.xml
Index: status.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/status.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- status.xml 2000/12/26 06:37:00 1.15
+++ status.xml 2000/12/28 11:47:30 1.16
@@ -118,9 +118,6 @@
<p>
<status>
- <item priority="High" owner="Remy Maucherat">
- Document the object model.
- </item>
</status>
</p>
@@ -179,10 +176,6 @@
<li>
Design and implement a simple process engine to deal with
approvals, acknowledgements, ...
- </li>
- <li>
- Add full role resolution (with caching).
- [org.apache.slide.content.NodeRevisionDescriptors]
</li>
<li>
Delta V support.
1.3 +8 -2 jakarta-slide/src/doc/structure.xml
Index: structure.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/structure.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- structure.xml 2000/07/20 00:10:23 1.2
+++ structure.xml 2000/12/28 11:47:31 1.3
@@ -9,7 +9,8 @@
<section title="Overview">
<p>
-
+ The Structure helper provides functions which can be used to access the
+ hierarchy of a namespace.
</p>
</section>
@@ -30,13 +31,18 @@
<p>
<tt>SubjectNode</tt> is a type for storing most Slide information.
- A subject can be a file, a directory or a role (ie. user or group).
+ A subject can be a file, a directory or a principal.
</p>
<p>
<tt>ActionNode</tt> is a type for defining available actions on Slide
objects. In Slide, actions can be dynamically placed in the namespace
to provide flexible security policy definition.
+ </p>
+
+ <p>
+ The type of the node determines which roles the node has. The Security
+ page has more details on roles and role resolution.
</p>
</section>
1.6 +106 -2 jakarta-slide/src/doc/version.xml
Index: version.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/version.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- version.xml 2000/07/20 06:11:37 1.5
+++ version.xml 2000/12/28 11:47:31 1.6
@@ -46,9 +46,113 @@
<section title="Object Model">
- <p>
+ <section title="NodeRevisionDescriptors">
+
+ <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>
- </p>
+ </section>
+
+ <section title="NodeRevisionDescriptor">
+
+ <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>
+
+ </section>
+
+ <section title="NodeProperty">
+
+ <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>
+
+ </section>
+
+ <section title="NodeRevisionContent">
+
+ <p>
+ The NodeRevisionContent class gives access to the revision's binary
+ content.
+ </p>
+
+ </section>
+
+ <section title="NodeRevisionNumber">
+
+ <p>
+ The NodeRevisionNumber class represents the revision number of a
+ revision. This object is immutable.
+ </p>
+
+ </section>
</section>