MatrixIni Defaults

This topic describes a program that allows administrators to set system-wide variables.

Administrators can write a program called MatrixIniDefaults, that is designed to set system-wide variables that should not be set elsewhere. The MatrixIniDefaults program can be created in MQL, to hold variable values using the same syntax as the .ini file. No other logic is required. The settings in the program are used if the variables are not set on either the current context object as a personal preference, or in the applicable .ini file. For example, a MatrixIniDefaults program might include the following code:

MX_NORMAL_DATETIME_FORMAT=moy/dom/yr4 h12:min:sec mer

Since the MatrixIniDefaults program is in the database, it is shared by all users of the system, regardless of the ini file they are referencing on their desktop or to which server location they connect. This makes it a convenient place in which to manage settings which should be in force for all users. Generally, only a very few (but crucial) variables are set in this manner.

If the same variables are set locally (via .ini file) and globally (via MatrixIniDefaults), local values override global values. This allows variables to be set locally as required for administrative tasks such as running batch jobs, development tests, or diagnostics. However, in most cases, there should be no duplication of settings between configuration vehicles.

Certain settings are not suitable for MatrixIniDefaults, because they are required during system startup, when no database connections exists. The following settings CANNOT be set with MatrixIniDefaults and must be set through either the environment or the enovia.ini file for the 3DSpace Service (previously ematrix.ini):

bootfile MX_MEMORY_KEEP_LIMIT
COLORPATH MX_MEMORY_SYSTEM_LIMIT
MATRIXHOME MX_MEMORY_TRACE
MX_BOS_ROOT MX_SQL_TRACE
MX_BOS_WORKSPACE MX_TRACE_FILE_PATH
MX_CHARSET MX_VERBOSE_TRACE
MX_CLASSPATH root
MX_CONNECTION_POOL_SIZE workspace
MX_MAX_THREAD .