Repository Configuration - Enterprise Java Content management system - Hippo CMS

Repository Configuration

Introduction

The repository configuration file is an XML file that specifies the components and configuration of the content repository. Hippo Repository by default ships with a repository.xml configuration file. You only need to know about this configuration file if you need a non-default PersistenceManager, AccessManager, LoginModule or SearchIndex.

The standard repository configuration for Jackrabbit can be found at http://jackrabbit.apache.org/jackrabbit-configuration.html. This document refers to that page for parts that are the same, and elaborates on those parts that are specific for Hippo Repository.

The repository configuration file consists of:

  1. FileSystem element 
  2. Security element
  3. Workspaces root directory element
  4. Workspace element
  5. Versioning element
  6. SearchIndex element

The configuration file has the following overall outline:

<Repository>
  <FileSystem class="...">...</FileSystem>
  <Security>
    <AccessManager class="...">...</AccessManager>
    [ <LoginModule class="...">...</LoginModule> ]
  </Security>
  <Workspaces rootPath="..." defaultWorkspace="..."/>
  <Workspace name="...">
    <FileSystem class="...">...</FileSystem>
    <PersistenceManager class="...">...</PersistenceManager>
    [ <SearchIndex class="..."> ...
    [ <FileSystem class="...">...</FileSystem> ] </SearchIndex> ]
  </Workspace>
  <Versioning rootPath="...">
    <FileSystem class="...">...</FileSystem>
    <PersistenceManager class="...">...</PersistenceManager>
  </Versioning>
</Repository> 

The XML attribute values in the configuration file are interpreted as plain strings except for a few special variables, namely ${rep.home}, ${wsp.name} and ${wsp.home}.

See the Jackrabbit documentation for more information.

FileSystem element

The virtual file system used by the repository to persist global state such as registered namespaces, custom node types, etc.

See the Jackrabbit documentation for more information.

Security element

The Security element specifies the name of the app-entry in the JAAS configuration and the access manager. Hippo Repository by default uses the following configuration:

  <Security appName="Jackrabbit">
    <SecurityManager class="org.hippoecm.repository.security.SecurityManager"/>
    <AccessManager class="org.hippoecm.repository.security.HippoAccessManager"/>
    <LoginModule class="org.hippoecm.repository.security.HippoLoginModule"/>
  </Security>

See Authentication and Users for more information.

Workspaces element

Configures the location of the workspaces root directory and the name of the default workspace.

<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> 

Workspace element

The Workspace element is used as a template for separate workspace configuration files created for each new workspace.

See Workspace configuration for more information.

SearchIndex element

Search index for content that is shared repository wide (/jcr:system tree, contains mainly versions).

See Search Index configuration for more information.

Versioning element

Used for configuring versioning related settings.

Repository Configuration

Introduction

The repository configuration file is an XML file that specifies the components and configuration of the content repository. Hippo Repository by default ships with a repository.xml configuration file. You only need to know about this configuration file if you need a non-default PersistenceManager, AccessManager, LoginModule or SearchIndex.

The standard repository configuration for Jackrabbit can be found at http://jackrabbit.apache.org/jackrabbit-configuration.html. This document refers to that page for parts that are the same, and elaborates on those parts that are specific for Hippo Repository.

The repository configuration file consists of:

  1. FileSystem element 
  2. Security element
  3. Workspaces root directory element
  4. Workspace element
  5. Versioning element
  6. SearchIndex element

The configuration file has the following overall outline:

<Repository>
  <FileSystem class="...">...</FileSystem>
  <Security>
    <AccessManager class="...">...</AccessManager>
    [ <LoginModule class="...">...</LoginModule> ]
  </Security>
  <Workspaces rootPath="..." defaultWorkspace="..."/>
  <Workspace name="...">
    <FileSystem class="...">...</FileSystem>
    <PersistenceManager class="...">...</PersistenceManager>
    [ <SearchIndex class="..."> ...
    [ <FileSystem class="...">...</FileSystem> ] </SearchIndex> ]
  </Workspace>
  <Versioning rootPath="...">
    <FileSystem class="...">...</FileSystem>
    <PersistenceManager class="...">...</PersistenceManager>
  </Versioning>
</Repository> 

The XML attribute values in the configuration file are interpreted as plain strings except for a few special variables, namely ${rep.home}, ${wsp.name} and ${wsp.home}.

See the Jackrabbit documentation for more information.

FileSystem element

The virtual file system used by the repository to persist global state such as registered namespaces, custom node types, etc.

See the Jackrabbit documentation for more information.

Security element

The Security element specifies the name of the app-entry in the JAAS configuration and the access manager. Hippo Repository by default uses the following configuration:

  <Security appName="Jackrabbit">
    <SecurityManager class="org.hippoecm.repository.security.SecurityManager"/>
    <AccessManager class="org.hippoecm.repository.security.HippoAccessManager"/>
    <LoginModule class="org.hippoecm.repository.security.HippoLoginModule"/>
  </Security>

See Authentication and Users for more information.

Workspaces element

Configures the location of the workspaces root directory and the name of the default workspace.

<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> 

Workspace element

The Workspace element is used as a template for separate workspace configuration files created for each new workspace.

See Workspace configuration for more information.

SearchIndex element

Search index for content that is shared repository wide (/jcr:system tree, contains mainly versions).

See Search Index configuration for more information.

Versioning element

Used for configuring versioning related settings.