Skip to content

Configuration properties

This topic contains a list of properties in the Leap Leap_config.properties file or defined in the Kubernetes .yaml file. You can adjust the settings listed in the file, or add your own for a custom configuration.

Properties

adminInfo

Allows admin contact information to be shown within error messages.

If adminInfo1 and adminInfo2 are both provided, the error message will be “We are unable to process your request. If this error persists, report the problem to your administrator at adminInfo1, or adminInfo2, and provide error reference: XXX.”

If only adminInfo1 is provided, the error message will be “We are unable to process your request. If this error persists, report the problem to your administrator at adminInfo1 and provide error reference: XXX.”

If neither are provided, the error message will be “We are unable to process your request. If this error persists, report the problem to your administrator and provide error reference: XXX.”

Examples:

ibm.nitro.NitroConfig.adminInfo1 = admin@yourcompany.com 
ibm.nitro.NitroConfig.adminInfo2 = 1-800-GET-HELP

anonBlockedMsg

When a user attempts to access a Leap application anonymously, an error message is displayed. The default message is “Anonymous access blocked”. You can change the default message to provide additional information to the user.

Example:

ibm.nitro.NitroConfig.anonBlockedMsg=Anonymous usage is not allowed

appFiles

List of allowed (whitelist), and not allowed (blackList) of mimetypes, and the number of maximum file sizes for Application File uploads.

appFilesWhiteList – A space separated list of:

  • mimetypes – text/plain application/vnd.xfdl
  • partial mimetypes – text/audio/ /plain
  • file extensions – GIF PDF XML
  • default value – empty (everything is allowed)

appFilesBlackList – A space separated list of:

  • mimetypes – text/plain application/vnd.xfdl
  • partial mimetypes – text/audio/ /plain
  • file extensions – GIF PDF XML
  • default value – exe

appFilesMaxSize (size in kb) – A space separated list of:

  • mimetypes – text/plain application/ /vnd.xfdl
  • file extensions – GIF PDF XML or default as special type
  • default value – 5000

Examples:

ibm.nitro.NitroConfig.appFilesWhiteList = css js html exe text/plain application/vnd.xfdl mov avi 
ibm.nitro.NitroConfig.appFilesBlackList = exe 
ibm.nitro.NitroConfig.appFilesMaxSize.10000 = default 
ibm.nitro.NitroConfig.appFilesMaxSize.50000 = mov avi

appStats

By default, the timer is enabled and the collection time is set to 3 AM daily local server timer.

Note: Depending on the volume of applications, statistics collection may take 10+ minutes, adjust the timer and frequency to server quiet time.

appStats.timerEnabled - Enable Application Statistics collection.
To disable Application Statistics collection, set to false.
Default value: true

appStats.refreshHour - Sets the hour of day to start Application Statistics collection.
Value 0 to 23, indicating the hour of day to start the statistics collection process.
Default value: 3

appStats.refreshDays - Sets the Application Statistics collection day. Use full names of day of the week, separated by a comma, semicolon, or space.
Valid values: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Default value: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday

Examples:

ibm.nitro.NitroConfig.appStats.timerEnabled=true 
ibm.nitro.NitroConfig.appStats.refreshDays=Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
ibm.nitro.NitroConfig.appStats.refreshHour=3

attachmentFiles

List of allowed (whitelist), and not allowed (blackList) of mimetypes, and the number of maximum file sizes for the Attachment form item.

attachmentFilesWhiteList – A space separated list of:

  • mimetypes – text/plain application/vnd.xfdl
  • partial mimetypes – text/audio/ /plain
  • file extensions – GIF PDF XML
  • default value – empty (everything is allowed)

attachmentFilesBlackList – A space separated list of:

  • mimetypes – text/plain application/vnd.xfdl
  • partial mimetypes – text/audio/ /plain
  • file extensions – GIF PDF XML
  • default value – exe js html svg

attachmentFilesMaxSize (size in kb) – A space separated list of:

  • mimetypes – text/plain application/ /vnd.xfdl
  • file extensions – GIF PDF XML or default as special type
  • default value – 5000

