Defining System Default Settings
This page discusses system default settings and how to define them.
Introduction to System Default Settings
The purpose of system default settings is to simplify the process of copying a production definition from one environment to another. In any production, the values of some settings are determined as part of the production design; these settings should usually be the same in all environments. Other settings, however, must be adjusted to the environment; these settings include file paths, port numbers, and so on.
System default settings should specify only the values that are specific to the environment where InterSystems IRIS® data platform is installed. In contrast, the production definition should specify the values for settings that should be the same in all environments. System default settings are stored in the system defaults table, which is independent of any production.
System default settings are specific to the namespace in which they are defined. They can be applied to all productions, business hosts, and business host classes or a subset of these. InterSystems IRIS uses the most specific match for that setting name. For example, you could create a system default setting for all business hosts within a single production or for a single business host in all productions. You can define a system default for setting A (value A1) for all productions and also define a system default for setting A for a single business host (value A2). If you do so, A1 is the default everywhere except for that business host (which uses the default A2).
Release 2023.3 introduced a special kind of system default setting, namely a system override. These are possible for a specific group of settings by name. If these settings have values within the system defaults table, those values take precedence over the value specified within the production definition. InterSystems IRIS uses the most specific match for that setting name within the system defaults table.
Overall, to find the value for a setting, InterSystems IRIS checks as follows:
-
It checks whether this specific setting can be a system override. If so, and if the system defaults table contains a value (even an empty string) for the setting, InterSystems IRIS uses that value and stops further checking.
-
Otherwise, it checks whether the production definition provides a value (even an empty string). If so, InterSystems IRIS uses the value provided by the most specific match for that setting and stops further checking.
-
Otherwise, it checks whether the system defaults table provides a value (even an empty string). If so, InterSystems IRIS uses the value provided by the most specific match for that setting and stops further checking.
-
Finally, if it hasn’t found a value elsewhere, it uses the value of the setting as specified in the applicable class definition, if there is a default.
The production configuration page uses color-coding for the settings to indicate how the values are set.
Settings That Can Act As System Overrides
For productions, the settings that can act as system overrides are as follows:
-
ActorPoolSize
-
LogGeneralTraceEvents
-
TestingEnabled
For business hosts, the settings that can act as system overrides are as follows:
-
Enabled
-
LogTraceEvents
-
PoolSize
-
Schedule
If you define values for these settings within the system defaults table, those values take precedence and cannot be modified within a production. Additionally, any productions in the given namespace are automatically updated to use the override values.
Displaying the System Default Settings
To access the System Default Settings page, select Interoperability > Configure > System Default Settings. This page displays the system defaults table for the current namespace.
Here you can do the following:
-
Create a new system default setting. To do so, click New. Then see creating or editing a system default setting.
-
Edit an existing setting. To do so, select the setting and click Edit. Then see creating or editing a system default setting.
-
Delete a setting. To do so, select the setting and click Delete.
Security privileges may restrict you from creating, editing, or deleting some of the system default settings. See Security for System Default Settings.
Creating or Editing a System Default Setting
If you are creating a new setting or editing an existing one, InterSystems IRIS displays a page where you enter or edit the following information:
-
Production—Optionally specifies the production to which this default applies. If set to *, this default applies to all productions in the namespace.
-
Item Name—Optionally specifies the business host to which this default applies. If set to *, this default applies to all hosts in the production or in all productions.
-
Host Class Name—Optionally specifies the class of the business host to which this default applies. If set to *, this default applies to all hosts in the production or in all productions.
-
Setting Name—Specifies the name of the property to set. Note that property names do not include spaces. In most cases, the property name is similar to the setting name, with the spaces removed. For example, the setting Log Trace Events is based on a property called LogTraceEvents.
Tip:You can see the property name within the popup window that displays descriptive text for the setting.
-
Setting Value—Specifies the value to assign to the property. If this field is blank; it sets the default to an empty string.
-
Description—Optionally specifies a description of the default.
-
Deployable—If set, the setting can be deployed to another production. For more information about deployment, see Deploying a Production.
The page also displays a tree of productions and other classes. This allows you to find existing settings and drag the names and values to the form. The Expand Tree and Contract Tree buttons and the plus and minus icons allow you to explore the tree to locate the property you are seeking.
While you can use an asterisk (*) in the Production, Item Name, and Host Class Name fields to apply a setting to all the productions in a namespace, you cannot use other wildcard input such as EnsLib*. Additionally, you can specify only one value in each of these fields.
Your security privileges determine which system default settings appear in the tree. For information about these security privileges, see Security for System Default Settings.
When you have completed defining or updating the setting, click Save. The Cancel button discards any changes and returns to the list of settings without creating or updating a setting. The Restore button returns to fields to their initial values and allows you to edit the values.
Using System Default Settings
When using a wizard to create the business service or operation, use the Default applies if no value check box to specify that you want to use system default settings when available. This option is selected by default.
Without the Default applies if no value option, the business host is created with blank values, not the system defaults. In this case, you must manually change the value of the setting to the default; see Restoring a Setting to Its Default Value.
See Also
-
Defining Interoperability Settings (these are more general settings)