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.
Folder | Backup | Description |
---|---|---|
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:
Folder | Property | Default (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.