Examples:

ibm.nitro.NitroConfig.attachmentFilesWhiteList = css js html exe text/plain application/vnd.xfdl mov avi
ibm.nitro.NitroConfig.attachmentFilesBlackList = exe 
ibm.nitro.NitroConfig.attachmentFilesMaxSize.10000 = default 
ibm.nitro.NitroConfig.attachmentFilesMaxSize.50000 = mov avi

blockAnonAccess

Anonymous access is not allowed by default which means that to use a Leap application or survey, users must authenticate with a valid user ID and password.
This setting determines anonymous access, where:

  • enabled - anonymous access is blocked
  • disabled - anonymous access is allowed
  • redirect - redirects the user to authenticate

Default value: redirect

Example:

ibm.nitro.NitroConfig.blockAnonAccess=redirect

customThemes

The customThemes config settings define a list of customer-provided themes that can be used in Leap applications.

For each theme, two parameters must be set:

  • customThemes.[ID].displayName
  • customThemes.[ID].location

[ID] - An identifier for the custom theme (e.g. "corpTheme1"). The id can contain the letters 'a' through 'z' and numbers, and must start with a letter.

displayName - The theme name to be displayed in the Leap authoring UI.

location -The full URL of the theme's .css file.

For each theme, there are 2 optional parameters:

  • customThemes.[ID].isDefault
  • customThemes.[ID].nl.[LOCALE]

isDefault - If set to true, designates the theme as the default selection for new applications.

nl.[LOCALE] - For globalization support of the theme's display name. [LOCALE] is the locale code that identifies the language (e.g.,"en", "fr", "fr_CA", "zh").

After modifying these settings, restart the Leap server to see the changes in the authoring environment. If the location property of a theme is modified, any deployed applications using that custom theme need to be redeployed for changes to take affect.

Examples:

customThemes.corpTheme1.displayName = Corporate Theme 1
customThemes.corpTheme1.nl.fr = Thème d'entreprise 1
customThemes.corpTheme1.nl.zh = 企业主题1
customThemes.corpTheme1.isDefault = true
customThemes.corpTheme1.location =https://mycompany.com/theme1.css

detectBrowser

If Leap detects an unsupported browser, a warning message is displayed to the user. The user can still see the form after the warning message is closed.Where:

  • warn - The user is warned that the browser is unsupported. A list of supported browsers is displayed in the warning message. When the user closes the warning message, the form is displayed.
  • ignore - The user is not warned that the browser is unsupported, and the form is displayed.

Default value: warn

Example:

ibm.nitro.NitroConfig.detectBrowser=ignore

disableUseTab

Hides the "Use" tab, and prevents fetching the list of deployed and usable applications, where:

  • true - "Use" tab is hidden
  • false - "Use" tab is displayed

Default value: false

Example:

ibm.nitro.NitroConfig.disableUseTab=true

enableAdminConfigUI

Enables the admin configuration page. Valid values are true or false. For more information, refer to Admin Configuration Page.

Default value: false

Example:

ibm.nitro.NitroConfig.enableAdminConfigUI=true

embedDomainWhitelist

The domains where Leap may be embedded. If the whitelist is enabled and the domain is not listed then Leap applications will not be allowed to be presented as part of that content.

This property contains 2 parts:

  • embedDomainWhitelist.enabled
  • embedDomainWhitelist.[N].domain

enabled - Enables/Disables the whitelist. If the whitelist is disabled, Leap will allow itself to be embedded into any domain.

Default value: true

[N].domain - '[N]' is an incrementing number starting with '1'. Provide the domain where embedding Leap applications should be allowed.

Example:

ibm.nitro.NitroConfig.embedDomainWhitelist.enabled = true
ibm.nitro.NitroConfig.embedDomainWhitelist.1.domain = https://embedder1.example.com
ibm.nitro.NitroConfig.embedDomainWhitelist.2.domain = https://embedder2.example.com
ibm.nitro.NitroConfig.embedDomainWhitelist.3.domain = 'self'

EventHandler

