Home > Class Reference > %SYS namespace > Config.Startup


persistent class Config.Startup extends %Library.Persistent, Config.CommonSingleMethods, Config.CommonProperties, %SYSTEM.Help

SQL Table Name: Config.Startup

This class allows you to modify and view the [Startup] section of the CPF file through programmatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, specify the CPF file you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Get/Modify) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects.


; Use class methods to modify properties
%SYS>s Status=##Class(Config.Startup).Get(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties("MaxConsoleLogSize")
%SYS>s Properties("MaxConsoleLogSize")=10
%SYS>s Status=##Class(Config.Startup).Modify(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.Startup).Open()
%SYS>w Obj.MaxConsoleLogSize
%SYS>s Obj.MaxConsoleLogSize=20
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Property Inventory (Including Private)

Method Inventory (Including Private)


parameter PROPERTIESMAYBEINCPF = EnableECP,EnableSharding;
List of properties which may or may not be in the CPF file.
They have a corresponding %Boolean property to determine if they are in the file or not. For example, the property "DebugFlags" has a %Boolean "DebugFlagsPresent" property associated with it.

Properties (Including Private)

property ArbiterURL as %String (MAXLEN = 256);
When configuring a mirror using ShardMirrorRole, this field can be used to specify an Arbiter.
The format of this field is host:port
Property methods: ArbiterURLDisplayToLogical(), ArbiterURLGet(), ArbiterURLGetStored(), ArbiterURLIsValid(), ArbiterURLLogicalToDisplay(), ArbiterURLLogicalToOdbc(), ArbiterURLNormalize(), ArbiterURLSet()
property CallinHalt as %Boolean [ InitialExpression = 1 , Required ];
Execute the CALLIN^%ZSTOP routine entry during calling Halt.
Property methods: CallinHaltDisplayToLogical(), CallinHaltGet(), CallinHaltGetStored(), CallinHaltIsValid(), CallinHaltLogicalToDisplay(), CallinHaltLogicalToXSD(), CallinHaltNormalize(), CallinHaltSet(), CallinHaltXSDToLogical()
property CallinStart as %Boolean [ InitialExpression = 1 , Required ];
Executes the CALLIN^%ZSTART routine entry during Callin startup.
Property methods: CallinStartDisplayToLogical(), CallinStartGet(), CallinStartGetStored(), CallinStartIsValid(), CallinStartLogicalToDisplay(), CallinStartLogicalToXSD(), CallinStartNormalize(), CallinStartSet(), CallinStartXSDToLogical()
property CliSysName as %String (MAXLEN = 64, MINLEN = 0);
Name used to append to $J when Config.Miscellaneous.NodeNameInPid is set.
Property methods: CliSysNameDisplayToLogical(), CliSysNameGet(), CliSysNameGetStored(), CliSysNameIsValid(), CliSysNameLogicalToDisplay(), CliSysNameLogicalToOdbc(), CliSysNameNormalize(), CliSysNameSet()
property DBSizesAllowed as %String (MINLEN = 4) [ InitialExpression = "8192" , Required ];
Stores a list of allowed database block sizes.
Property methods: DBSizesAllowedDisplayToLogical(), DBSizesAllowedGet(), DBSizesAllowedGetStored(), DBSizesAllowedIsValid(), DBSizesAllowedLogicalToDisplay(), DBSizesAllowedLogicalToOdbc(), DBSizesAllowedNormalize(), DBSizesAllowedSet()
property DefaultPort as %Integer [ InitialExpression = 1972 , Required ];
Port for the SuperServer.
Property methods: DefaultPortBindAddressDisplayToLogical(), DefaultPortBindAddressGet(), DefaultPortBindAddressGetStored(), DefaultPortBindAddressIsValid(), DefaultPortBindAddressLogicalToDisplay(), DefaultPortBindAddressLogicalToOdbc(), DefaultPortBindAddressNormalize(), DefaultPortBindAddressSet(), DefaultPortDisplayToLogical(), DefaultPortGet(), DefaultPortGetStored(), DefaultPortIsValid(), DefaultPortLogicalToDisplay(), DefaultPortNormalize(), DefaultPortSet(), DefaultPortXSDToLogical()
property DefaultPortBindAddress as Config.Host (MAXLEN = 256, MINLEN = 0);
IP Address SuperServer will bind to.
By default, the SuperServer accepts requests on all addresses, but if a DefaultPortBindAddress is specified it will accept requests only on that address. You should insure that all clients, including the CSP Gateway, are also configured to connect to the address you specify. If no address is specified, the SuperServer will accept requests directed to any address on the server.
Property methods: DefaultPortBindAddressDisplayToLogical(), DefaultPortBindAddressGet(), DefaultPortBindAddressGetStored(), DefaultPortBindAddressIsValid(), DefaultPortBindAddressLogicalToDisplay(), DefaultPortBindAddressLogicalToOdbc(), DefaultPortBindAddressNormalize(), DefaultPortBindAddressSet()
property EnableVSSBackup as %Boolean [ InitialExpression = 0 , Required ];
Start the VSS Backup Daemon.
Property methods: EnableVSSBackupDisplayToLogical(), EnableVSSBackupGet(), EnableVSSBackupGetStored(), EnableVSSBackupIsValid(), EnableVSSBackupLogicalToDisplay(), EnableVSSBackupLogicalToXSD(), EnableVSSBackupNormalize(), EnableVSSBackupSet(), EnableVSSBackupXSDToLogical()
property EnsembleAutoStart as %Boolean [ InitialExpression = 0 , Required ];
Auto start the Interoperability productions.
Property methods: EnsembleAutoStartDisplayToLogical(), EnsembleAutoStartGet(), EnsembleAutoStartGetStored(), EnsembleAutoStartIsValid(), EnsembleAutoStartLogicalToDisplay(), EnsembleAutoStartLogicalToXSD(), EnsembleAutoStartNormalize(), EnsembleAutoStartSet(), EnsembleAutoStartXSDToLogical()
property ErrorPurge as %Integer (MAXVAL = 1000, MINVAL = 1) [ InitialExpression = 30 , Required ];
Number of days to store application error logs before purging them.
Property methods: ErrorPurge(), ErrorPurgeDisplayToLogical(), ErrorPurgeGet(), ErrorPurgeGetStored(), ErrorPurgeIsValid(), ErrorPurgeLogicalToDisplay(), ErrorPurgeNormalize(), ErrorPurgeSet(), ErrorPurgeXSDToLogical()
property FIPSMode as %Boolean [ InitialExpression = 0 , Required ];
Use FIPS 140-2 compliant library for database encryption.
Property methods: FIPSModeDisplayToLogical(), FIPSModeGet(), FIPSModeGetStored(), FIPSModeIsValid(), FIPSModeLogicalToDisplay(), FIPSModeLogicalToXSD(), FIPSModeNormalize(), FIPSModeSet(), FIPSModeXSDToLogical()
property IPv6 as %Boolean [ InitialExpression = 0 , Required ];
System is operating in an IPv6 network, with IPv6 addresses.
0 - IPv6 is not enabled.
1 - IPv6 is enabled.
Property methods: IPv6DisplayToLogical(), IPv6Get(), IPv6GetStored(), IPv6IsValid(), IPv6LogicalToDisplay(), IPv6LogicalToXSD(), IPv6Normalize(), IPv6Set(), IPv6XSDToLogical()
property JobHalt as %Boolean [ InitialExpression = 1 , Required ];
Execute the JOB^%ZSTOP routine entry during JOB process Halt.
Property methods: JobHaltDisplayToLogical(), JobHaltGet(), JobHaltGetStored(), JobHaltIsValid(), JobHaltLogicalToDisplay(), JobHaltLogicalToXSD(), JobHaltNormalize(), JobHaltSet(), JobHaltXSDToLogical()
property JobServers as %Integer (MAXVAL = 2000, MINVAL = 0) [ InitialExpression = 0 , Required ];
Number of job servers you want the system to start up with.
Property methods: JobServersDisplayToLogical(), JobServersGet(), JobServersGetStored(), JobServersIsValid(), JobServersLogicalToDisplay(), JobServersNormalize(), JobServersSet(), JobServersXSDToLogical()
property JobStart as %Boolean [ InitialExpression = 1 , Required ];
Execute the JOB^%ZSTART routine entry during JOB process startup.
Property methods: JobStartDisplayToLogical(), JobStartGet(), JobStartGetStored(), JobStartIsValid(), JobStartLogicalToDisplay(), JobStartLogicalToXSD(), JobStartNormalize(), JobStartSet(), JobStartXSDToLogical()
property LicenseID as %String (MAXLEN = 32);
LicenseID is used to request the license key from the License Server at startup, if there is no local key file.
Property methods: LicenseIDDisplayToLogical(), LicenseIDGet(), LicenseIDGetStored(), LicenseIDIsValid(), LicenseIDLogicalToDisplay(), LicenseIDLogicalToOdbc(), LicenseIDNormalize(), LicenseIDSet()
property MaxConsoleLogSize as %Integer (MAXVAL = 500, MINVAL = 1) [ InitialExpression = 5 , Required ];
Maximum size in megabytes of the messages.log after which it will be automatically switched.
Property methods: MaxConsoleLogSizeDisplayToLogical(), MaxConsoleLogSizeGet(), MaxConsoleLogSizeGetStored(), MaxConsoleLogSizeIsValid(), MaxConsoleLogSizeLogicalToDisplay(), MaxConsoleLogSizeNormalize(), MaxConsoleLogSizeSet(), MaxConsoleLogSizeXSDToLogical()
property MaxIRISTempSizeAtStart as %Integer (MAXVAL = 1000000, MINVAL = 0) [ InitialExpression = 0 , Required ];
Maximum size in megabytes the IRISTEMP database will be when the system is restarted.
When the system restarts, the IRISTEMP database will be truncated to this size. If 0, the IRISTEMP database will not be truncated.
Property methods: MaxIRISTempSizeAtStartDisplayToLogical(), MaxIRISTempSizeAtStartGet(), MaxIRISTempSizeAtStartGetStored(), MaxIRISTempSizeAtStartIsValid(), MaxIRISTempSizeAtStartLogicalToDisplay(), MaxIRISTempSizeAtStartNormalize(), MaxIRISTempSizeAtStartSet(), MaxIRISTempSizeAtStartXSDToLogical()
property PasswordHash as %String;
Set the IRIS password using a cryptographic hash and salt.
  • Algorithm: PBKDF2WithHmacSHA1
  • Iterations: 1024
  • Key Length: 160 bits
  • Salt Length: 8 chars
