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. Workspace Data Container
2.1.1.5. Value Storage plugin for data container
2.1.1.6. Initializer
2.1.1.7. Cache
2.1.1.8. Query Handler
2.1.1.9. 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