Leap contains an event handling implementation that enables printing out all or specific events in the system log or in a separate file based on properties setting, by default this feature is not enabled. Change properties, in the Leap_config.properties file, to monitor events that you are interested in, and where you want to output the event information.

The following will output Events information in Application Server's system log at info or debug level:

  • EventHandler.infoLevelEvents
  • EventHandler.debugLevelEvents

EventHandler.auditLevelEvents will output to a file. The default file location on Windows is C:\febEvents.log and AIX/Linux is /febEvents.log, with maximum file size 5MB, back up to 5 files.

The content of the event output is in CSV format, the description of the data: Event topic, Event time stamp, User id, User email, Application uid, Application title, Form id, Record uid, Result

The following is the list of event topics that Leap sends out:

  • builder/app/delete – Application is deleted
  • builder/app/deploy – Application is deployed for the first time
  • builder/app/redeploy – A deployed application is deployed again
  • builder/app/stop – A deployed application is stopped
  • builder/app/import – Application is imported
  • builder/app/importAndDeploy – Application is imported and deployed
  • builder/app/importAndDeployWithData – Application is imported and deployed with data
  • builder/app/export – Application is exported
  • builder/app/exportWithData – Application is exported with data
  • builder/app/upgrade – Application is upgraded
  • builder/app/upgradeWithDataReplaced – Application is upgraded and the data replaced
  • builder/app/result/export – Application data is exported from View Data (or REST API)
  • builder/app/retrieve/source – Application source is retrieved
  • builder/app/query/deployed – Application deployment state is queried
  • builder/record/submit – A record is submitted by normal app usage
  • builder/record/update – A record is updated by normal app usage
  • builder/record/delete – A record is deleted by normal app usage
  • builder/data/insert/user – A record is created as a result of a direct user action
  • builder/data/insert/code – A record is created indirectly
  • builder/data/update/user – A record is updated as a result of a direct user action
  • builder/data/update/code – A record is updated indirectly
  • builder/data/delete/user – A record is deleted as a result of a direct user action
  • builder/data/delete/code – A record is deleted indirectly

To capture failed events, use "builder/error/[EVENT_TOPIC]"

Example:

 ibm.nitro.EventHandler.infoLevelEvents=builder/record/submit,builder/error/builder/record/submit

exportDataWithEmails

By default when you export data from applications, emails are also exported. You can exclude emails from the export by changing the property value to false.

Where:

  • true - emails are exported with application data
  • false - emails are not exported with application data

Default value: true

Example:

ibm.nitro.NitroConfig.exportDataWithEmails=true

imageDomainWhitelist

The imageDomainWhitelist config settings define a white-list of domains from where images can be uploaded to a Rich Text Entry field.

In addition to setting the following:

imageDomainWhitelist.enabled=true for each domain an additional parameters must be set.

imageDomainWhitelist.[N].domain = where "[N]" is an integer number identifying that service.

domain - The domain property implicitly allows sub-domains. For example, a domain property of example.com allows URLs such as https://www.example.com/anything, http://api.example.com/anything, or https://example.com/anything.

Examples:

ibm.nitro.imageDomainWhitelist.enabled=true
ibm.nitro.imageDomainWhitelist.[1].domain=http://acme.com
ibm.nitro.imageDomainWhitelist.[2].domain=http://acme2.com

InfoEntryPoint.dailyInfo

Provides HTML content that is shown in the login screen. Can be used for status messages, or help.

ibm.nitro.InfoEntryPoint.dailyInfo = Welcome to <b>HCL Leap</b>

LogoutServlet.postLogoutRedirectURL

The value of this parameter tells Leap where to redirect user after log off. If the parameter is not configured or left blank, the user is redirected to the login page.

Example:

ibm.nitro.LogoutServlet.postLogoutRedirectURL=http://example_url.com/signout

maximumRecordsToRetrieve

Maximum number of records that are permitted for export from the View Data page at one time. If the number of records to be exported exceeds the number set by this property, the export is stopped, and an error message is shown.