The format of this field is: hash,salt
Property methods: PasswordHashDisplayToLogical(), PasswordHashGet(), PasswordHashGetStored(), PasswordHashIsValid(), PasswordHashLogicalToDisplay(), PasswordHashLogicalToOdbc(), PasswordHashNormalize(), PasswordHashSet()
property ProcessHalt as %Boolean [ InitialExpression = 1 , Required ];
Execute the LOGIN^%ZSTOP routine entry during terminal user Halt.
Property methods: ProcessHaltDisplayToLogical(), ProcessHaltGet(), ProcessHaltGetStored(), ProcessHaltIsValid(), ProcessHaltLogicalToDisplay(), ProcessHaltLogicalToXSD(), ProcessHaltNormalize(), ProcessHaltSet(), ProcessHaltXSDToLogical()
property ProcessStart as %Boolean [ InitialExpression = 1 , Required ];
Execute the LOGIN^%ZSTART routine entry during terminal user startup.
Property methods: ProcessStartDisplayToLogical(), ProcessStartGet(), ProcessStartGetStored(), ProcessStartIsValid(), ProcessStartLogicalToDisplay(), ProcessStartLogicalToXSD(), ProcessStartNormalize(), ProcessStartSet(), ProcessStartXSDToLogical()
property ShardClusterURL as %String (MAXLEN = 256);
In node-level architecture, specifies the location of the initial data node. This field should be populated for all values of ShardRole other than NODE1.
The format of this field is: IRIS://host:port/namespace
Property methods: ShardClusterURLDisplayToLogical(), ShardClusterURLGet(), ShardClusterURLGetStored(), ShardClusterURLIsValid(), ShardClusterURLLogicalToDisplay(), ShardClusterURLLogicalToOdbc(), ShardClusterURLNormalize(), ShardClusterURLSet()
property ShardMasterRegexp as %String (MAXLEN = 16) [ InitialExpression = "-0$" ];
Regular expression used to determine node type when ShardRole is AUTO. If the hostname matches this expression, role will be NODE1, otherwise DATA. The default regular expression assumes that the hostname for the NODE1 node ends in "-0":
    iris-data-0      // NODE1
    iris-data-1      // DATA
    . . .
    iris-data-N      // DATA
However, suppose your hostname convention was the following:
    iris-data-0-0      // Shard 0 primary
    iris-data-0-1      // Shard 0 backup
    iris-data-1-0      // Shard 1 primary
    iris-data-1-1      // Shard 1 backup
    . . .
    iris-data-N-0      // Shard N primary
    iris-data-N-1      // Shard N backup
In this case, we choose a value for ShardMasterRegexp that matches the first node only: "-0-0$"
Property methods: ShardMasterRegexpDisplayToLogical(), ShardMasterRegexpGet(), ShardMasterRegexpGetStored(), ShardMasterRegexpIsValid(), ShardMasterRegexpLogicalToDisplay(), ShardMasterRegexpLogicalToOdbc(), ShardMasterRegexpNormalize(), ShardMasterRegexpSet()
property ShardMirrorMember as %String (MAXLEN = 7);
Make this node part of a mirror:
  • primary: This node will be the primary failover member
  • backup: This node will be the backup failover member
  • auto: Automatic failover member selection based on whether the hostname (which must conform with ShardRegexp) contains an even or odd number after the final dash:
      iris-data-0: primary
      iris-data-1: backup
      iris-data-2: primary
      iris-data-3: backup
Note that these are only initial designations, and that failover may occur at any time.
Property methods: ShardMirrorMemberDisplayToLogical(), ShardMirrorMemberGet(), ShardMirrorMemberGetStored(), ShardMirrorMemberIsValid(), ShardMirrorMemberLogicalToDisplay(), ShardMirrorMemberLogicalToOdbc(), ShardMirrorMemberNormalize(), ShardMirrorMemberSet()
property ShardRegexp as %String (MAXLEN = 16) [ InitialExpression = "-[0-9]+$" ];
Regular expression used to make sure that hostnames conform to a regular numbering scheme, which is a prerequisite for using ShardRole and ShardMirrorMember in automatic mode. The default assumes a scheme such as the following:
    . . .
