Application configuration
OpenKM configuration file
OpenKM.cfg file is the main OpenKM configuration file. You can find this file in your server in $JBOSS_HOME/OpenKM.cfg. This is a list of the admitted configuration properties:
repository.config repository.home system.user default.user.role default.admin.role principal.adapter max.file.size max.search.results system.demo system.ocr application.url default.lang system.login.username.lowercase system.pdf2swf system.openoffice kea.thesaurus.skos.file kea.thesaurus.owl.file kea.thesaurus.base.url kea.thesaurus.vocabulary.serql kea.stopwords.file kea.automatic.keyword.extraction.number kea.thesaurus.tree.root kea.thesaurus.tree.childs kea.automatic.keyword.extraction.restriction subscription.message.subject subscription.message.body notify.message.subject notify.message.body validator.password validator.password.min.length validator.password.max.length validator.password.min.lowercase validator.password.min.uppercase validator.password.min.digits validator.password.mini.special validator.password.error.min.length validator.password.error.max.length validator.password.error.min.lowercase validator.password.error.max.uppercase validator.password.error.min.digits validator.password.error.min.special chat.enabled chat.autologin schedule.repository.info schedule.mail.importer schedule.session.keepalive schedule.dashboard.refresh
Each time you make some change in the OpenKM.cfg file JBoss server must be restarted to take effect. |
Changing uploading max file size
The default limit is 25MB. If you want to increase to 50MB:
file.size=50.
Changing repository.xml configuration filename and path
repository.config=repository.xml
Changing default repository home
By default repository is stored in $JBOSS_HOME/repository folder but you can change it with:
repository.home=repotest
Changing default connection role
By default connection role to OpenKM is called UserRole, you can change to other role name. This change need some changes too in web.xml file into OpenKM.war/WEB-INF
default.user.role=OtherRole
<security-constraint>
<web-resource-collection>
<web-resource-name>OpenKM Protected Area</web-resource-name>
<!-- GWT -->
<url-pattern>/es.git.openkm.frontend.Main/*</url-pattern>
<url-pattern>/es.git.openkm.backend.Main/*</url-pattern>
<!-- JSPs -->
<url-pattern>/admin/*</url-pattern>
<url-pattern>/mobi/*</url-pattern>
<!-- Servlets -->
<url-pattern>/RepositoryStartupServlet</url-pattern>
<url-pattern>/Test</url-pattern>
<url-pattern>/OKM*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>AdminRole</role-name>
<role-name>OtherRole</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>OpenKM</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp?error=1</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Admin user access</description>
<role-name>AdminRole</role-name>
</security-role>
<security-role>
<description>General user access</description>
<role-name>OtherRole</role-name>
</security-role>
Changing default admin role
By default connection role to OpenKM is called AdminRole, you can change to other role name. This change need some changes too in web.xml file into OpenKM.war/WEB-INF
default.admin.role=OtherAdminRole
<security-constraint>
<web-resource-collection>
<web-resource-name>OpenKM Protected Area</web-resource-name>
<!-- GWT -->
<url-pattern>/es.git.openkm.frontend.Main/*</url-pattern>
<url-pattern>/es.git.openkm.backend.Main/*</url-pattern>
<!-- JSPs -->
<url-pattern>/admin/*</url-pattern>
<url-pattern>/mobi/*</url-pattern>
<!-- Servlets -->
<url-pattern>/RepositoryStartupServlet</url-pattern>
<url-pattern>/Test</url-pattern>
<url-pattern>/OKM*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>OtherAdminRole</role-name>
<role-name>UserRole</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>OpenKM</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp?error=1</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Admin user access</description>
<role-name>OtherAdminRole</role-name>
</security-role>
<security-role>
<description>General user access</description>
<role-name>UserRole</role-name>
</security-role>
Change max results in UI
This option limits the search results in UI.
max.search.results=25
Change principal adapter
OpenKM can handle user access using the JBoss DatabasePrincipalAdapter login module by default. OpenKM needs an available method for reading users and roles. The class DatabasePrincipalAdapter does this job. For more information take a look at OpenKM authentication and Active Directory
principal.adapter=com.openkm.core.DatabasePrincipalAdapter
Switch OpenKM to demo mode
In demo mode some options are disabled by default.
system.demo=on
Enabling OCR
To enable OCR you must put the files system path of OCR engine
system.ocr=/usr/local/bin/tesseract
Setting default lang to OpenKM UI
OpenKM By default tries setting language depending end user language browser. But you can set a language for all OpenKM users by default
default.lang=es-ES
Force username to lowercase
You can forge all username be written in lower case. It's useful for example when you integrate with microsoft active directory where username is not case sensitive
system.login.username.lowercase=on
Enable pdf to swf conversion
To enable preview UI tab, OpenKM need to convert pdf files to swf.
system.pdf2swf=/usr/bin/pdf2swf
Enable open office service
Open office is used by OpenKM to convert files to pdf.
system.openoffice=on
Configuring e-mail
To configuring e-mail service you must enable subscription and notification properties. View a complete example in Notification and subscription messages.
subscription.message.subject=OpenKM - {0} - {1}; subscription.message.body=Document: <a href=\"{0}\">{1}</a> notify.message.subject=OpenKM - NOTIFICATION - {0} notify.message.body=Document: <a href=\"{0}\">{1}</a>
Configuring password validation
To configuring password validation you have several properties. CompletePasswordValidator is default password validator class that comes by default with OpenKM. By default validator is not enabled. You can also create your own Create password validator .
You can select which rules validation you want to enable, for example if you only enable validator.password.min.length property, the validator only will validate minimal length.
validator.password=com.openkm.validator.password.CompletePasswordValidator validator.password.min.length=numeric value greater than 0 validator.password.max.length=numeric value greater than 0 validator.password.min.lowercase=numeric value greater than 0 validator.password.min.uppercase=numeric value greater than 0 validator.password.min.digits=numeric value greater than 0 validator.password.mini.special=numeric value greater than 0 validator.password.error.min.length=Your message error validator.password.error.max.length=Your message error validator.password.error.min.lowercase=Your message error validator.password.error.max.uppercase=Your message error validator.password.error.min.digits=Your message error validator.password.error.min.special=Your message error
Configuring chat service
By default chat and autologin are enabled. In order to enable or disable values can be "on" or "off".
chat.enabled=off chat.autologin=off
Configuring schedulers
There're some schedulers that OpenKM uses. Some internally like mail importer and getting repository news and others used by user interface like dashboard refreshing time and keepalive.
Values must be in minutes.
OpenKM inquires for repository news ( be default one time at day )
schedule.repository.info=240
OpenKM imports mails from imap server ( by default each 60 minutes )
schedule.mail.importer=60
KeepAlive is used by user interface to mantaining browser connected to OpenKM althought users stay sometime without using any operation. For it reason never might be lower that server timeout session ( by default it's 30 minutes ).
schedule.session.keepalive=15
Dashboard data is refreshing by default each 30 minutes.
schedule.dashboard.refresh=30
See also OpenKM.cfg.