Note: The default value of 20,000 is supported for base systems. Setting the value higher could result in poor performance, depending on result set size and server hardware.

Example:

ibm.nitro.NitroConfig.maximumRecordsToRetrieve=25000

MemberManager

  • MemberManager.userProps.loginName
  • MemberManager.userProps.id
  • MemberManager.groupProps.id
  • MemberManager.userProps.email
  • MemberManager.userProps.displayName

MemberManager.adminAlias setting is mandatory. For WebSphere Application Server only, configure the VMM login.

By default, Leap uses J2C alias vmmAdmin to authenticate with VMM. You must configure it here if you want to change the J2C alias name.

You must have WebSphere Application Server administrative user credentials to run Leap.

If you use LDAP within WebSphere Application Server, there are a number of properties that look up user and group information. If your LDAP uses different property keys than the ones set by default, update the property keys here so that user and group look up function correctly.

If you are using LDAP within WebSphere Application Server, refer to the following settings:

MemberManager.userProps.loginName: Describes the LDAP property used as the login ID. Each loginName must be unique. Default setting: uid

MemberManager.userProps.id Represents a unique key for the user. This key must be identical to the loginName. Default setting: uid

MemberManager.groupProps.id Represents a unique key for the group. The value is the LDAP property that is used. For example, cn, represents Common Name. Default setting: cn

MemberManager.userProps.email The email address of the user. Leap uses this email address to send notifications and other emails to the user. Default setting: mail

MemberManager.userProps.displayName Used to display the name of the user, instead of the login id. Default setting: cn

Examples:

ibm.was.MemberManager.userProps.loginName = mail 
ibm.was.MemberManager.userProps.id = mail
ibm.was.MemberManager.groupProps.id = name
ibm.was.MemberManager.userProps.email = mail
ibm.was.MemberManager.userProps.displayName = cn

purgeOrphanFilesHours

In some circumstances, files attached to either application designs or user-submitted records can become orphaned if the primary design or record element is removed outside the normal process. File records which are older than this number of hours and are no longer associated with an existing primary record are removed.

Default value: 48<

Example:

ibm.nitro.purgeOrphanFilesHours=36

rootAdminId

The rootAdminId setting defines the login id of a user that will always have access to the Admin Configuration page.

Example

ibm.nitro.NitroConfig.rootAdminId=adminUser

runtimeCSP

The runtimeCSP setting defines the Content-Security-Policy (CSP) header that will be applied to running Forms.

Note: This setting only applies to Forms. It does not currently apply to App Pages, Summary Charts, or the View Data page.

For more information on CSP, see Content Security Policy (CSP) in the Mozilla documentation.

For more information on Strict CSP, see Strict CSP

Example:

ibm.nitro.NitroConfig.runtimeCSP=default-src 'self' *.example.com; img-src *

runtimeResources.[N]

Additional web resources to load into the Leap UI for leveraging the Custom Widget API. The values from these settings will be injected into the <head> section of Leap's HTML pages.

Example:

ibm.nitro.NitroConfig.runtimeResources.1 = <link rel='stylesheet' type='text/css' media='screen' href='/custom-widgets/samples/acme/Acme_Widgets.css'>
ibm.nitro.NitroConfig.runtimeResources.2 = <script type='text/javascript' src='/custom-widgets/samples/acme/Acme_common.js'></script>
ibm.nitro.NitroConfig.runtimeResources.3 = <script type='text/javascript' src='/custom-widgets/samples/acme/Acme_Boolean_Widget.js'></script>

secureJS

Enables or disables JavaScript restrictions in run time forms. When a form designer adds custom JavaScript to an application, this flag restricts the scope of that custom JavaScript. This flag applies to the entire Leap server for all users.

Note: Setting this parameter to false might expose users to malicious JavaScript. Only set to false in a secured environment where Leap applications are created by trusted users.

For more information, see JavaScript API for Leap.

Default value: true

Example:

ibm.nitro.ApplicationCompilerService.secureJS = false

serviceAuthorization

