Change repository home

By default the repository is located at "$TOMCAT_HOME/repository" but you can change it to another location.

This action must be done with the application stopped.

Understanding the contents of repository folders

In "$TOMCAT_HOME/repository" there are three folder tmp, index, cache and datastore.

FolderBackupDescription

tmp

No

This folder contains some temporary files to be shared beween several clustered OpenKM instances.

index

No

The folder contains the Lucene search engine indexes. The content of this folder can be rebuilt.

Although is not mandatory to backup this folder, we recommend doing it.

 cache

 No

The folder which contains the application's cached files. For example, for previewing documents, sometimes is necessary to transform the original document to another format. The conversion consumes a lot of hardware resources, for this reason the application stores these converted files to be reused later. The contents of this folder can be cleaned without major problems.

Although is not mandatory to backup this folder, we recommend doing it.

datastore

Yes

The folder contains all binary data of the documents.

It is mandatory to backup this folder otherwise the binary data of the documents could be lost on a server hardware fail.

extraction

Yes

This folder contains the text extracted from the documents stored in OpenKM. A backup is not strictly necessary but may save time. 

Move entire repository location

  • Stop the application
  • Move the "$TOMCAT_HOME/repository" to another location.
  • Edit the "$TOMCAT_HOME/OpenKM.cfg" file and add the property "repository.home".
  • Start the application

Sample

Windows

repository.home=C:/okmrepo

Linux

repository.home=/mnt/okmrepo

Move repository folders individually

Table of properties:

FolderPropertyDefault (Since v6.4.34)Multi-tenant (Since v6.4.34)

index

hibernate.search.index.home

${repository.home}/index

${repository.home}/index

tmp

repository.temp.home

${repository.home}/tmp

${repository.home}/tmp

cache

repository.cache.home

${repository.home}/cache

${repository.home}/${tenant.id}/cache

datastore

repository.datastore.home

${repository.home}/datastore

${repository.home}/${tenant.id}/datastore

extraction

repository.extraction.home

${repository.home}/extraction

${repository.home}/${tenant.id}/extraction



These parameters can be used in combination with the parameters "repository.home" and "tenant.id".

  • Stop the application
  • Move the "$TOMCAT_HOME/repository/{folder}" to another location.
  • Edit the "$TOMCAT_HOME/OpenKM.cfg" file and add the relevant property from the list above.
  • Start the application

Sample

Windows

hibernate.search.index.home=C:/${repository.home}/index
repository.datastore.home=D:/okm/${repository.home}/datastore
repository.cache.home=D:/okm/${repository.home}/cache
repository.temp.home=D:/okm/${repository.home}/tmp

Linux

hibernate.search.index.home=/mnt/${repository.home}/index
repository.datastore.home=/mnt/okm/${repository.home}/datastore
repository.cache.home=/mnt/okm/${repository.home}/cache
repository.temp.home=/mnt/okm/${repository.home}/tmp

Troubleshooting

Windows mapped network disk is not working

We encourage do not use networking ( NAS or Samba ) for storing repository. Because network issues will affect the repository we consider as a dangerous configuration.

 Seems there're restrictions using network unit ( mapped with "net use" command line ) and application running from services. To solve it is necessary to create a link between UNC and the file system.

MKLINK /D C:\okm-repository \\192.168.1.36\eDocuments\okm-repository

In most cases will be necessary to use a standard user for running OpenKM service either the standard configured. Take a look at OpenKM windows service configuration to change the default "Local system user" to your own.