Configuring the Application

The ApplicationConfiguration.properties file defines the most important application configuration settings. The file should be located in the curam/omega3 sub-folder of the <client-dir>/JavaSource folder. When you create a new application, this folder will contain a sample file named Initial_ApplicationConfiguration.properties. You should copy this file and rename it to ApplicationConfiguration.properties and change the settings to match your requirements. For the installed Cúram Application, this will be already be done for you, but you may still want to make some changes.

The properties that may be set in this file are as follows:

dateformat
Example: dateformat=M d yyyy

The application-wide date format used when displaying dates or when parsing dates entered by a user. This specific format (per user) is not supported within the Cúram application.

The value of dateformat can be set to any one of a number of predefined formats. Formats in day-month-year order: "d M yyyy" (the default), "d MMM yyyy", "d MMMM yyyy", "dd MM yyyy", "dd MMM yyyy", "dd MMMM yyyy". Formats in month-day-year order: "M d yyyy", "MMM d yyyy", "MMMM d yyyy", "MM dd yyyy", "MMM dd yyyy", "MMMM dd yyyy". Formats in year-month-day order: "yyyy M d", "yyyy MMM d", "yyyy MMMM d", "yyyy MM dd", "yyyy MMM dd", "yyyy MMMM dd".

In these predefined formats, "d" represents the day number, "dd" represents the two-digit day number padded with a leading zero if necessary, "M" represents the month number, "MM" represents the two-digit month number padded with a leading zero if necessary, "MMM" represents the abbreviated month name, "MMMM" represents the full month name, and "yyyy" represents the four-digit year. An upper-case letter "M" is used for the month, as the lower-case letter "m" is used in Java applications to represent the minute value when formatting times. The formats are specified using a space character as a separator. The actual separator character that you wish to use is specified separately.

dateseparator
Example: dateseparator=/

The value of dateseparator can be set to one of ".", ",", "/", or "-". The date separator character that will be applied to the specified date format. The value can be set to any one of a number of predefined separator characters: "/" (the default), ".", ",", or "-".

timeformat
Example: timeformat=HH mm

The value of timeformat can be set to one of "h m s a", "h m a", "H m", "hh mm a", "HH mm", "hhmm a" or "HHmm". Where not specified, "HH mm" is used as the default.

timeseparator
Example: timeseparator=:

The value of timeseparator can be set to one of ":" or ".". Where not specified, ":" is used as the default.

serverConnectionType
Example: serverConnectionType=single

Do not change this value.

addressFormatType
Example: addressFormatType=US

Default address format for addresses in the application.

addressDefaultCountryCode
Example: addressDefaultCountryCode=US

Default, application-wide country code for addresses. This must match an entry on the server application's Country code table.

uploadMaximumSize
Example: uploadMaximumSize=-1

Maximum file upload size in bytes. Files that exceed this size will be rejected. This should be set to match the allocated storage in the database for fields containing uploaded files. This cannot be tailored to suit different database fields. The value -1 indicates no maximum limit.

uploadThresholdSize
Example: uploadThresholdSize=1024

The maximum size in bytes of an uploaded file before a temporary file will be created on the server to reduce the memory overhead of storing the data as it is being processed. By default, uploaded files are written to temporary disk storage if they exceed 1024 bytes.

uploadRepositoryPath
Example: uploadRepositoryPath=c:/temp

Temporary files created during file upload will be written to this location if they exceed the upload threshold size. By default files will be written to the Java system temporary folder (as defined by the Java system property property java.io.tmpdir).

use.synchronizer.token
Example: use.synchronizer.token=true

Whether to use a synchronizer token to prevent accidental re-submission of forms due to use of the browser's Back button. Can be set to true (default) or false.

synchronizer.token.timeout
Example: synchronizer.token.timeout=1800

A synchronizer token will expire if its associated form is never submitted. Values are specified in seconds. The default value for this property is 1,800 seconds.

errorpage.stacktrace.output
Example: errorpage.stacktrace.output=false

The value for this property is true or false, with true as the default.

Stacktrace output is used in the development environment for debugging purposes. When the value for this property is true, the Java exception errors are output into the HTML error pages.

The property must be set to to false in a production environment, e.g. errorpage.stacktrace.output=false, otherwise it will introduce security vulnerabilities into the application. The HTML error pages, which contain the Java exception stack trace, are not subject to the Cúram's application malicious code and filtering checks and will potentially leave the application open to injection attacks, e.g. Cross-site scripting and link injection.

dbtojms.credentials.getter
Example: dbtojms.credentials.getter=curam.sample.CredentialsGetter

Specifies the name of the class used to obtain credentials to be used for triggering a DBtoJMS transfer. If not specified, a default set of credentials will be used for this operation. For more information about DBtoJMS and using this property please see section entitled 'Security Considerations' of the Cúram Batch Processing Guide.

modal.dialogs.minimum.height
Example: modal.dialogs.minimum.height=200

Specifies the minimum required height for a modal dialog in pixels and will be used when the calculated height of the modal dialog is less than the minimum required height or the specified height is less than the minimum required height. The default value of 100 pixels applies if this is not set.

tabSessionUpdateCountThreshold
Example: tabSessionUpdateCountThreshold=10

Specifies the number of tab session data updates that must be received before the data is persisted from the web tier to the database. Once the threshold is reached, the recent updates are written and counting starts again from zero until the threshold is reached. A value of one causes writes on every update. A value of zero (or a negative or invalid value) disables writing based on update counts.

The default is every 10 updates.

For more information consult Session Management.

tabSessionUpdatePeriodThreshold
Example: tabSessionUpdatePeriodThreshold=120

Specifies the number of seconds that must have elapsed since the last time session data was persisted from the web tier to the database before a new update will trigger another write. A value of zero (or a negative or invalid value) disables writing based on update periods.

The default value is 120 seconds, or 2 minutes.

For more information consult Session Management.

resourceCacheMaximumSize
Example: resourceCacheMaximumSize=16000000

Specifies the size of the application resource store cache. By default, the cache is limited to 16MB (approx.) in size. When that limit is reached, the least recently used resources will be ejected from the cache to make room for newly requested resources that are not already in the cache. The size of the cache is specified in bytes.

Note: If a single resource exceeds the size limit for the cache, it will not be cached.

dynamicUIMInitModelOnStart
Example: dynamicUIMInitModelOnStart=false

Indicates if the Dynamic UIM system should initialize the required information on the application model during startup or when it is first required for a Dynamic UIM page. The default value is true and it should be set to false to cause the model to be initialized when it is first required by a Dynamic UIM page.

See Dynamic UIM System Initialization for more detailed information.

sanitize.link.parameter
Example: sanitize.link.parameter=true

Enables protection from link injection attacks. The default value is false.

When the value of this property is true, any parameters in the request URL containing links to content with the Cúram application are validated using a regular expression. The validation ensures that a third party hasn't replaced the link value with a malicious link to an external site.