Menu

Custom Settings

Timothy Anyona

Custom Settings

There are a number of settings that can be specified in the WEB-INF\art-custom-settings.json file. When settings in this file are changed, the Custom Settings cache needs to be cleared for them to take effect.

Setting Data Type Default Description
showErrors Boolean true Whether exception details are shown in the user interface
showErrorsApi Boolean true Whether exception details are shown when making api calls
enableDirectParameterSubstitution Boolean true Whether direct parameter value substitution in report sql source is allowed
exportDirectory String Custom directory for export files i.e. files generated by reports and jobs. If blank, these files are placed in the WEB-INF\work\export directory.
workDirectory String Custom work directory for art files e.g. templates. If blank, the WEB-INF\work directory is used.
checkExportFileAccess Boolean false Whether export files should be checked for user access before being accessed
enableGroovySandbox Boolean true Whether to apply a sandbox when running groovy scripts
enableEmailing Boolean true Whether sending of emails is enabled
jwtSecret String String used to sign JWT tokens used in API authentication. If blank, token based api authentication is disabled.
encryptionKey String Key used for encryption of fields in the application e.g. datasource passwords. Must be either 16 bytes (128 bits), 24 bytes (192 bits) or 32 bytes (256 bits) as per the AES algorithm.
encryptionPassword.password String Password used to generate the key for encryption of fields in the application. Can be any length. If specified, it will take precedence over the encryptionKey field.
encryptionPassword.keyLength Integer 128 The desired key length when a password is used to generate the encryption key. Must be either 128, 192 or 256 as per the AES algorithm.
allowRepositoryLogin Boolean true Whether to allow login using ART Database credentials
enableServerFolderDestination Boolean false Whether the Server Folder destination type is allowed
allowHttpHeaderAuthentication Boolean false Whether to allow http header authentication
demo Boolean false Whether the demo users in the demo database are listed in the login page
useCache Boolean true Whether art objects e.g. users, reports etc are cached. A change in this setting would require an application restart.
enableCsrf Boolean true Whether to enable CSRF protection. A change in this setting would require an application restart.
allowedCommandUrls String[] Array of pages that you can call while providing authentication details e.g. from curl. A change in this setting may require an application restart if enableCsrf is true.
csrfExempt String[] Array of ant matchers to exempt from CSRF checking as per the Spring format. A change in this setting would require an application restart.
oauthProviders Object[] Array of oauth provider options as per the format specified in the Settings section
allowUnicodeFileNames Boolean false Whether to allow non-English characters in file names for reports
allowExtraInternalLogin Boolean true Whether to attempt login using internal authentication details after an external authentication attempt has failed
allowInternalLogin Boolean true Whether to allow login using internal authentication details
oauthAutoLogin Boolean false Whether to go directly to the oauth provider login page if only one oauth provider is set

Config Directory

You can specify a different location for the art-custom-settings.json file by using the art.configDirectory system property when starting the application server e.g. -Dart.configDirectory=C:\art. This property, if set, would also indicate where the groovy-whitelist.txt file will be looked for. These two files are never written to by ART, only read, and so the permissions for the directory and files can be set accordingly.