RealObjects Nimbudocs Editor 2.5.3885_Beta5

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)
  3. Administrative GET requests

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 HTTP GET. This overrides the "adminkeypath" parameter.
adminKeyPath
  • Appliance: /ro/nimbudocs/
  • Docker: /ro/nimbudocs/config/
The Nimbudocs Editor server will look for an "adminkey.txt" file, containing the Admin-Key String, in that folder.
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
  • Appliance: /ro/nimbudocs/
  • Docker: /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
  • Appliance: /ro/jetty9/autosavetmp/
  • Docker: /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!
customFontContextPath /customfonts/ The context under which the custom font files are served from the application server.
customFontFilePath
  • Appliance: /ro/jetty9/webapps/customfonts/fonts/
  • Docker: /ro/nimbudocs/config/customsfonts/
The Nimbudocs Editor server will look for a "customfonts.css" file containing the @font-face rules in that folder. The fonts themselves must also be placed into this folder.
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.
imageCacheContextPath /imagecache/ The context under which the cached images are served from the application server.
imageCachePath
  • Appliance: /ro/jetty9/webapps/imagecache/cache/
  • 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.
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/jetty9/lib/ext 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

If you are using the appliance, you can add custom fonts through the Webmin interface, or by adding a CSS (named customfonts.css) containing the @font-face rules and the referenced font files in the folder configured with the customFontFilePath parameter (defaults to /ro/jetty9/webapps/customfonts/fonts).

If Nimbudocs Editor is deployed as a Docker container you should mount a directory on the host system to /ro/nimbudocs/config (if not already done for the license key), create a folder named customfonts in it, then add a CSS (named customfonts.css) containing the @font-face rules and the referenced font files in that folder.

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: