2.1.1. JCR configuration

2.1.1.1. Repository service configuration
2.1.1.2. Repository configuration
2.1.1.3. Workspace
2.1.1.4. Value Storage plugin for data container
2.1.1.5. Initializer
2.1.1.6. Cache
2.1.1.7. Query Handler
2.1.1.8. Lock Manager

The repository-configuration.xml file is declared in jcr-configuration.xml.


<external-component-plugins>
    <target-component>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</target-component>
    <component-plugin>
        <name>Sample RepositoryServiceConfiguration Plugin</name>
        <set-method>addConfig</set-method>
        <type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationPlugin</type>
        <init-params>
            <value-param>
                <name>conf-path</name>
                <description>JCR configuration file</description>
                <value>war:/conf/platform/repository-configuration.xml</value>
            </value-param>
        </init-params>
    </component-plugin>
</external-component-plugins>

Each repository-configuration.xml file contains configurations of one repository, workspaces of the repository and configurations of workspaces. This file can be found in various locations:

See the following DTD file to understand the expected format of the JCR configuration.


<!ELEMENT repository-service (repositories)>
<!ATTLIST repository-service default-repository NMTOKEN #REQUIRED>
<!ELEMENT repositories (repository)>
<!ELEMENT repository (security-domain,access-control,session-max-age,authentication-policy,workspaces)>
<!ATTLIST repository
  default-workspace NMTOKEN #REQUIRED
  name NMTOKEN #REQUIRED
  system-workspace NMTOKEN #REQUIRED
>
<!ELEMENT security-domain (#PCDATA)>
<!ELEMENT access-control (#PCDATA)>
<!ELEMENT session-max-age (#PCDATA)>
<!ELEMENT authentication-policy (#PCDATA)>
<!ELEMENT workspaces (workspace+)>
<!ELEMENT workspace (container,initializer,cache,query-handler)>
<!ATTLIST workspace name NMTOKEN #REQUIRED>
<!ELEMENT container (properties,value-storages)>
<!ATTLIST container class NMTOKEN #REQUIRED>
<!ELEMENT value-storages (value-storage+)>
<!ELEMENT value-storage (properties,filters)>
<!ATTLIST value-storage class NMTOKEN #REQUIRED>
<!ELEMENT filters (filter+)>
<!ELEMENT filter EMPTY>
<!ATTLIST filter property-type NMTOKEN #REQUIRED>
<!ELEMENT initializer (properties)>
<!ATTLIST initializer class NMTOKEN #REQUIRED>
<!ELEMENT cache (properties)>
<!ATTLIST cache 
  enabled NMTOKEN #REQUIRED
  class NMTOKEN #REQUIRED
>
<!ELEMENT query-handler (properties)>
<!ATTLIST query-handler class NMTOKEN #REQUIRED>
<!ELEMENT access-manager (properties)>
<!ATTLIST access-manager class NMTOKEN #REQUIRED>
<!ELEMENT lock-manager (time-out,persister)>
<!ELEMENT time-out (#PCDATA)>
<!ELEMENT persister (properties)>
<!ELEMENT properties (property+)>
<!ELEMENT property EMPTY>

JCR Service can use multiple Repositories and each repository can have multiple Workspaces. Each workspace contains its configurations, including:

Repositories configuration parameters support human-readable formats of values. They are all case-insensitive:

Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus