Skip to main content

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.

EXAMPLE:

; 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")
Properties("MaxConsoleLogSize")=5
%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
10
%SYS>s Obj.MaxConsoleLogSize=20
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Property Inventory

Method Inventory

Parameters

parameter PROPERTIESMAYBEINCPF = 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

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: 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 = ..InitFIPSMode() , 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 (MAXLEN = 10000);
Set the IRIS password using a cryptographic hash and salt.
The format of this field is: hash,salt,workFactor,algorithm
  • Hash: Hex-encoded output of PBKDF2 function. Must be correct number of bits for Algorithm.
  • Salt: Hex-encoded salt input to PBKDF2. Must be correct number of bits for Algorithm.
  • WorkFactor: WorkFactor input for PBKDF2.
  • Algorithm: A valid Security.Datatype.PBKDF2Alg value.
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 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
  • DEVELOPMENT
  • FAILOVER
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.
Values:
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 = $$PlatformId^%SYS.LICENSE()=66 , Required ];
Start the private WebServer.
Property methods: WebServerDisplayToLogical(), WebServerGet(), WebServerGetStored(), WebServerIsValid(), WebServerLogicalToDisplay(), WebServerLogicalToXSD(), WebServerNormalize(), WebServerSet(), WebServerXSDToLogical()
property WebServerName as %String;
An optional setting to restrict the DNS Name / IP Address for which the Private Web Server will accept incoming connections. 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 = 52773 , Required ];
Private or external 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

classmethod CheckWebServerStatus(Delay As %Integer = 0, TCPPort As %Integer = 0) as %Status
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.
Parameters:
Delay - Number of seconds to wait before making request.
classmethod InitFIPSMode() as %Boolean
get the initial FIPSMode value from OS setup.
classmethod MoveConsoleLog(ConsoleLog As %String, usersize As %Integer)
Rename console log file to a new file with a '.old' suffix This is separated from SwitchConsoleLog() so it can also be used by the System Monitor No return status, errors are just written to log file
classmethod RestartSuperServer() as %Status
Restart the super server.
classmethod RestartWebServer() as %Status
Restart the private webserver.
classmethod SetTerminalPrompt() as %Status
Set the terminal prompt to the system default.
classmethod StopWebServer(Restart As %Integer = 0) as %Status
Restart the private webserver.
classmethod SwitchConsoleLog() as %Status
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.

Indexes

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

Inherited Members

Inherited Properties

Inherited Methods

Storage

Storage Model: Storage (Config.Startup)

^|"^^"_$ZU(12)|SYS("CONFIG")(ID)
=
%%CLASSNAME
CallinHalt
CallinStart
CliSysName
DBSizesAllowed
DefaultPort
DefaultPortBindAddress
EnsembleAutoStart
ErrorPurge
IPv6
JobHalt
JobServers
JobStart
MaxIRISTempSizeAtStart
MaxConsoleLogSize
ProcessHalt
ProcessStart
ShutdownTimeout
TempDirectory
SystemHalt
SystemStart
TerminalPrompt
WebServer
WebServerName
WebServerPort
WebServerURLPrefix
ZSTU
FIPSMode
EnableVSSBackup
LicenseID
SystemMode
EnableSharding
PasswordHash
EnableShardingPresent
Comments
FeedbackOpens in a new tab