| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!-- |
| 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. |
| --> |
| <!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, LoginModule?)> |
| <!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 LoginModule element optionally specifies a JAAS login module to |
| authenticate users. This feature allows the use of Jackrabbit in a |
| non-JAAS environment. |
| --> |
| <!ELEMENT LoginModule (param*)> |
| <!ATTLIST LoginModule |
| class 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.local.LocalFileSystem"> |
| <param name="path" value="${rep.home}/repository"/> |
| </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> |
| |
| <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule"> |
| <!-- anonymous user name ('anonymous' is the default value) --> |
| <param name="anonymousId" value="anonymous"/> |
| </LoginModule> |
| </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.local.LocalFileSystem"> |
| <param name="path" value="${wsp.home}"/> |
| </FileSystem> |
| <!-- |
| persistence manager of the workspace: |
| class: FQN of class implementing the PersistenceManager interface |
| --> |
| <PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager"/> |
| <!--PersistenceManager class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager"> |
| <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> |
| <param name="schemaObjectPrefix" value="${wsp.name}_"/> |
| </PersistenceManager--> |
| <!-- |
| Search index and the file system it uses. |
| class: FQN of class implementing the QueryHandler interface |
| |
| If required by the QueryHandler implementation, one may configure |
| a FileSystem that the handler may use. |
| |
| Supported parameters for lucene search index: |
| - path: location of the index. This parameter is mandatory! |
| - useCompoundFile: advises lucene to use compound files for the index files |
| - minMergeDocs: minimum number of nodes in an index until segments are merged |
| - volatileIdleTime: idle time in seconds until the volatile index is |
| moved to persistent index even though minMergeDocs is not reached. |
| - maxMergeDocs: maximum number of nodes in segments that will be merged |
| - mergeFactor: determines how often segment indices are merged |
| - bufferSize: maximum number of documents that are held in a pending |
| queue until added to the index |
| - cacheSize: size of the document number cache. This cache maps |
| uuids to lucene document numbers |
| - forceConsistencyCheck: runs a consistency check on every startup. If |
| false, a consistency check is only performed when the search index |
| detects a prior forced shutdown. |
| - autoRepair: errors detected by a consistency check are automatically |
| repaired. If false, errors are only written to the log. |
| |
| Note: all parameters (except path) in this SearchIndex config are default |
| values and can be omitted. |
| --> |
| <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> |
| <param name="path" value="${wsp.home}/index"/> |
| <param name="useCompoundFile" value="true"/> |
| <param name="minMergeDocs" value="100"/> |
| <param name="volatileIdleTime" value="3"/> |
| <param name="maxMergeDocs" value="100000"/> |
| <param name="mergeFactor" value="10"/> |
| <param name="bufferSize" value="10"/> |
| <param name="cacheSize" value="1000"/> |
| <param name="forceConsistencyCheck" value="false"/> |
| <param name="autoRepair" value="true"/> |
| </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.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"/> |
| <!--PersistenceManager class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager"> |
| <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/> |
| <param name="schemaObjectPrefix" value="version_"/> |
| </PersistenceManager--> |
| |
| </Versioning> |
| </Repository> |