%SYS
Startup Class Reference

This class allows you to modify and view the [Startup] section of the CPF file through programmatic APIs. More...

Inheritance diagram for Startup:
Collaboration diagram for Startup:

Static Public Member Functions

_.Library.Status CheckWebServerStatus (_.Library.Integer Delay, _.Library.Integer TCPPort)
 Request a test page (ping) from the private webserver. More...
 
_.Library.Boolean InitFIPSMode ()
 get the initial FIPSMode value from OS setup.
 
 MoveConsoleLog (_.Library.String ConsoleLog, _.Library.Integer usersize)
 Rename console log file to a new file with a '.old' suffix. More...
 
_.Library.Status RestartWebServer ()
 Restart the private webserver. More...
 
_.Library.Status SetTerminalPrompt ()
 Set the terminal prompt to the system default. More...
 
_.Library.Status StopWebServer (_.Library.Integer Restart)
 Restart the private webserver. More...
 
_.Library.Status SwitchConsoleLog ()
 Switch the messages.log file if it is larger than the max size defined. More...
 
- Static Public Member Functions inherited from CommonSingleMethods
_.Library.Status Get (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Get a sections properties from a CPF file. More...
 
_.Library.Status GetList (_.Library.String CPFFile, _.Library.Integer Flags)
 Returns the properties from a section in a CPF file by value in $list format
More...
 
_.Library.Status Modify (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Modify a sections properties in a CPF file. More...
 
_.Library.ObjectHandle Open (_.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags)
 Open an instance of an section object in a CPF file. More...
 

Public Attributes

 CallinHalt
 Execute the CALLIN^ZSTOP routine entry during calling Halt. More...
 
 CallinStart
 Executes the CALLIN^ZSTART routine entry during Callin startup. More...
 
 CliSysName
 Name used to append to $J when Config.Miscellaneous.NodeNameInPid is set. More...
 
 DBSizesAllowed
 Stores a list of allowed database block sizes. More...
 
 DefaultPort
 Port for the Super Server. More...
 
 DefaultPortBindAddress
 IP Address Super Server will bind to. More...
 
 EnableVSSBackup
 Start the VSS Backup Daemon. More...
 
 EnsembleAutoStart
 Auto start the Interoperability productions. More...
 
 ErrorPurge
 Number of days to store application error logs before purging them. More...
 
 FIPSMode
 Use FIPS 140-2 compliant library for database encryption. More...
 
 IPv6
 System is operating in an IPv6 network, with IPv6 addresses. More...
 
 JobHalt
 Execute the JOB^ZSTOP routine entry during JOB process Halt. More...
 
 JobServers
 Number of job servers you want the system to start up with. More...
 
 JobStart
 Execute the JOB^ZSTART routine entry during JOB process startup. More...
 
 LicenseID
 LicenseID is used to request the license key from the License Server at startup, if there is no local key file. More...
 
 MaxConsoleLogSize
 Maximum size in megabytes of the messages.log after which it will be automatically switched. More...
 
 MaxIRISTempSizeAtStart
 Maximum size in megabytes the IRISTEMP database will be when the system is. More...
 
 PasswordHash
 Set the IRIS password using a cryptographic hash and salt. More...
 
 ProcessHalt
 Execute the LOGIN^ZSTOP routine entry during terminal user Halt. More...
 
 ProcessStart
 Execute the LOGIN^ZSTART routine entry during terminal user startup. More...
 
 ShutdownTimeout
 Enter the time, in seconds, InterSystems IRIS should wait for shutdown to complete normally before. More...
 
 SystemHalt
 Execute the SYSTEM^ZSTOP routine entry during system shutdown. More...
 
 SystemMode
 The SystemMode is displayed in the title of the Management Portal web page. More...
 
 SystemStart
 Executes the SYSTEM^ZSTART routine entry during system startup. More...
 
 TempDirectory
 Directory for temporary files. More...
 
 TerminalPrompt
 Set the format of the terminal prompt. More...
 
 WebServer
 Start the private WebServer. More...
 
 WebServerName
 An optional setting to restrict the DNS Name / IP Address for which the Private Web Server. More...
 
 WebServerPort
 Private or external WebServer port. More...
 
 WebServerProtocol
 Protocol used by WebServer. More...
 
 WebServerSSLConfiguration
 Name of the SSL configuration used for creating CSP sessions for web pages opened by IDEs. More...
 
 WebServerURLPrefix
 URL prefix. More...
 
 ZSTU
 Run the user defined startup from the ZSTU routine at system startup. More...
 
- Public Attributes inherited from CommonProperties
 CPFFile
 CPF file which the object maps to. More...
 
 Comments
 Embedded comments in the CPF file. More...
 
 Flags
 Flags governing how the object is processed when Save() is called. More...
 
 Name
 Name of the object instance. More...
 

Static Public Attributes

 PROPERTIESMAYBEINCPF = None
 List of properties which may or may not be in the CPF file. More...
 
- Static Public Attributes inherited from CommonProperties
 DOMAIN = None
 This class contains properties which are included by classes which manipulate sections in the CPF file. More...
 

Detailed Description

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)
    

Member Function Documentation

◆ CheckWebServerStatus()

_.Library.Status CheckWebServerStatus ( _.Library.Integer  Delay,
_.Library.Integer  TCPPort 
)
static

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.

◆ MoveConsoleLog()

MoveConsoleLog ( _.Library.String  ConsoleLog,
_.Library.Integer  usersize 
)
static

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

◆ RestartWebServer()

_.Library.Status RestartWebServer ( )
static

Restart the private webserver.


◆ SetTerminalPrompt()

_.Library.Status SetTerminalPrompt ( )
static

Set the terminal prompt to the system default.


◆ StopWebServer()

_.Library.Status StopWebServer ( _.Library.Integer  Restart)
static

Restart the private webserver.


◆ SwitchConsoleLog()

_.Library.Status SwitchConsoleLog ( )
static

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.

Member Data Documentation

◆ PROPERTIESMAYBEINCPF

PROPERTIESMAYBEINCPF = None
static

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.

◆ CallinHalt

CallinHalt

Execute the CALLIN^ZSTOP routine entry during calling Halt.


 

◆ CallinStart

CallinStart

Executes the CALLIN^ZSTART routine entry during Callin startup.


 

◆ CliSysName

CliSysName

Name used to append to $J when Config.Miscellaneous.NodeNameInPid is set.


 

◆ DBSizesAllowed

DBSizesAllowed

Stores a list of allowed database block sizes.


 

◆ DefaultPort

DefaultPort

Port for the Super Server.


 

◆ DefaultPortBindAddress

DefaultPortBindAddress

IP Address Super Server will bind to.


By default, the Super Server 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 Super Server will accept requests directed to any address on the server.  

◆ EnableVSSBackup

EnableVSSBackup

Start the VSS Backup Daemon.


 

◆ EnsembleAutoStart

EnsembleAutoStart

Auto start the Interoperability productions.


 

◆ ErrorPurge

ErrorPurge

Number of days to store application error logs before purging them.


 

◆ FIPSMode

FIPSMode

Use FIPS 140-2 compliant library for database encryption.


 

◆ IPv6

IPv6

System is operating in an IPv6 network, with IPv6 addresses.


0 - IPv6 is not enabled.
1 - IPv6 is enabled.
 

◆ JobHalt

JobHalt

Execute the JOB^ZSTOP routine entry during JOB process Halt.


 

◆ JobServers

JobServers

Number of job servers you want the system to start up with.


 

◆ JobStart

JobStart

Execute the JOB^ZSTART routine entry during JOB process startup.


 

◆ LicenseID

LicenseID

LicenseID is used to request the license key from the License Server at startup, if there is no local key file.


 

◆ MaxConsoleLogSize

MaxConsoleLogSize

Maximum size in megabytes of the messages.log after which it will be automatically switched.


 

◆ MaxIRISTempSizeAtStart

MaxIRISTempSizeAtStart

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.
 

◆ PasswordHash

PasswordHash

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.

 

◆ ProcessHalt

ProcessHalt

Execute the LOGIN^ZSTOP routine entry during terminal user Halt.


 

◆ ProcessStart

ProcessStart

Execute the LOGIN^ZSTART routine entry during terminal user startup.


 

◆ ShutdownTimeout

ShutdownTimeout

Enter the time, in seconds, InterSystems IRIS should wait for shutdown to complete normally before.

timing out and forcing a shutdown.
 

◆ SystemHalt

SystemHalt

Execute the SYSTEM^ZSTOP routine entry during system shutdown.


 

◆ SystemMode

SystemMode

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

 

◆ SystemStart

SystemStart

Executes the SYSTEM^ZSTART routine entry during system startup.


 

◆ TempDirectory

TempDirectory

Directory for temporary files.


 

◆ TerminalPrompt

TerminalPrompt

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>"  

◆ WebServer

WebServer

Start the private WebServer.


 

◆ WebServerName

WebServerName

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.
 

◆ WebServerPort

WebServerPort

Private or external WebServer port.


 

◆ WebServerProtocol

WebServerProtocol

Protocol used by WebServer.


Returned by <CLASS>Studio.General</CLASS> GetWebServerPort().
If empty, "http" is used unless <PROPERTY>WebServerPort</PROPERTY> is 443.
 

◆ WebServerSSLConfiguration

WebServerSSLConfiguration

Name of the SSL configuration used for creating CSP sessions for web pages opened by IDEs.


 

◆ WebServerURLPrefix

WebServerURLPrefix

URL prefix.


 

◆ ZSTU

ZSTU

Run the user defined startup from the ZSTU routine at system startup.