Repository configuration

From OpenKM Documentation
Revision as of 11:52, 22 January 2010 by Pavila (talk | contribs) (Created page with 'OpenKM uses Apache Jackrabbit to handle the document repository. From the Jackrabbit site: ''Apache Jackrabbit is a fully conforming implementation of the Content Repository for…')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

OpenKM uses Apache Jackrabbit to handle the document repository. From the Jackrabbit site:

Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API (JCR). A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more. Typical applications that use content repositories include content management, document management, and records management systems.

This means that if you configure an OpenKM repository, you are configuring a Jackrabbit repository.Jackrabbit offers several repository configurations: it can be stored in the local filesystem or in a remote database, or even in the AWS (Amazon Web Service) cloud.

Configuration parameters

The repository configuration file, typically called repository.xml, specifies global options like security, versioning and clustering settings. A default workspace configuration template is also included in the repository configuration file. The top-level structure of the repository configuration file is shown below:

<!DOCTYPE Repository
          PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
          "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
<Repository>
    <FileSystem .../>
    <Security .../>
    <Workspaces .../>
    <Workspace .../>
    <Versioning .../>
    <SearchIndex .../>    <!-- optional -->
    <DataStore .../>      <!-- optional -->
</Repository>

The repository configuration elements are:

  • FileSystem: The virtual file system used by the repository to store things like registered namespaces and node types.
  • Security: Authentication and authorization configuration.
  • Workspaces: Configuration on where and how workspaces are managed.
  • Workspace: Default workspace configuration template.
  • Versioning: Configuration of the repository-wide version store.