This is an example of using MySQL4.1 as an rdbms repository for stores. It also uses Text stores.

To be used in conjunction with RDBMS_Store_Web.XML

<?xml version="1.0"?>
<!-- Phillip Burnside, 13/05/2005.
I have re-written this Domain.xml to make the security and administration of multiple stores a bit more sensible.
Have defined a root store which defines roles, users and actions. The only user to have access to this is members of the
administration role.
All other users will be added to the roles per store. This way you seperate the data from the admin.

RDBMS Connectivity
==================
MySQL:
Have included an RDBMS store connecting to a MySQL database (build 4.1). You will need to get the file
mysql-connector-java-3.1.8.jar from the MySQL site (part of the connector download). Put this file in $Tomcat/common/lib
This lets the JDBC connector come on line.
Also note you need to refer to element org.apache.slide.store.impl.rdbms.MySql41RDBMSAdapter NOT
org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter. This is due to a non-supported MySQL feature being requested (MULTI-DELETE)
-->
<slide>
    <namespace name="slide">
        <definition>
            <store name="slide">
                <parameter name="tlock-timeout">120</parameter>
                <nodestore classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">
                    <parameter name="rootpath">D:/SLIDESTORE/slide/store/metadata</parameter>
                    <parameter name="workpath">D:/SLIDESTORE/slide/work/metadata</parameter>
                    <parameter name="defer-saving">true</parameter>
                    <parameter name="timeout">120</parameter>
                </nodestore>
                <sequencestore classname="org.apache.slide.store.txfile.FileSequenceStore">
                    <parameter name="rootpath">/slide/store/sequence</parameter>
                </sequencestore>
                <securitystore>
                    <reference store="nodestore"/>
                </securitystore>
                <lockstore>
                    <reference store="nodestore"/>
                </lockstore>
                <revisiondescriptorsstore>
                    <reference store="nodestore"/>
                </revisiondescriptorsstore>
                <revisiondescriptorstore>
                    <reference store="nodestore"/>
                </revisiondescriptorstore>
                <contentstore classname="org.apache.slide.store.txfile.TxFileContentStore">
                    <parameter name="rootpath">/slide/store/content</parameter>
                    <parameter name="workpath">/slide/work/content</parameter>
                    <parameter name="defer-saving">true</parameter>
                    <parameter name="timeout">120</parameter>
                </contentstore>
                <!-- uncomment if you want to use the sample Indexer -->
                <!-- be sure to have Lucene in your classpath             -->
                <!--
                <contentindexer classname="org.apache.slide.index.SampleTxtContainsIndexer">
                <parameter name="indexpath">./index</parameter>
                </contentindexer>
        -->
            </store>

<!-- #Phil 12/05/2005
Now define the data stores
-->
            <store name="data1">
                <parameter name="tlock-timeout">120</parameter>
                <nodestore classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">
                    <parameter name="rootpath">D:/SLIDESTORE/slide/data1/store/metadata</parameter>
                    <parameter name="workpath">D:/SLIDESTORE/slide/data1/work/metadata</parameter>
                    <parameter name="defer-saving">true</parameter>
                    <parameter name="timeout">120</parameter>
                </nodestore>
                <sequencestore classname="org.apache.slide.store.txfile.FileSequenceStore">
                    <parameter name="rootpath">/slide/data1/store/sequence</parameter>
                </sequencestore>
                <securitystore>
                    <reference store="nodestore"/>
                </securitystore>
                <lockstore>
                    <reference store="nodestore"/>
                </lockstore>
                <revisiondescriptorsstore>
                    <reference store="nodestore"/>
                </revisiondescriptorsstore>
                <revisiondescriptorstore>
                    <reference store="nodestore"/>
                </revisiondescriptorstore>
                <contentstore classname="org.apache.slide.store.txfile.TxFileContentStore">
                    <parameter name="rootpath">/slide/data1/store/content</parameter>
                    <parameter name="workpath">/slide/data1/work/content</parameter>
                    <parameter name="defer-saving">true</parameter>
                    <parameter name="timeout">120</parameter>
                </contentstore>
                <!-- uncomment if you want to use the sample Indexer -->
                <!-- be sure to have Lucene in your classpath             -->
                <!--
                <contentindexer classname="org.apache.slide.index.SampleTxtContainsIndexer">
                <parameter name="indexpath">./index</parameter>
                </contentindexer>
        -->
            </store>
            <store name="data2">
                <parameter name="tlock-timeout">120</parameter>
                <nodestore classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">
                    <parameter name="rootpath">D:/SLIDESTORE/slide/data2/store/metadata</parameter>
                    <parameter name="workpath">D:/SLIDESTORE/slide/data2/work/metadata</parameter>
                    <parameter name="defer-saving">true</parameter>
                    <parameter name="timeout">120</parameter>
                </nodestore>
                <sequencestore classname="org.apache.slide.store.txfile.FileSequenceStore">
                    <parameter name="rootpath">/slide/data2/store/sequence</parameter>
                </sequencestore>
                <securitystore>
                    <reference store="nodestore"/>
                </securitystore>
                <lockstore>
                    <reference store="nodestore"/>
                </lockstore>
                <revisiondescriptorsstore>
                    <reference store="nodestore"/>
                </revisiondescriptorsstore>
                <revisiondescriptorstore>
                    <reference store="nodestore"/>
                </revisiondescriptorstore>
                <contentstore classname="org.apache.slide.store.txfile.TxFileContentStore">
                    <parameter name="rootpath">/slide/data2/store/content</parameter>
                    <parameter name="workpath">/slide/data2/work/content</parameter>
                    <parameter name="defer-saving">true</parameter>
                    <parameter name="timeout">120</parameter>
                </contentstore>
                <!-- uncomment if you want to use the sample Indexer -->
                <!-- be sure to have Lucene in your classpath             -->
                <!--
                <contentindexer classname="org.apache.slide.index.SampleTxtContainsIndexer">
                <parameter name="indexpath">./index</parameter>
                </contentindexer>
        -->
            </store>

<!-- #Phil - 13/05/2005
Have defined a single RDBMS store. Was straightforward. Because I haven't defined users and security within the 
MySQL database I have commented out the user and password parameters. You could configure a slideuser and restrict
them, but this is over to the DB administrators to hack out.
This configuration is for MySQL. You would need to change the JDBC calls and config to suit the RDBMS of choice.
NOTE - if you define multiple stores you should also define different database instances. If your DBMS engine can handle
the multi-threading then you may be able to get away with it, otherwise you need to point it to another schema.
-->

            <store name="rdbms">
                <parameter name="tlock-timeout">120</parameter>
                    <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore"> 
                        <parameter name="adapter">org.apache.slide.store.impl.rdbms.MySql41RDBMSAdapter</parameter> 
                        <parameter name="driver">com.mysql.jdbc.Driver</parameter> 
                        <parameter name="url">jdbc:mysql://localhost/slide</parameter> 
                        <parameter name="dbcpPooling">true</parameter> 
                        <parameter name="maxPooledConnections">10</parameter> 
                        <parameter name="isolation">SERIALIZABLE</parameter>
                        <parameter name="compress">false</parameter> 
                    </nodestore> 

                <securitystore>
                    <reference store="nodestore"/>
                </securitystore>
                <lockstore>
                    <reference store="nodestore"/>
                </lockstore>
                <revisiondescriptorsstore>
                    <reference store="nodestore"/>
                </revisiondescriptorsstore>
                <revisiondescriptorstore>
                    <reference store="nodestore"/>
                </revisiondescriptorstore>
                        <contentstore> 
                                <reference store="nodestore"/> 
                        </contentstore> 
            </store>
            <store name="rdbms2">
                <parameter name="tlock-timeout">120</parameter>
                    <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore"> 
                        <parameter name="adapter">org.apache.slide.store.impl.rdbms.MySql41RDBMSAdapter</parameter> 
                        <parameter name="driver">com.mysql.jdbc.Driver</parameter> 
                        <parameter name="url">jdbc:mysql://localhost/slide2</parameter> 
                        <parameter name="dbcpPooling">true</parameter> 
                        <parameter name="maxPooledConnections">10</parameter> 
                        <parameter name="isolation">SERIALIZABLE</parameter>
                        <parameter name="compress">false</parameter> 
                    </nodestore> 

                <securitystore>
                    <reference store="nodestore"/>
                </securitystore>
                <lockstore>
                    <reference store="nodestore"/>
                </lockstore>
                <revisiondescriptorsstore>
                    <reference store="nodestore"/>
                </revisiondescriptorsstore>
                <revisiondescriptorstore>
                    <reference store="nodestore"/>
                </revisiondescriptorstore>
                        <contentstore> 
                                <reference store="nodestore"/> 
                        </contentstore> 
            </store>

<!-- #Phil - 12/05/2005
This is where you define the scope of your namespace. Defining it as "/" means this is the default
store for the namespace. This has more relevance when implementing multiple stores.
Effectively this maps a call to SLIDE to it's store. In order to invoke this store simply call 
"http://localhost:8080/slide"
-->
                <scope match="/" store="slide"/>
                <scope match="/data1" store = "data1"/>
                <scope match="/data2" store = "data2"/>
                <scope match="/rdbms" store = "rdbms"/>
                <scope match="/rdbms2" store = "rdbms2"/>
        </definition>

        <configuration>
<!-- #Phil - 13/05/2005
Now define the actions which are available to all stores.
-->
            <!-- 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>

<!-- #Phil - 12/05/2005
The key things to be aware of here are :
Users are defined within the store. This prevents any users having global access to all stores. If you want this 
        then define them as "/users/name". This path setting will be the default path used by the primary store.
Roles need to be defined at the root level. This has something to do with the Tomcat realm configuration and
        needs to be investigated further.
Actions can be defined at root or store level. This is up to you howver to share actions across stores it is better
        to define them and their binding at the root level.
acl_inheritance_type has four values (see here for more details http://jakarta.apache.org/slide/howto-acl.html)
        The key thing to note is that if you turn inheritance to "none" you need to define the security for every
        level under /slide. This could become cumbersome. Similarly if you use the option "root" you need to define
        all of the security at the root level then refine at lower levels.
-->
            <!-- Paths configuration -->
            <userspath>/users</userspath>
            <rolespath>/roles</rolespath>
            <actionspath>/actions</actionspath>
            <!--filespath>/slide/main</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>
            <!-- Can be "off", "write" and "full" -->
            <parameter name="sequential-mode">full</parameter>
            <!-- "false" lets all read-only methods be executed outside of transactions -->
            <parameter name="all-methods-in-transactions">true</parameter>
            <!-- Setting this to true will force Slide to internally convert the username a user
                 enters at login to lowercase. This is useful for users who can't be bothered
                 with turning off their capslock key before logging in. -->
            <parameter name="force-lowercase-login">false</parameter>
        </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"
                -->
<!-- #Phil - 13/05/2005
Now define your users and the levels of access they have.
NOTE - At the time of writing there was a bug with the security model. When it is loaded the new permissions are added
to existing permissions on collections NOT replacing them. You need to flush the security buffers of the metadata in order
to have new permissions take full hold. Please see "Tips and Tricks" on the WebDAV Open Source Wiki (hopefully still
here - http://10.233.106.142:8080/xwiki/bin/view/Main/TipsandTricks)
-->
                <permission action="/actions/read-acl" subject="all" inheritable="true"/>
                <permission action="/actions/write-acl" subject="all" inheritable="true"/>
                <permission action="/actions/unlock" subject="all" inheritable="true"/>
                <permission action="/actions/read" subject="all" inheritable="true"/>
                    <permission action="all" subject="/roles/admin" inheritable="true"/>
                    <!--permission action="/actions/bind" subject="/roles/admin" inheritable="true"/-->
                <!-- /users -->
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users">
                    <permission action="all" subject="self" inheritable="true"/>
                    <permission action="all" subject="/roles/projector" inheritable="true"/>
                    <permission action="" subject="unauthenticated" inheritable="true" negative="true"/>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/user1">
                        <revision>
                            <property  name="password">user1</property> 
                        </revision>
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/user2">
                        <revision>
                            <property  name="password">user2</property> 
                        </revision>
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/user3">
                        <revision>
                            <property  name="password">user3</property> 
                        </revision>
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/user4">
                        <revision>
                            <property  name="password">user4</property> 
                        </revision>
                    </objectnode>
                </objectnode>
                <!-- /roles -->
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles">
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/admin">
                        <revision>
                            <property name="group-member-set"><![CDATA[
                                                <D:href xmlns:D='DAV:'>/users/user1</D:href>]]>
                                    </property>                             
                        </revision>
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/data1">
                        <revision>
                            <property name="group-member-set"><![CDATA[
                                                <D:href xmlns:D='DAV:'>/users/user2</D:href>
                                                <D:href xmlns:D='DAV:'>/users/user3</D:href>]]>
                                    </property>                             
                        </revision>
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/data2">
                        <revision>
                            <property name="group-member-set"><![CDATA[
                                                <D:href xmlns:D='DAV:'>/users/user2</D:href>
                                                <D:href xmlns:D='DAV:'>/users/user4</D:href>]]>
                                    </property>                             
                        </revision>
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/rdbms1">
                        <revision>
                            <property name="group-member-set"><![CDATA[
                                                <D:href xmlns:D='DAV:'>/users/user2</D:href>
                                                <D:href xmlns:D='DAV:'>/users/user3</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>
<!-- #Phil - 13/05/2005
Now define access rights for each of the common areas used by the File system storage. 
These are the areas shared between stores which use the filesystem.
TIP - do remember to flush the security buffers in the metadata otherwise weird and wonderful things will happen.
-->
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/projector">
                    <permission action="/actions/write" subject="/roles/projector" inheritable="true"/>
                    <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/projector/work">
                        </objectnode>
                </objectnode>
                <!-- DeltaV: default history and workspace paths -->
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/history">
                    <permission action="all" subject="unauthenticated" inheritable="true" negative="true"/>
                    <permission action="/actions/write" subject="all" inheritable="true"/>
                    <!--permission action="/actions/write" subject="/roles/editor" inheritable="true"/>
                    <permission action="/actions/bind" subject="/roles/editor" inheritable="true"/-->
                    <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                          <permission action="/actions/read" subject="all" inheritable="true"/>
                </objectnode>
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/workspace">
                    <permission action="all" subject="unauthenticated" inheritable="true"/>
                    <permission action="/actions/write" subject="authenticated" 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="authenticated" inheritable="true"/>
                    <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                </objectnode>



<!-- #Phil 13/05/2005
Now define the stores
-->
            <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1">
                <!-- 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="/actions/read-acl" subject="all" inheritable="true"/>
                <permission action="/actions/write-acl" subject="all" inheritable="true"/>
                <permission action="/actions/unlock" subject="all" inheritable="true"/>
                <permission action="/actions/read" subject="all" inheritable="true"/>
                    <permission action="/actions/write" subject="/roles/data1" inheritable="true"/>
                    <permission action="/actions/bind" subject="/roles/data1" inheritable="true"/>

                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1/marketing">
                          <permission action="/actions/write" subject="/roles/data1" inheritable="true" negative="true"/>
                          <permission action="/actions/bind" subject="/roles/data1" inheritable="true"/>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1/marketing/widgets">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1/marketing/gadgets">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                                  <permission action="/actions/write" subject="/users/user3" inheritable="true"/>
                                <permission action="/actions/bind" subject="/users/user3" inheritable="true"/>
                            </objectnode>
                    </objectnode>
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1/accounts">
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1/accounts/p_and_l">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                                  <permission action="/actions/write" subject="/roles/data1" inheritable="true" negative="true"/>
                                <permission action="/actions/bind" subject="/roles/data1" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data1/accounts/balance">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                            </objectnode>
                    </objectnode>
            </objectnode>


            <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2">
                <!-- 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="/actions/read-acl" subject="all" inheritable="true"/>
                <permission action="/actions/write-acl" subject="all" inheritable="true"/>
                <permission action="/actions/unlock" subject="all" inheritable="true"/>
                <permission action="/actions/read" subject="all" inheritable="true"/>
                    <permission action="/actions/write" subject="/roles/data2" inheritable="true"/>
                    <permission action="/actions/bind" subject="/roles/data2" inheritable="true"/>

                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/development">
                          <permission action="/actions/write" subject="/roles/data2" inheritable="true" negative="true"/>
                          <permission action="/actions/bind" subject="/roles/data2" inheritable="true"/>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/development/code">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/development/graphics">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                                  <permission action="/actions/write" subject="/users/user3" inheritable="true"/>
                                <permission action="/actions/bind" subject="/users/user3" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/development/database">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                            </objectnode>
                    </objectnode>
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/testing">
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/testing/scripts">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                                  <permission action="/actions/write" subject="/roles/data2" inheritable="true" negative="true"/>
                                <permission action="/actions/bind" subject="/roles/data2" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/data2/testing/results">
                        <permission action="/actions/read-acl" subject="owner" inheritable="true"/>
                            </objectnode>
                    </objectnode>
            </objectnode>

<!-- Defining the rdbms store so lets keep it simple for now! -->

            <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms">
                <!-- 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="/actions/read-acl" subject="all" inheritable="true"/>
                <permission action="/actions/write-acl" subject="all" inheritable="true"/>
                <permission action="/actions/unlock" subject="all" inheritable="true"/>
                <permission action="/actions/read" subject="all" inheritable="true"/>
                    <permission action="/actions/write" subject="/users/user1" inheritable="true"/>
                    <permission action="/actions/bind" subject="/users/user1" inheritable="true"/>
                    <permission action="/actions/write" subject="/roles/rdbms1" inheritable="true"/>
                    <permission action="/actions/bind" subject="/roles/rdbms1" inheritable="true"/>

                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms/folder1">
                            <permission action="/actions/write" subject="/users/user1" inheritable="true"/>
                            <permission action="/actions/bind" subject="/users/user1" inheritable="true"/>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms/folder1/subfolderA">
                                    <permission action="/actions/write" subject="/users/user4" inheritable="true"/>
                                    <permission action="/actions/bind" subject="/users/user4" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms/folder1/subfolderB">
                                    <permission action="/actions/write" subject="/users/user1" inheritable="true" negative="true"/>
                                    <permission action="/actions/bind" subject="/users/user1" inheritable="true"/>
                            </objectnode>
                    </objectnode>
            </objectnode>

            <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms2">
                <!-- 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="/actions/read-acl" subject="all" inheritable="true"/>
                <permission action="/actions/write-acl" subject="all" inheritable="true"/>
                <permission action="/actions/unlock" subject="all" inheritable="true"/>
                <permission action="/actions/read" subject="all" inheritable="true"/>
                    <permission action="/actions/write" subject="/users/user1" inheritable="true"/>
                    <permission action="/actions/bind" subject="/users/user1" inheritable="true"/>
                    <permission action="/actions/write" subject="/roles/rdbms1" inheritable="true" negative="true"/>
                    <permission action="/actions/bind" subject="/roles/rdbms1" inheritable="true"/>

                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms2/folder2">
                            <permission action="/actions/write" subject="/users/user1" inheritable="true"/>
                            <permission action="/actions/bind" subject="/users/user1" inheritable="true"/>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms2/folder2/subfolderC">
                                    <permission action="/actions/write" subject="/users/user2" inheritable="true"/>
                                    <permission action="/actions/bind" subject="/users/user2" inheritable="true"/>
                            </objectnode>
                        <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/rdbms2/folder2/subfolderD">
                                    <permission action="/actions/write" subject="/users/user1" inheritable="true" negative="true"/>
                                    <permission action="/actions/bind" subject="/users/user1" inheritable="true"/>
                            </objectnode>
                    </objectnode>
            </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)
    -->

<!-- #Phil - 12/05/2005
Have again taken this as verbatim. The only addition is to move the collections under the "/primary" collection.
-->
    <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">true</parameter>
    <parameter name="versioncontrol-exclude"/>
    <parameter name="checkout-fork">forbidden</parameter>
    <parameter name="checkin-fork">forbidden</parameter>


    <!-- Extractor configuration -->
    <extractors>
        <extractor classname="org.apache.slide.extractor.SimpleXmlExtractor" uri="/primary/files/articles/test.xml">
            <configuration>
                <instruction property="title" xpath="/article/title/text()" />
                <instruction property="summary" xpath="/article/summary/text()" />
            </configuration>
        </extractor>
        <extractor classname="org.apache.slide.extractor.OfficeExtractor" uri="/primary/files/docs/">
            <configuration>
                <instruction property="author" id="SummaryInformation-0-4" />
                <instruction property="application" id="SummaryInformation-0-18" />
            </configuration>
        </extractor>
    </extractors>

    <!-- Event configuration -->
    <events>
        <event classname="org.apache.slide.webdav.event.WebdavEvent" enable="true" />
        <event classname="org.apache.slide.event.ContentEvent" enable="true" />
        <event classname="org.apache.slide.event.ContentEvent" method="retrieve" enable="false" />
        <event classname="org.apache.slide.event.EventCollection" enable="true" />
        <event classname="org.apache.slide.event.TransactionEvent" enable="true" />

        <event classname="org.apache.slide.event.MacroEvent" enable="true"/>

        <!--listener classname="org.apache.slide.util.event.EventLogger" /-->
        <listener classname="org.apache.slide.event.VetoableEventCollector" />
        <listener classname="org.apache.slide.event.TransientEventCollector" />
        <listener classname="org.apache.slide.webdav.event.NotificationTrigger">
            <configuration>
                <notification include-events="false" />
                <persist-subscriptions filename="subscriptions.xml" />
            </configuration>
        </listener>
        <listener classname="org.apache.slide.extractor.PropertyExtractorTrigger" />
        <listener classname="org.apache.slide.search.IndexTrigger">
            <configuration>
                <indexer classname="org.apache.slide.search.LoggingIndexer" synchronous="false" uri="/files/articles" />
            </configuration>
        </listener>
        
                <!-- Uncomment for cluster support. Be sure to local-host and repository-host -->
                <!--
                <listener classname="org.apache.slide.cluster.ClusterCacheRefresher">
                        <configuration>
                                <node local-host="local.host.domain"
                                      local-port="4444"
                                          repository-host="remote.host.domain"
                                          repository-port="8080"
                                          repository-protocol="http"
                                          username="root"
                                          password="root"
                                          base-uri="/files/"
                                />
                        </configuration>
                </listener>
                -->

        <listener classname="org.apache.slide.macro.MacroPropertyUpdater">
          <!-- Listener that updates some properties if resources are 
               copied or moved.  This requires MacroEvents enabled (at 
               least methods copy and move) -->
          <configuration>
            <update-displayname>true</update-displayname>
            <update-owner-on-move>false</update-owner-on-move>
            <update-owner-on-copy>true</update-owner-on-copy>
          </configuration>
        </listener>
    </events>
</slide>

RDBMS_Domain.XML (last edited 2009-09-20 22:02:31 by localhost)