Property methods: ShardRegexpDisplayToLogical(), ShardRegexpGet(), ShardRegexpGetStored(), ShardRegexpIsValid(), ShardRegexpLogicalToDisplay(), ShardRegexpLogicalToOdbc(), ShardRegexpNormalize(), ShardRegexpSet()
property ShardRole as %String (MAXLEN = 7);
Specify the role of this IRIS instance in nod-level architecture:
  • NODE1: This is the initial data node; if mirrored, set on primary failover member only
  • DATA: For all data nodes other than NODE1
  • AUTO: Automatically determine role by comparing hostname with ShardMasterRegexp:
    • Match: NODE1
    • Non-match: DATA
  • COMPUTE: This will be a compute node
For all roles other than NODE1, requires that ShardClusterURL be provided.
Property methods: ShardRoleDisplayToLogical(), ShardRoleGet(), ShardRoleGetStored(), ShardRoleIsValid(), ShardRoleLogicalToDisplay(), ShardRoleLogicalToOdbc(), ShardRoleNormalize(), ShardRoleSet()
property ShutdownTimeout as %Integer (MAXVAL = 100000, MINVAL = 120) [ InitialExpression = 300 , Required ];
Enter the time, in seconds, InterSystems IRIS should wait for shutdown to complete normally before timing out and forcing a shutdown.
Property methods: ShutdownTimeoutDisplayToLogical(), ShutdownTimeoutGet(), ShutdownTimeoutGetStored(), ShutdownTimeoutIsValid(), ShutdownTimeoutLogicalToDisplay(), ShutdownTimeoutNormalize(), ShutdownTimeoutSet(), ShutdownTimeoutXSDToLogical()
property SystemHalt as %Boolean [ InitialExpression = 1 , Required ];
Execute the SYSTEM^%ZSTOP routine entry during system shutdown.
Property methods: SystemHaltDisplayToLogical(), SystemHaltGet(), SystemHaltGetStored(), SystemHaltIsValid(), SystemHaltLogicalToDisplay(), SystemHaltLogicalToXSD(), SystemHaltNormalize(), SystemHaltSet(), SystemHaltXSDToLogical()
property SystemMode as %String (MAXLEN = 32);
The SystemMode is displayed in the title of the Management Portal web page. Currently, SystemMode string values recognized by the Management Portal include:
  • LIVE
  • TEST
