| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <slide> |
| <namespace name="cocoon"> |
| <definition> |
| <store name="tx"> |
| <nodestore classname="org.apache.cocoon.components.slide.impl.ContextTxXMLFileDescriptorsStore"> |
| <parameter name="rootpath">slide/store/metadata</parameter> |
| <parameter name="workpath">slide/work/metadata</parameter> |
| </nodestore> |
| <securitystore> |
| <reference store="nodestore"/> |
| </securitystore> |
| <lockstore> |
| <reference store="nodestore"/> |
| </lockstore> |
| <revisiondescriptorsstore> |
| <reference store="nodestore"/> |
| </revisiondescriptorsstore> |
| <revisiondescriptorstore> |
| <reference store="nodestore"/> |
| </revisiondescriptorstore> |
| <contentstore classname="org.apache.cocoon.components.slide.impl.ContextTxFileContentStore"> |
| <parameter name="rootpath">slide/store/content</parameter> |
| <parameter name="workpath">slide/work/content</parameter> |
| </contentstore> |
| </store> |
| <scope match="/" store="tx"/> |
| </definition> |
| <configuration> |
| <!-- Actions mapping --> |
| <read-object>/actions/read</read-object> |
| <create-object>/actions/write</create-object> |
| <remove-object>/actions/write</remove-object> |
| <grant-permission>/actions/write-acl</grant-permission> |
| <revoke-permission>/actions/write-acl</revoke-permission> |
| <read-permissions>/actions/read-acl</read-permissions> |
| <read-own-permissions>/actions/read-current-user-privilege-set</read-own-permissions> |
| <lock-object>/actions/write</lock-object> |
| <kill-lock>/actions/unlock</kill-lock> |
| <read-locks>/actions/read</read-locks> |
| <read-revision-metadata>/actions/read</read-revision-metadata> |
| <create-revision-metadata>/actions/write-properties</create-revision-metadata> |
| <modify-revision-metadata>/actions/write-properties</modify-revision-metadata> |
| <remove-revision-metadata>/actions/write-properties</remove-revision-metadata> |
| <read-revision-content>/actions/read</read-revision-content> |
| <create-revision-content>/actions/write-content</create-revision-content> |
| <modify-revision-content>/actions/write-content</modify-revision-content> |
| <remove-revision-content>/actions/write-content</remove-revision-content> |
| <bind-member>/actions/bind</bind-member> |
| <unbind-member>/actions/unbind</unbind-member> |
| <!-- Paths configuration --> |
| <userspath>/users</userspath> |
| <rolespath>/roles</rolespath> |
| <actionspath>/actions</actionspath> |
| <filespath>/files</filespath> |
| <parameter name="dav">true</parameter> |
| <parameter name="standalone">true</parameter> |
| <parameter name="acl_inheritance_type">path</parameter> |
| <!-- Nested roles: 0 means no nesting (default), 1 means one sublevel, etc. --> |
| <parameter name="nested_roles_maxdepth">0</parameter> |
| |
| <!-- |
| <content-interceptor class="org.apache.cocoon.components.slide.impl.JMSContentInterceptor"> |
| <parameter name="java.naming.factory.initial">org.exolab.jms.jndi.InitialContextFactory</parameter> |
| <parameter name="java.naming.provider.url">rmi://localhost:1099/</parameter> |
| <parameter name="topic-factory">JmsTopicConnectionFactory</parameter> |
| <parameter name="topic">topic1</parameter> |
| <parameter name="ack-mode">dups</parameter> |
| <parameter name="persistent-delivery">false</parameter> |
| <parameter name="priority">4</parameter> |
| <parameter name="time-to-live">1000</parameter> |
| </content-interceptor> |
| --> |
| |
| </configuration> |
| <data> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/"> |
| <!-- Subject can be: |
| any user "all" |
| authenticated user "authenticated" |
| unauthenticated user "unauthenticated" |
| self "self" |
| owner of resource "owner" |
| a user "/users/john" |
| a role "/roles/admin" |
| --> |
| <permission action="all" subject="/roles/root" inheritable="true"/> |
| <permission action="/actions/read-acl" subject="all" inheritable="true" negative="true"/> |
| <permission action="/actions/write-acl" subject="all" inheritable="true" negative="true"/> |
| <permission action="/actions/unlock" subject="all" inheritable="true" negative="true"/> |
| <permission action="/actions/read" subject="all" inheritable="true"/> |
| <!-- /users --> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users"> |
| <permission action="all" subject="self" inheritable="true"/> |
| <permission action="all" subject="unauthenticated" inheritable="true" negative="true"/> |
| <!-- /users/root represents the administrator --> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/root"> |
| <revision> |
| <property namespace="http://jakarta.apache.org/slide/" name="password">root</property> |
| </revision> |
| </objectnode> |
| <!-- /users/john and /users/john2 represent authenticated users --> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/john"> |
| <revision> |
| <property namespace="http://jakarta.apache.org/slide/" name="password">john</property> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/john2"> |
| <revision> |
| <property namespace="http://jakarta.apache.org/slide/" name="password">john2</property> |
| </revision> |
| </objectnode> |
| <!-- /users/guest represents an authenticated or unauthenticated guest user --> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/guest"> |
| <revision> |
| <property namespace="http://jakarta.apache.org/slide/" name="password">guest</property> |
| </revision> |
| </objectnode> |
| </objectnode> |
| <!-- /roles --> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles"> |
| <permission action="all" subject="self" inheritable="true"/> |
| <permission action="all" subject="unauthenticated" inheritable="true" negative="true"/> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/root"> |
| <revision> |
| <property name="group-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/users/root</D:href>]]></property> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/user"> |
| <revision> |
| <property name="group-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/users/john</D:href><D:href xmlns:D='DAV:'>/users/john2</D:href><D:href xmlns:D='DAV:'>/users/root</D:href>]]></property> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/guest"> |
| <revision> |
| <property name="group-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/users/guest</D:href>]]></property> |
| </revision> |
| </objectnode> |
| </objectnode> |
| <!-- action --> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions"> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read"> |
| <revision> |
| <property name="privilege-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/actions/read-acl</D:href> <D:href xmlns:D='DAV:'>/actions/read-current-user-privilege-set</D:href>]]></property> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read-acl"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read-current-user-privilege-set"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write"> |
| <revision> |
| <property name="privilege-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/actions/write-acl</D:href> <D:href xmlns:D='DAV:'>/actions/write-properties</D:href> <D:href xmlns:D='DAV:'>/actions/write-content</D:href>]]></property> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write-acl"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write-properties"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write-content"> |
| <revision> |
| <property name="privilege-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/actions/bind</D:href> <D:href xmlns:D='DAV:'>/actions/unbind</D:href>]]></property> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/bind"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/unbind"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/unlock"> |
| <revision> |
| <property name="privilege-member-set"/> |
| </revision> |
| </objectnode> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files"> |
| <permission action="all" subject="unauthenticated" inheritable="true"/> |
| <permission action="/actions/write" subject="/roles/user" inheritable="true"/> |
| <permission action="/actions/read-acl" subject="owner" inheritable="true"/> |
| </objectnode> |
| <!-- DeltaV: default history and workspace paths --> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/history"> |
| <permission action="all" subject="unauthenticated" inheritable="true"/> |
| <permission action="/actions/write" subject="/roles/user" inheritable="true"/> |
| <permission action="/actions/read-acl" subject="owner" inheritable="true"/> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/workspace"> |
| <permission action="all" subject="unauthenticated" inheritable="true"/> |
| <permission action="/actions/write" subject="/roles/user" inheritable="true"/> |
| <permission action="/actions/read-acl" subject="owner" inheritable="true"/> |
| </objectnode> |
| <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/workingresource"> |
| <permission action="all" subject="unauthenticated" inheritable="true"/> |
| <permission action="/actions/write" subject="/roles/user" inheritable="true"/> |
| <permission action="/actions/read-acl" subject="owner" inheritable="true"/> |
| </objectnode> |
| </objectnode> |
| </data> |
| </namespace> |
| <!-- |
| DeltaV global parameters |
| ======================== |
| * historypath (mandatory=no, default="/history"): |
| Specifies a Slide path which determines the location where this DeltaV |
| server stores history data. |
| |
| * workspacepath (mandatory=no, default="/workspace"): |
| Specifies a Slide path which determines the location where this DeltaV |
| server allows workspaces to reside. |
| |
| * workingresourcepath (mandatory=no, default="/workingresource"): |
| Specifies a Slide path which determines the location where this DeltaV |
| server stores working resources. |
| |
| * auto-version (mandatory=no, default="checkout-checkin"): |
| Controls the DeltaV auto-version behaviour. |
| |
| * auto-version-control (mandatory=no, default="false"): |
| Indicates if a resource just created by a PUT should be set under |
| version-control. |
| |
| * versioncontrol-exclude (mandatory=no, default=""): |
| Specifies a Slide path which determines resources which are excluded from version-control. |
| The default value "" makes no path being excluded. |
| |
| * checkout-fork (mandatory=no, default="forbidden"): |
| Controls the DeltaV check-out behaviour when a version is already |
| checked-out or has a successor. |
| |
| * checkin-fork (mandatory=no, default="forbidden"): |
| Controls the DeltaV check-out behaviour when a version has already a |
| successor. |
| |
| * standardLivePropertiesClass (mandatory=no, |
| default="org.apache.slide.webdav.util.resourcekind.AbstractResourceKind"): |
| Determines the "agent" knowing about what the standard live properties are. |
| It should be a loadable class containing the following static methods: |
| - boolean isLiveProperty(String propName) |
| - boolean isProtectedProperty(String propName) |
| - boolean isComputedProperty(String propName) |
| - Set getAllLiveProperties() |
| - Set getAllProtectedProperties() |
| - Set getAllComputedProperties() |
| |
| * uriRedirectorClass (mandatory=no, |
| default="org.apache.slide.webdav.util.DeltavUriRedirector"): |
| Determines the URI redirector class. The DeltaV URI redirector is in |
| charge of the following redirections: |
| - version URI to history URI, e.g. /history/2/1.4 to /history/2 |
| - latest revision number for history resource to 0.0 |
| - latest revision number for version resource to last URI token, |
| e.g. /history/2/1.4 to 1.4 |
| It should be a loadable class containing the following static methods: |
| - String redirectUri(String uri) |
| - NodeRevisionNumber redirectLatestRevisionNumber(String uri) |
| --> |
| <parameter name="historypath">/history</parameter> |
| <parameter name="workspacepath">/workspace</parameter> |
| <parameter name="workingresourcepath">/workingresource</parameter> |
| <parameter name="auto-version">checkout-checkin</parameter> |
| <parameter name="auto-version-control">false</parameter> |
| <parameter name="versioncontrol-exclude"/> |
| <parameter name="checkout-fork">forbidden</parameter> |
| <parameter name="checkin-fork">forbidden</parameter> |
| </slide> |