Advanced webapp configuration

This section lists the iObeya configuration parameters that can be set during the packaging process.

These parameters are stored in the context file ROOT.xml provided in the iObeya on-prem package. It is possible to modify these parameters later by editing the context file.

We recommend using the following directories instead of default directories.

  • assetStorage (mandatory): defines how the assets (images) will be stored.

    • filesystem: the images are stored in a folder on the server. Recommended for good performance, but needs to be backed up separately from the database.
  • assetDirectory (mandatory): defines the directory where the assets (images) will be stored. Can be relative to dataDirectory.

    • e.g. /var/iobeya/data/assets
    • e.g. assets
  • indexDirectory (mandatory): defines the directory where the indexes will be stored. Can be relative to dataDirectory.

    • e.g. /var/iobeya/data/index
    • e.g. index
  • useIndex (mandatory): Indexes are used to speed up some searches in iObeya. It is higly recommended to set it to true.

    • true or false
  • scimSearchStrategy (optional): changes the search strategy used

    • criteria: uses a strategy with database queries
    • client: everything is calculated on the client, which is likely not powerful enough if you have to manage a large number of users.
  • baseDirectory (mandatory): A root directory that can be used as a reference for other directories.

    • e.g. /var/iobeya
  • cacheDirectory (mandatory): defines the directory where all the cache files generated by the application will be stored. Can be relative to baseDirectory. This directory can be emptied when restarting the application.

    • e.g. /var/iobeya/cache
    • e.g. cache
  • dataDirectory (mandatory): defines the directory where all the files managed by the application will be stored. Can be relative to baseDirectory.

    • e.g. /var/iobeya/data
    • e.g. data
  • tempDirectory (mandatory): defines the directory where all the temporary files managed by the application will be stored. Can be relative to baseDirectory. This directory can be emptied when restarting the application.

    • e.g. /var/iobeya/temp
    • e.g. temp
  • hotDeployPollingFrequency (optional): determines the frequency, in seconds, at which the add-ons directory is scanned for new add-ons to be deployed.

    • Default value is 60 (i.e. 1 minute).
  • log4j2FilePath (optional): defines the path to an external log4j2.xml configuration file. If not set, all logs go to the main application server log file.

    • e.g. /var/iobeya/settings/log4j2.xml
  • pluginsPropertiesDirectory (optional): defines the directory for the add-on’s external properties file. If not set, add-ons that require configuration files will not start.

    • e.g. /var/iobeya/settings/plugins
  • chunkTempFolder (optional): folder used to temporarily store files during upload. If this parameter is not defined, the chunked-temp subfolder from tempDirectory will be used by default.

    • e.g. /var/iobeya/temp/chunked-temp
  • uploadTempDirectory (optional): folder used to temporarily store files during import. If this parameter is not defined, the upload_temp subfolder from tempDirectory will be used by default.

    • e.g. /var/iobeya/temp/upload_temp
  • OSGICacheDirectory (optional): folder used for caching add-ons. If this parameter is not defined, the osgi-cache subfolder from cacheDirectory will be used by default.

    • e.g. /var/iobeya/cache/osgi-cache
  • pluginsDirectory (optional): Folder used for storing add-ons. If this parameter is not defined, the add-ons subfolder from dataDirectory will be used by default.

    • e.g. /var/iobeya/data/plugins
  • bundledPluginsDirectory (optional): folder used for storing default add-ons. If this parameter is not defined, the bundled-plugins subfolder from cacheDirectory will be used by default.

    • e.g. /var/iobeya/cache/bundled-plugins
  • maxUploadSize (optional): determines the maximum file size, in bytes, for uploads to the application (example: board images, board backgrounds,..).

    • Default value is: 10485760 (i.e. 10 MB).
  • maxUploadHeight (optional): determines the maximum allowable height of an image to be uploaded, in pixels.

    • Default value is: 7560 pixels.
  • maxUploadWidth (optional): determines the maximum allowable width of an image to be uploaded, in pixels.

    • Default value is: 7560 pixels.
  • assetCacheSizeLimit (optional): determines the maximum allowable size of an asset to be put in memory cache, in bytes.

    • Default value is: 1048576 (i.e. 1 MB).
  • minScreenshotDelay (optional): used to define the minimum time (in milliseconds) between two screenshot generations for the same board.

    • Default value is 60000 ms (i.e. 1 minute).
  • minScreenshotIdleTime (optional): used to define the delay (in milliseconds) without board content modification, before screenshot generation begins.

    • Default value is 5000 ms (i.e. 5 seconds).
  • screenshotStripeSizePixel (optional): defines the size, in pixels, of strips used for PNG screenshot generation. This parameter can be used to reduce memory consumption while increasing the speed of screenshot generation, as well as the size of generated screenshot. The memory consumed per screenshot is 4x the value of this parameter. Using the maximum value of 38000000 pixels will yield the fastest completion speed, at the cost of 150 MB. The default value is set to 16 MB of memory use, but this can reduce the speed to 7x slower than the previously mentioned maximum value.

    • Default value is 83886080 (i.e 8 Megapixels).
  • pollingInterval (optional): defines how long (in milliseconds) a connection remains open until a message is available.

    • 20000 ms (i.e. 20 seconds).
  • clientWaitInterval (optional): defines how long (in milliseconds) the client waits before it reconnects to read a new message. This reduces the server load by adding latency.

    • 0 ms.
  • clientTimeout (optional): defines how long (in milliseconds) a client not connected (ie: network issue) is considered as “disconnected” by the server.

    • 120000 ms (i.e. 2 minutes).
  • timeToLive (optional): Default lifetime of a message (in milliseconds).

    • 240000 ms (i.e. 4 minutes).
  • clientIdleTimeout (optional): Idle time (in milliseconds) beyond which the client will be automatically disconnected. This measure can reduce the server load by disconnecting inactive users while increasing security by logging out idle terminals. Increase the value of this parameter if you want the sessions to remain active all day long.

    • 25200000 ms (i.e. 7 hours)
  • trashRetentiondays (optional): determines how many days deleted elements are stored and visible in the virtual trash bin in the virtual room. e.g. a value of “2” means that elements that have been in the trash for 2 days or more will be removed from the virtual trash bin. These elements will then be definitively deleted depending on the value of purgeRetentiondays.

    • Default value is 1 day.
  • purgeRetentiondays (optional): determines how many days deleted resources are stored on the platform. e.g. a value of “7” means that elements that have been in the trash for 7 days or more will be definitively removed from the platform when the next purge action occurs.

    • Default value is 7 days.
  • unknownRoomsInHome (optional): determines if public rooms are displayed on the navigation bar. For a large instance with a lot of public rooms, this parameter can provide better performance during the loading of rooms, if it is set to false.

    • Default value is true.
  • allowIFrame (optional): determines if iObeya should be allowed to be displayed in an iFrame or not. Setting this option to “true” will allow session cookies to be set as third party and thus allow iObeya authentication in an iFrame.

    • Default value is false
  • UpdateSyncCopyCountsIsActivated: deactivates the step “update sync copy counts” in the long run job

    • Default value is true
  • RequestScreenshotsGenerationAtStartup: activate or deactivate system screenshots at startup

    Warning

    Do not confuse with systemScreenshotPeriod set to -1 which is permanent even after startup.

    • Default value is false
  • screenshotThreadPriority (since 4.13): controls the screenshot thread priority. It can get two possible values:

    • Default value is low
    • low: the screenshot thread will have low priority
    • normal: the screenshot thread will have normal priority
  • systemScreenshotPeriod (since 4.13): set it to -1 to deactivate the generation of system screenshot requests. When set to -1, new system requests will be ignored and not registered in the database. Any other value will reactivate system screenshots and will define the number of user screenshots that will be generated between each system screenshot.

    • Default value is -1
  • rearrangeScreenshotRequestToTheEnd (since 4.13): controles the screenshot request queue management.

    • Default value is false
    • true: when a request is pushed and it exists in the queue it will be moved to the end.
    • false: the order is kept as it is.
  • countOfScreenshotThreads (since 4.13): controls the number of threads to be used to generate screenshots. Max possible active thread for the screenshot process = threadCountCpuMult x number of core. These threads generate screenshots in a parallel way.

    • Default number is 1 thread.