How to configure Domain.xml to save content (files) in a file system and locks ,revisions .. etc in a Postgres datat base

Bruno Dorel <[email protected]>
Newsgroups gmane.comp.jakarta.slide.user
Message-ID <[email protected]>
Hi all

I'm trying to use SLIDE stores  in this way :

   1.  I would like to store files (content) in a txFileContentStore to
      save them in my file system
   2.  I would like to use a PostgresDataBase to store "locks, branches
      , revision .... " in a data base to improve performances    


I attach my  Domain.xml

when I  launch Tomcat : SLIDE claim for  a Uri relation and Object 
relation Those tables are not built by the SQL batch given in the HowTo 
JDBC given
as example (SLIDE official site)

Does somebody can have a look  on Domain.xml ?


Regards

B DOREL

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
Domain.xml (text/xml, 24 KB)
<?xml version="1.0"?>
<slide>
    <namespace name="slide">
        <definition>
            <store name="PostgresStore">>
                <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore">
                    <parameter name="adapter">org.apache.slide.store.impl.rdbms.PostgresRDBMSAdapter</parameter>
                    <parameter name="driver">org.postgresql.Driver</parameter>
                    <parameter name="url">jdbc:postgresql://127.0.0.1:5432/totoDataBase</parameter>
                    <parameter name="user">toto</parameter>
                    <parameter name="dbcpPooling">true</parameter>
                    <parameter name="bdcp.maxActive">10</parameter>
                    <parameter name="isolation">SERIALIZABLE</parameter>
                    <parameter name="compress">false</parameter>
                </nodestore>
                <sequencestore>  
                    <reference store="nodestore" />
                </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">/home/opsnetv3/slide-store/content</parameter>
                    <parameter name="workpath">/home/opsnetv3/slide-store/work/content</parameter>
                    <parameter name="defer-saving">false</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.lucene.LuceneContentIndexer">
                        <parameter name="indexpath">slide-store/index/content</parameter>
                        <parameter name="asynchron">true</parameter>
                        <parameter name="priority">3</parameter>
			<parameter name="analyzer">org.apache.lucene.analysis.standard.StandardAnalyzer</parameter>
			<parameter name="analyzer-stopwords">/home/opsnetv3/slide/DicoStop.lucene</parameter>
			<parameter name="max-field">100000</parameter>
		</contentindexer>
                <propertiesindexer classname="org.apache.slide.index.lucene.LucenePropertiesIndexer">
                        <parameter name="indexpath">slide-store/index/metadata</parameter>
                        <parameter name="asynchron">true</parameter>
                        <parameter name="priority">3</parameter>
                </propertiesindexer>
            </store>
            <scope match="/" store="PostgresStore"/>
        </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>/documents</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"
                -->
                <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="/roles/projector" 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>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/administrateur">
                        <revision>
                            <property namespace="http://jakarta.apache.org/slide/" name="password">adminsys1</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 classname="org.apache.slide.structure.SubjectNode" uri="/users/projector">
                        <revision>
                            <property namespace="http://jakarta.apache.org/slide/" name="password">projector</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="/roles/projector" 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><D:href xmlns:D='DAV:'>/users/administrateur</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><D:href xmlns:D='DAV:'>/users/projector</D:href><D:href xmlns:D='DAV:'>/users/administrateur</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 classname="org.apache.slide.structure.SubjectNode" uri="/roles/projector">
                        <revision>
                            <property name="group-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/users/root</D:href><D:href xmlns:D='DAV:'>/users/projector</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="/documents">
                    <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 classname="org.apache.slide.structure.SubjectNode" uri="/documents/index">
                    </objectnode>
                    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/documents/plan">
                    </objectnode>
                </objectnode>
                <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/projector">
                    <permission action="all" subject="unauthenticated" inheritable="true"/>
                    <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"/>
                    <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>


    <!-- Extractor configuration -->
    <extractors>
        <!--extractor classname="org.apache.slide.extractor.SimpleXmlExtractor" uri="/documents/articles/test.xml">
            <configuration>
                <instruction property="title" xpath="/article/title/text()" />
                <instruction property="summary" xpath="/article/summary/text()" />
            </configuration>
        </extractor-->

        <!-- Extracteur texte -->
        <extractor classname="org.apache.slide.extractor.TextContentExtractor" uri="/documents"/>
        <!-- Extracteur XML -->
        <extractor classname="org.apache.slide.extractor.XmlContentExtractor" uri="/documents"/>
        <!-- Extracteur PDF -->
        <!--extractor classname="org.apache.slide.extractor.PDFExtractor" uri="/documents"/-->
        <extractor classname="org.apache.slide.extractor.SASPDFExtractor" uri="/documents"/>
        <!-- Extracteur Office -->
        <extractor classname="org.apache.slide.extractor.OfficeExtractor" uri="/documents">
            <configuration>
                <instruction property="author" id="SummaryInformation-0-4" />
                <instruction property="application" id="SummaryInformation-0-18" />
            </configuration>
        </extractor>
        <extractor classname="org.apache.slide.extractor.MSWordExtractor" uri="/documents"/>
        <extractor classname="org.apache.slide.extractor.MSExcelExtractor" uri="/documents"/>
        <extractor classname="org.apache.slide.extractor.MSPowerPointExtractor" uri="/documents"/>
    </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="/documents/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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.