Access to a service description may be given to a specific user, group, or special assignment. The access control is made up of two parts:

  • Who may "discover" and work with the service while designing an application.
  • Who may "invoke" the service.

Users or Groups provided must be defined using the attributes defined by ibm.was.MemberManager.userProps.id = mail and ibm.was.MemberManager.groupProps.id = name respectively.

Special assignment valid values are:

  • all-authenticated: for app author "discover" privilege only
  • anonymous: for app authors and end-user "discover" and "invoke" privileges
  • all-authors: for end-user "invoke" privilege only

To enable service authorizations, set ibm.nitro.NitroConfig.serviceAuthorization.enabled=true. Multiple services may be defined. To define a service authorization, add ibm.nitro.NitroConfig.serviceAuthorization.serviceIdN where serviceIdN is the 'id' of the service description. The value must be a valid JSON string, see provided samples.

Note: A backslash () at the end of a line can be used to present a value over multiple lines. The backslash must be the very last character on the line.

Examples:

ibm.nitro.NitroConfig.serviceAuthorization.enabled = true
ibm.nitro.NitroConfig.serviceAuthorization.serviceId1 = { \
   "comment": "Auth for Service 1", \
   "discover": { "users": ["user1"], "groups": ["group1"], "special": [] }, \
   "invoke": { "users": [], "groups": [], "special": ["all-authenticated"]" } \
}

serverURI

Indicates the base URI used for critical functions, including editing applications, and email. Must include everything necessary to connect to the Leap context, for example, /apps.

With this entry, all emailed links, and absolute links visible during Leap design time start with the following base URI regardless of what the user enters in the address bar.

Example:

ibm.nitro.NitroConfig.serverURI = https://leap.example.com/apps

servicesWhitelist

The servicesWhitelist config settings define a white list of domains and HTTP actions that app authors are allowed to call directly from their applications using URL based services.

In addition to setting servicesWhitelist.enabled=true, for each service two additional parameters must be set:

  • servicesWhitelist.[N].domain =
  • servicesWhitelist.[N].actions =

The domain property implicitly allows sub-domains. For example, a domain property of example.com allows URLs such as https://www.example.com/anything, http://api.example.com/anything, or https://example.com/anything. The https or http protocol included in the domain property is respected. For example, a domain property of https://api.example.com only allows calls to secure SSL https://api.example.com/anything and not to non-secure http://api.example.com/anything. The actions property is a comma-separated list of the HTTP actions allowed for a particular domain. Valid values are GET, PUT, POST, DELETE, HEAD, and PATCH. If the actions value is missing, no actions are allowed.

Where [N] is an integer number identifying that service.

Default value: true

Examples:

ibm.nitro.NitroConfig.servicesWhitelist.enabled = true
ibm.nitro.NitroConfig.servicesWhitelist.1.domain = example.com
ibm.nitro.NitroConfig.servicesWhitelist.1.actions = GET
ibm.nitro.NitroConfig.servicesWhitelist.2.domain = https://securehost.com
ibm.nitro.NitroConfig.servicesWhitelist.2.actions = GET, POST,PUT

Note: This white-list has no effect on service descriptions and custom service transports that were installed on the server by the administrator.

SetupAll.setupStatus

After deploying Leap for the first time or upgrading to a newer version, there is a setup screen that is presented upon accessing the manage page. This setup screen shows the status of detecting and updating the database tables, checks that security is properly enabled, and a mail session is configured. This page requires the admin to click a button to fully progress through the setup.

To disable this setup page and required admin interaction add the property:

ibm.nitro.SetupAll.setupStatus = start

viewResponsesMaximumCount

For DB2® or Oracle. The maximum number of records that are counted when returning record sets in pages. If the total number of records exceeds viewResponsesMaximumCount, then paging indicators will no longer accurately lists the total number of pages. Setting this value higher can have performance consequences for the server if there are many users viewing forms with large response lists.

Default value: 1000

Example:

ibm.nitro.NitroConfig.viewResponsesMaximumCount=2000

xFrameOptions

Deprecated. Use embedDomainWhitelist.

Parent topic: Configuring the properties file