RealObjects Nimbudocs Editor 3.0.3929_Beta1

Guide: Server Configuration


Introduction

The Nimbudocs Editor server can be configured/managed in various ways:

  1. Global server configuration
  2. Configuration/Administration through the Webmin interface (Appliance-only)

Global server configuration

Server configuration parameters

Configuration parameters can be specified for the Nimbudocs Editor application server. These are parameters the client should not or cannot influence, and they affect all editor sessions.

These server parameters can be configured in various ways depending on your deployment option:

Please note: For the Docker deployment option using a configuration file is recommended.

Configuration file

Server parameters can also be configured in a special configuration file. For the Virtual Appliance, a sample configuration file nimbudocseditorserver.config is available in the /ro/nimbudocs/config directory. For Docker you have to mount it to the /ro/nimbudocs/config directory. The content of this configuration file is one or more lines, each consisting of the following:

parameterName=parameterValue

This format is similar to Java's properties file format.

Java System Properties

As system properties, server parameters have the following form:

com.realobjects.nimbudocs.editor.parameterName=parameterValue

To specify system properties, add them to the section "VM Arguments" in the /ro/jetty9/start.ini file, below the "--exec" line like this:

-Dcom.realobjects.nimbudocs.editor.parameterName=parameterValue

Please note: The parameter name must be prefixed with com.realobjects.nimbudocs.editor.

Servlet Init Parameters

Init parameters are specified in the /ro/jetty9/webapps/nimbueditor.xml file. They appear similar to this:

<Call name="setInitParameter">
    <Arg>parameterName</Arg>
    <Arg>parameterValue</Arg>
</Call>

Environment Variables

Another way to set server parameters is in form of environment variables. How exactly enviroment variables are set is dependent on your system, however it should be similar to this:

export NIMBUDOCS_EDITOR_PARAMETERNAME=parameterValue

Please note: The parameter name is upper cased and must be prefixed with NIMBUDOCS_EDITOR_

Parameter Priority

Should the same server parameter be specified in multiple ways (e.g. as system property and environment variable), the parameter with the highest priority is chosen. The priority is as follows, with the first item having highest priority:

  1. Configuration file
  2. System property
  3. Enviroment variable
  4. Servlet init parameter

List of Configuration Parameters

Name Default Description
adminKey The Admin-Key is used to authenticate for some administrative tasks performed in the Webmin module or via the REST API. This overrides the "adminKeyPath" parameter.
adminKeyPath
  • /ro/nimbudocs/config/
The Nimbudocs Editor server will look for an "adminkey.txt" file, containing the Admin-Key String, in that folder.
allowedCrossOriginHosts Configures the allowed integration hosts. Takes a comma separated list of allowed cross origin locations (host including protocol, e.g.: http://my.integration.host).
apiKeys API keys can be used to authenticate specific integrations of Nimbudocs Editor. If the API key is set (and different from an empty string) the Nimbudocs Editor session will only start if the key is also set in your integration. This parameter sets the API-Keys directly as comma separated list. Will be merged with the API-Keys set by the "apiKeysPath" parameter.
apiKeysPath
  • /ro/nimbudocs/config/
The Nimbudocs Editor server will look for an "apikeys.json" file, containing a JSON Object with multiple "API-Key" -> "Description" objects, in that folder.
autoSaveInterval 10 The interval (in seconds) with which editor sessions are auto-saved to the "autoSaveTempDir".
autoSaveTempDir
  • /ro/nimbudocs/autosavetmp/
The directory in which editor sessions are auto-saved. If ommited the system temp folder will be used.
concurrentEditorSessions 50 Set the concurrent editor session limit. Please note, that increasing the amount of concurrent editor sessions above the calculated maximum (default setting, determined by available memory) might result in decreased performance or even application server crashes!
customFontFilePath
  • /ro/nimbudocs/config/customsfonts/
The file system path where custom font will be uploaded by the REST API
fontCachePath
  • System temp folder
The file system path where fonts loaded from http(s) with no CORS headers will be cached. This allows to use those fonts in Nimbudocs Editor, as they would normally be rejected on the client for cross-origin restrictions.
hibernateCleanupTimeout 600 The time (in seconds) after which an hibernated editor will be removed from memory. Hibernated editors still require memory and occupy an editor session. So it is not recommended to increase this value too much.
hibernateCleanupTimeoutCheckInterval 120 The interval (in seconds) in which it is checked if hibernated editor sessions should be removed.
imageCachePath
  • Appliance: System temp folder
  • Docker: /ro/nimbudocs/imagecache/
The Nimbudocs Editor server will cache images (which are not available from an URL) in this folder.
lenient false Set to true/uncomment to use Nimbudocs Editor with a self-signed certificate, or if you experience other SSL issues.
licenseKeyPath /ro/nimbudocs/config The path where the license key is located.
logLevel WARNING The server side log level. Valid log levels are: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST.
sessionHibernateTimeout 180 Set the timeout (in seconds) until an editor starts hibernating.
sessionHibernateTimeoutCheckInterval 30 The interval (in seconds) in which it is checked if an editor should be hibernated.
storageCleanupCheckInterval 14400 The interval (in seconds) in which it is checked if an auto-saved editor session file should be removed.
storageCleanupRetentionPeriod 86400 How long (in seconds) an auto-saved editor session file should be kept after the last modification.
undoLimit 50 The limit of the Undo/Redo stack of one editor session.

Installing/Setting the license key

The installation of the license key depends on your deployment.

If Nimbudocs Editor is deployed as Virtual Appliance you can either use the Webmin interface (see below) to upload the key or place the licensekey.txt in the /ro/nimbudocs/config directory.

If Nimbudocs Editor is deployed as a Docker container it will look for a license key in /ro/nimbudocs/config/licensekey.txt by default. So you should mount a directory on the host system to /ro/nimbudocs/config and place the licenskey.txt there.

Installing Custom Fonts

Custom fonts can currently only be installed using the appropriate REST API.

Configuration/Administration through the Webmin interface (Appliance-only)

The Webmin interface can be reached at https://yournimbudocsserver:10000, you can login with the following credentials: