blob: 234c63b92f212f024c0fc6829cfd78f3a74d188e [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Repository//EN" "file://config.dtd"> -->
<!DOCTYPE Repository [
<!--
the Repository element configures a repository instance;
individual workspaces of the repository are configured through
separate configuration files called workspace.xml which are
located in a subfolder of the workspaces root directory
(see Workspaces element).
it consists of
a FileSystem element (the virtual file system
used by the repository to persist global state such as
registered namespaces, custom node types, etc..
a Security element that specifies the name of the app-entry
in the JAAS config and the access manager
a Workspaces element that specifies to the location of
workspaces root directory and the name of default workspace
a Workspace element that is used as a workspace configuration
template; it is used to create the initial workspace if there's
no workspace yet and for creating additional workspaces through
the api
a SearchIndex element that is used for configuring per workspace
Indexing-related settings
a Versioning element that is used for configuring
versioning-related settings
-->
<!ELEMENT Repository (FileSystem,Security,Workspaces,Workspace,Versioning)>
<!--
a virtual file system
-->
<!ELEMENT FileSystem (param*)>
<!ATTLIST FileSystem
class CDATA #REQUIRED>
<!--
the Security element specifies the name (appName attribute)
of the JAAS configuration app-entry for this repository.
it also specifies the access manager to be used (AccessManager element).
-->
<!ELEMENT Security (AccessManager)>
<!ATTLIST Security
appName CDATA #REQUIRED>
<!--
the AccessManager element configures the access manager to be used by
this repository instance; the class attribute specifies the FQN of the
class implementing the AccessManager interface
-->
<!ELEMENT AccessManager (param*)>
<!ATTLIST AccessManager
class CDATA #REQUIRED>
<!--
generic parameter (name/value pair)
-->
<!ELEMENT param EMPTY>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED>
<!--
the Workspaces element specifies the workspaces root directory
(rootPath attribute) and the name of the default workspace
(defaultWorkspace attribute).
individual workspaces are configured through individual workspace.xml
files located in a subfolder each of the workspaces root directory.
-->
<!ELEMENT Workspaces EMPTY>
<!ATTLIST Workspaces
rootPath CDATA #REQUIRED
defaultWorkspace CDATA #REQUIRED>
<!--
the Workspace element serves as a workspace configuration template;
it is used to create the initial workspace if there's no workspace yet
and for creating additional workspaces through the api
-->
<!ELEMENT Workspace (FileSystem,PersistenceManager,SearchIndex?)>
<!ATTLIST Workspace
name CDATA #REQUIRED>
<!--
the PersistenceManager element configures the persistence manager
to be used for the workspace; the class attribute specifies the
FQN of the class implementing the PersistenceManager interface
-->
<!ELEMENT PersistenceManager (param*)>
<!ATTLIST PersistenceManager
class CDATA #REQUIRED>
<!--
the SearchIndex element specifies the locaction of the search index
(used by the QueryHandler); the class attribute specifies the
FQN of the class implementing the QueryHandler interface.
-->
<!ELEMENT SearchIndex (param*,FileSystem)>
<!ATTLIST SearchIndex
class CDATA #REQUIRED>
<!--
the Versioning element configures the persistence manager
to be used for persisting version state
-->
<!ELEMENT Versioning (FileSystem, PersistenceManager)>
<!ATTLIST Versioning
rootPath CDATA #REQUIRED
>
]>
<!-- Example Repository Configuration File -->
<Repository>
<!--
virtual file system where the repository stores global state
(e.g. registered namespaces, custom node types, etc.)
-->
<FileSystem class="org.apache.jackrabbit.core.fs.vfs.VFSFileSystem">
<param name="path" value="${rep.home}/repository"/>
<param name="prefix" value="tmp"/>
<param name="config" value="providers.xml" />
</FileSystem>
<!--
security configuration
-->
<Security appName="Jackrabbit">
<!--
access manager:
class: FQN of class implementing the AccessManager interface
-->
<AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
<!-- <param name="config" value="${rep.home}/access.xml"/> -->
</AccessManager>
</Security>
<!--
location of workspaces root directory and name of default workspace
-->
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<!--
workspace configuration template:
used to create the initial workspace if there's no workspace yet
-->
<Workspace name="${wsp.name}">
<!--
virtual file system of the workspace:
class: FQN of class implementing the FileSystem interface
-->
<FileSystem class="org.apache.jackrabbit.core.fs.vfs.VFSFileSystem">
<param name="path" value="${wsp.home}/wspStore.dat"/>
<param name="prefix" value="tmp"/>
<param name="config" value="providers.xml"/>
</FileSystem>
<!--
<FileSystem class="org.apache.jackrabbit.core.fs.vfs.VFSFileSystem">
<param name="path" value="${wsp.home}"/>
<param name="prefix" value="tmp"/>
<param name="config" value="providers.xml"/>
</FileSystem>
-->
<!--
persistence manager of the workspace:
class: FQN of class implementing the PersistenceManager interface
-->
<!--
<PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
-->
<!--
<PersistenceManager class="org.apache.jackrabbit.core.state.mem.InMemPersistenceManager">
<param name="initialCapacity" value="100000"/>
<param name="loadFactor" value="0.3"/>
<param name="persistent" value="true"/>
</PersistenceManager>
-->
<PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager"/>
<!--
Search index and the file system it uses.
-->
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="useCompoundFile" value="true"/>
<param name="minMergeDocs" value="1000"/>
<param name="maxMergeDocs" value="10000"/>
<param name="mergeFactor" value="10"/>
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${wsp.home}/index"/>
</FileSystem>
</SearchIndex>
</Workspace>
<!--
Configures the versioning
-->
<Versioning rootPath="${rep.home}/version">
<!--
Configures the filesystem to use for versioning for the respective
persistence manager
-->
<FileSystem class="org.apache.jackrabbit.core.fs.vfs.VFSFileSystem">
<param name="path" value="${rep.home}/version/version.dat"/>
<param name="prefix" value="tmp"/>
<param name="config" value="providers.xml" />
</FileSystem>
<!--
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/version"/>
</FileSystem>
-->
<!--
Configures the perisistence manager to be used for persisting version state.
Please note that the current versioning implementation is based on
a 'normal' persistence manager, but this could change in future
implementations.
-->
<PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager"/>
</Versioning>
</Repository>