Property methods: SystemModeDisplayToLogical(), SystemModeGet(), SystemModeGetStored(), SystemModeIsValid(), SystemModeLogicalToDisplay(), SystemModeLogicalToOdbc(), SystemModeNormalize(), SystemModeSet()
property SystemStart as %Boolean [ InitialExpression = 1 , Required ];
Executes the SYSTEM^%ZSTART routine entry during system startup.
Property methods: SystemStartDisplayToLogical(), SystemStartGet(), SystemStartGetStored(), SystemStartIsValid(), SystemStartLogicalToDisplay(), SystemStartLogicalToXSD(), SystemStartNormalize(), SystemStartSet(), SystemStartXSDToLogical()
property TempDirectory as %SysPath [ InitialExpression = "Temp" ];
Directory for temporary files.
Property methods: TempDirectoryDisplayToLogical(), TempDirectoryGet(), TempDirectoryGetStored(), TempDirectoryIsValid(), TempDirectoryLogicalToDisplay(), TempDirectoryLogicalToOdbc(), TempDirectoryNormalize(), TempDirectorySet()
property TerminalPrompt as %String [ InitialExpression = "8,2" , Required ];
Set the format of the terminal prompt.
This is a comma separated string of values which set the default terminal prompt for the system.
0 - Use only ">" for the prompt.
1 - Host name, also known as the current system name. The name assigned to your computer. For example, LABLAPTOP>. This is the same for all of your terminal processes.
2 - Namespace name. For example, %SYS>. The current namespace name is contained in the $NAMESPACE special variable. It can be an explicit namespace name or an implied namespace name.
3 - Config name. The name of your system installation. For example, DEVELOPMENT>. This is the same for all of your terminal processes.
4 - Current time, expressed as local time in 24-hour format with whole seconds. For example, 15:59:36>. This is the static time value for when the prompt was returned. This value changes for each prompt.
5 - pid. The Process ID for your terminal. For example, 2336>. This is different for each terminal process. This value can also be returned from the $JOB special variable.
6 - Username. For example, fred>. This is the same for all of your terminal processes.
7 - Elapsed time executing the last command, in seconds.milliseconds. For example, .000495>. Leading and trailing zeros are suppressed. This changes for each prompt.
8 - Transaction Level. For example, TL1>.

The order of the values in the string determines the order the values appear in the prompt. For example TerminalPrompt="2,1" will give you a terminal prompt of "%SYS:HostName>"
Property methods: TerminalPromptDisplayToLogical(), TerminalPromptGet(), TerminalPromptGetStored(), TerminalPromptIsValid(), TerminalPromptLogicalToDisplay(), TerminalPromptLogicalToOdbc(), TerminalPromptNormalize(), TerminalPromptSet()
property WebServer as %Boolean [ InitialExpression = 1 , Required ];
Start the private WebServer.
Property methods: WebServerDisplayToLogical(), WebServerGet(), WebServerGetStored(), WebServerIsValid(), WebServerLogicalToDisplay(), WebServerLogicalToXSD(), WebServerNameDisplayToLogical(), WebServerNameGet(), WebServerNameGetStored(), WebServerNameIsValid(), WebServerNameLogicalToDisplay(), WebServerNameLogicalToOdbc(), WebServerNameNormalize(), WebServerNameSet(), WebServerNormalize(), WebServerPortDisplayToLogical(), WebServerPortGet(), WebServerPortGetStored(), WebServerPortIsValid(), WebServerPortLogicalToDisplay(), WebServerPortNormalize(), WebServerPortSet(), WebServerPortXSDToLogical(), WebServerSet(), WebServerURLPrefixDisplayToLogical(), WebServerURLPrefixGet(), WebServerURLPrefixGetStored(), WebServerURLPrefixIsValid(), WebServerURLPrefixLogicalToDisplay(), WebServerURLPrefixLogicalToOdbc(), WebServerURLPrefixNormalize(), WebServerURLPrefixSet(), WebServerXSDToLogical()
property WebServerName as %String;
Webserver name or IP address the private web server is running on.
If not specified, it defaults to localhost. For Unix and Windows, the private web server will be started on this node, on the specified IP address and port. For VMS, This is the IP address of the node where the webserver is running.
Property methods: WebServerNameDisplayToLogical(), WebServerNameGet(), WebServerNameGetStored(), WebServerNameIsValid(), WebServerNameLogicalToDisplay(), WebServerNameLogicalToOdbc(), WebServerNameNormalize(), WebServerNameSet()
property WebServerPort as %Integer [ InitialExpression = 57772 , Required ];
Private WebServer port.
Property methods: WebServerPortDisplayToLogical(), WebServerPortGet(), WebServerPortGetStored(), WebServerPortIsValid(), WebServerPortLogicalToDisplay(), WebServerPortNormalize(), WebServerPortSet(), WebServerPortXSDToLogical()
property WebServerURLPrefix as %SysPath;
URL prefix.
Property methods: WebServerURLPrefixDisplayToLogical(), WebServerURLPrefixGet(), WebServerURLPrefixGetStored(), WebServerURLPrefixIsValid(), WebServerURLPrefixLogicalToDisplay(), WebServerURLPrefixLogicalToOdbc(), WebServerURLPrefixNormalize(), WebServerURLPrefixSet()
property ZSTU as %Boolean [ InitialExpression = 1 , Required ];
Run the user defined startup from the ZSTU routine at system startup.
Property methods: ZSTUDisplayToLogical(), ZSTUGet(), ZSTUGetStored(), ZSTUIsValid(), ZSTULogicalToDisplay(), ZSTULogicalToXSD(), ZSTUNormalize(), ZSTUSet(), ZSTUXSDToLogical()

Methods (Including Private)

classmethod CheckWebServerStatus(Delay As %Integer = 0, TCPPort As %Integer = 0) as %Status [ Language = objectscript ]
Request a test page (ping) from the private webserver.

This is valid only for Windows and Unix. If run on VMS, or the web server is configured to not start, it always returns success.
Delay - Number of seconds to wait before making request.
classmethod RestartSuperServer() as %Status [ Language = objectscript ]
Restart the super server.
classmethod RestartWebServer() as %Status [ Language = objectscript ]
Restart the private webserver.
classmethod SetTerminalPrompt() as %Status [ Language = objectscript ]
Set the terminal prompt to the system default.
classmethod StopWebServer(Restart As %Integer = 0) as %Status [ Language = objectscript ]
Restart the private webserver.
classmethod SwitchConsoleLog() as %Status [ Language = objectscript ]
Switch the messages.log file if it is larger than the max size defined.
On a MultiValue system, it will also switch the mv.log file if it grows too large.


index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey, Type = key, Unique];
Index methods: CPFNameSectionHeaderNameCheck(), CPFNameSectionHeaderNameDelete(), CPFNameSectionHeaderNameExists(), CPFNameSectionHeaderNameOpen(), CPFNameSectionHeaderNameSQLCheckUnique(), CPFNameSectionHeaderNameSQLExists(), CPFNameSectionHeaderNameSQLFindPKeyByConstraint(), CPFNameSectionHeaderNameSQLFindRowIDByConstraint()

Inherited Members

Inherited Properties (Including Private)

Inherited Methods (Including Private)


Storage Model: Storage (Config.Startup)