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.