System Variables

Overview #

System Variables are about accessing data. They differ from Secured Variables in several ways:

  1. They are defined via [Install_Home]/conf/custom.properties and [Install_Home]/conf/local.properties, and local.properties is not included in backups / restores.
  2. Their values are not configurable via the admin user interface.  It is the administrator’s responsibility to put the required local.properties file in place when a new server is configured.
  3. Secured Variables are not exposed as Page Variables. They are used to restrict data, not to add interactivity.

Usage #

System Variables are typically used in connections and feeds to help isolate system-specific environment settings. Administrators can set up variants of local.properties for Dev, QA, and Prod systems. They can be used directly when a Connection, Feed, or Transform property supports Expressions, and they can also be used inside of a Secured Variable or Credential when its default value is configured as an Expression rather than a Static Value.

Defining System Variables #

The recommended way to set up System Variables is to declare the available System Variables in [Install_Home]/conf/custom.properties and override them as needed via [Install_Home]/conf/local.properties:

There are two types of System Variables: Standard sysVar and Encrypted encSysVar. The first ‘sysVar’ variable type is not encrypted, and the administrator can see the value when inserting it into an Expression. The second ‘encSysVar’ variable type is encrypted. When encrypted encSysVars are accessed, their values in the properties file will be encrypted if necessary. The encSysVar’s value will be displayed as a standard ‘****’ when inserting it into an Expression.

Example Steps:

  • Edit [Install_Home]/conf/custom.properties
  • Add a standard System Variable named eventDbHost with a value of ‘localhost’:

sysVar.eventDbHost=localhost

  • Add an encrypted System Variable named eventDbUser with a value of ‘anonymous’:

encSysVar.eventDbUser=anonymous

  • Add an encrypted System Variable named eventDbPass with a value of ‘changeme’:

encSysVar.eventDbPass=changeme

  • The system will need to be restarted for these named variables to be scanned.