Annotated main.inc

Last Updated: 14 Feb 2020

The main.inc file is the primary configuration file for Squiz Matrix. This file can be located in the /data/private/conf directory of your Squiz Matrix system.

Many of the configuration settings available in the main.inc file can be altered on the Administration Interface by the system's Root User or a System Administrator; others must be manually edited in this file, such as database settings, due to their critical nature to the stability of the system.

Please note that many configuration settings within the main.inc file should not be changed from their default setting. Refer to all associated documentation and take extreme care when editing this file.

The table below lists the Squiz Matrix configuration settings that are available in the main.inc file. Click on a configuration setting for more information.

Configuration SettingType Default Value
SQ_CONF_PEAR_PATH string SQ_SYSTEM_ROOT./php_includes
SQ_CONF_BACKEND_SUFFIX string _admin
SQ_CONF_LIMBO_SUFFIX string _edit
SQ_CONF_LOGIN_SUFFIX string _login
SQ_CONF_NOCACHE_SUFFIX string _nocache
SQ_CONF_RECACHE_SUFFIX string _recache
SQ_CONF_PERFORMANCE_SUFFIX string _performance
SQ_CONF_PERFORMANCE_TIMING_SUFFIX string _performance_timing
SQ_CONF_PERFORMANCE_RESULT_SUFFIX string _performance_result
SQ_CONF_ASSET_TREE_BASE integer 64
SQ_CONF_ASSET_TREE_SIZE integer 4
SQ_CONF_ASSET_CACHE_SIZE_WEB integer -1
SQ_CONF_ASSET_CACHE_SIZE_CLI integer -1
SQ_CONF_ROLLBACK_ENABLED boolean 0
SQ_CONF_DEBUG integer 0
SQ_CONF_SYSTEM_NAME string The System
SQ_CONF_SYSTEM_OWNER string  
SQ_CONF_SYSTEM_ROOT_URLS string  
SQ_CONF_SYSTEM_PARENT_DOMAINS string  
SQ_CONF_STATIC_ROOT_URL string  
SQ_CONF_WEB_PATH_SEPARATOR string -
SQ_CONF_STATIC_ROOT_HTTP boolean true
SQ_CONF_STATIC_ROOT_HTTPS boolean false
SQ_CONF_DEFAULT_EMAIL string  
SQ_CONF_TECH_EMAIL string  
SQ_CONF_MAX_LOGIN_ATTEMPTS integer 3
SQ_CONF_REFRESH_INTERVAL integer 120
SQ_CONF_LOCK_LENGTH integer 600
SQ_CONF_LOCK_INACTIVITY_EXPIRYinteger1800
SQ_CONF_ASSET_MAP_ASSET_LIMIT integer 50
SQ_CONF_ASSET_MAP_DISPLAY_NAME string %asset_short_name%
SQ_CONF_SEND_CACHEABLE_HEADER boolean 0
SQ_CONF_SEND_LAST_MODIFIED_HEADER boolean 0
SQ_CONF_SEND_NOT_MODIFIED_HEADER boolean 0
SQ_CONF_SEND_NO_CACHE_HEADER boolean 0
SQ_CONF_SEND_404_CACHEABLE_HEADER boolean 0
SQ_CONF_USE_HTTP_X_FORWARDED_FOR boolean 0
SQ_CONF_FORWARDED_IP_PROXY_LIST   
SQ_CONF_ERRORS_LOG_TO_SYSLOG boolean false
SQ_CONF_ERRORS_SYSLOG_FACILITY string user
SQ_CONF_ERRORS_HIDE_FRONTEND boolean false
SQ_CONF_DEFAULT_FRONTEND_LANGUAGE string en
SQ_CONF_DEFAULT_BACKEND_LOCALE string en_AU
SQ_CONF_DEFAULT_CHARACTER_SET string utf-8
SQ_CONF_USE_LANG_CHAR_MAP boolean false
SQ_CONF_ALLOW_IP_CHANGE boolean 0
SQ_CONF_ALLOW_HTTP_LOGIN boolean 0
SQ_CONF_ENABLE_HTTP_LOGIN boolean 0
SQ_CONF_ENABLE_EXTERNAL_AUTH_SYSTEMS boolean true
SQ_CONF_HTTP_LOGIN_VAR string REMOTE_USER
SQ_CONF_ACCEPT_HTTP_CREDS boolean 0
SQ_CONF_COMMIT_BUTTON_TEXT string Commit
SQ_CONF_CONFIRM_SAVE_CHANGES integer 1
SQ_CONF_LOG_EXTENSION string .log
SQ_CONF_LOG_FILE_SYSTEM string system
SQ_CONF_LOG_FILE_ERROR string error
SQ_CONF_LOG_ERRORS boolean true
SQ_CONF_LOCKING_METHOD string default
SQ_CONF_SESSION_HANDLER string  
SQ_CONF_SESSION_GC_MAXLIFETIME integer 604800
SQ_CONF_EDITING_TIME integer 3600
SQ_CONF_NUM_DATA_DIRS integer 20
SQ_CONF_FORCE_SECURE_LOGIN_URLS string  
SQ_CONF_WEB_MEMORY_LIMIT integer 64
SQ_CONF_CRON_MEMORY_LIMIT integer 64
SQ_CONF_USE_DEFAULT_SESSION_SAVE_PATH boolean false
SQ_CONF_CUSTOM_SESSION_SAVE_PATH string  
SQ_CONF_ENABLE_ROLES_PERM_SYSTEM boolean false
SQ_CONF_ENABLE_ROLES_WF_SYSTEM boolean false
SQ_CONF_ENABLE_GLOBAL_ROLES boolean false
SQ_CONF_NO_ASSET_SELF_LINKS boolean false
SQ_CONF_TIMEZONE string Australia/Sydney
SQ_CONF_FORCE_LOWERCASE_USERNAME boolean false
SQ_LICENSE_INSTALL_KEY   
SQ_LICENSE_WARRANTY_KEY   
SQ_CONF_COOKIE_OPTION_HTTP_ONLY boolean false
SQ_CONF_COOKIE_OPTION_SECURE boolean false
SQ_CONF_ROOT_USER_DISABLED boolean 0
SQ_CONF_DISABLE_ATTRIBUTION boolean 0
SQ_CONF_ENFORCE_FRAME_SAMEORIGIN boolean 1
SQ_CONF_ENFORCE_FRAME_SAMEORIGIN_FRONTEND boolean 1
SQ_CONF_ENABLE_CSRF_TOKEN_REQUEST boolean 0
SQ_CONF_VISITED_PAGES_MAX_ENTRIES integer 10
SQ_FILE_TYPE_RESTRICT_ON_STATIC_URL   
SQ_CONFIG_STRIP_MATRIX_COMMENTS boolean true
SQ_CONF_FUNNELBACK_INDEXING_USER string  

System Settings

SQ_CONF_SYSTEM_NAME / SQ_CONF_SYSTEM_OWNER

These configuration settings allow you to define the name and the owner of your Squiz Matrix system. This information is displayed in the HTML source code header of Sites within your system. It is also included at the bottom of emails sent from Squiz Matrix to content editors and system administrators.

define('SQ_CONF_SYSTEM_NAME', 'The System');

define('SQ_CONF_SYSTEM_OWNER', '');

These settings can also be configured via the System Name and System Owner fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_BACKEND_SUFFIX / SQ_CONF_LIMBO_SUFFIX

These configuration settings define the suffixes that are appended to a Squiz Matrix URL to access the editing interfaces.

The backend suffix is used to access the Administration Interface. By default, this is set to _admin. For more information, refer to the Administration Interface chapter in the Concepts manual.

The limbo suffix is used to access the Simple Edit Interface. By default, this is set to _edit. For more information, refer to the Simple Edit Interface chapter in the Concepts manual.

define('SQ_CONF_BACKEND_SUFFIX', '_admin');

define('SQ_CONF_LIMBO_SUFFIX', '_edit'); 

You can disable access to these interfaces by clearing the values in these configuration settings.

define('SQ_CONF_BACKEND_SUFFIX', '');

define('SQ_CONF_LIMBO_SUFFIX', '');

These settings can also be configured via the System Backend Suffix and System Simple Edit Suffix fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_LOGIN_SUFFIX

This configuration setting defines the suffix to be appended to a Squiz Matrix URL to access the system's log-in page. By default, this is set to _login. For more information, refer to the Squiz Matrix Concepts chapter in the Concepts manual.

define('SQ_CONF_LOGIN_SUFFIX', '_login');

This setting can also be configured via the System Login Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_NOCACHE_SUFFIX

This configuration setting defines the suffix that is appended to a Squiz Matrix URL to access the uncached version of the page. Using this suffix forces the system to serve the most recent version of the page to the site visitor.

define('SQ_CONF_NOCACHE_SUFFIX', '_nocache');

This setting can also be configured via the System Bypass Cache Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_RECACHE_SUFFIX

This configuration setting defines the suffix that is appended to a Squiz Matrix URL to refresh the Matrix cache with an up-to-date representation of the requested asset.

It is recommended that you change the value of this setting so as to hide its functionality from public users.

define('SQ_CONF_RECACHE_SUFFIX', '_recache');

This setting can also be configured via the System Clear Cache Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_PERFORMANCE_SUFFIX

This configuration setting defines the suffix to be appended to a Squiz Matrix URL to access Performance Mode for an asset. By default, this is set to _performance. For more information, refer to the Performance Mode chapter in the Concepts manual.

define('SQ_CONF_PERFORMANCE_SUFFIX', '_recache');

This setting can also be configured via the System Performance Mode Suffix field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

The SQ_CONF_PERFORMANCE_TIMING_SUFFIX / SQ_CONF_PERFORMANCE_RESULT_SUFFIX settings are used internally by Performance Mode. It is recommended that you do not alter the values of these configuration settings.

SQ_CONF_TIMEZONE

The configuration setting allows you to set the system timezone for the Squiz Matrix system, in the relevant PHP timezone format (http://au.php.net/timezones). By default, this is set to Australia/Sydney.

define('SQ_CONF_TIMEZONE', 'Australia/Sydney');

This setting can also be configured via the Timezone field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_DISABLE_ATTRIBUTION

The configuration setting allows you to remove the Squiz Matrix attribution from the design source of your sites.

<!--
  Running Squiz Matrix
  Developed by Squiz - http://www.squiz.net
  Squiz, Squiz Matrix, MySource, MySource Matrix and Squiz.net are registered Trademarks of Squiz Pty Ltd
  Page generated: 29 August 2013 09:59:40
--> 

When this setting is enabled, the attribution will not be displayed. Please note that Design assets will need to be regenerated before this option takes effect.

define('SQ_CONF_DISABLE_ATTRIBUTION', '1');

This setting can also be configured via the Disable Attribution field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ENFORCE_FRAME_SAMEORIGIN

If set to 1, Squiz Matrix will add the header "X-Frame-Options: SAMEORIGIN" to pages within Admin Mode and Edit Mode. This means that only pages hosted on the same domain as this Matrix system will be able to nest the Admin and Edit Mode interfaces using frames. Virtually all recent browsers support this header.

define('SQ_CONF_ENFORCE_FRAME_SAMEORIGIN', '1');

This value can also be configured via the Enforce Same Origin Frame Security For Backend? setting on the System Configuration screen.

SQ_CONF_ENFORCE_FRAME_SAMEORIGIN_FRONTEND

If set to 1, Matrix will add the header "X-Frame-Options: SAMEORIGIN" to frontend pages. This means that all frontend pages served by this Matrix system cannot be nested in a frame, unless the parent page is hosted on the same domain. Virtually all recent browsers support this header.

define('SQ_CONF_ENFORCE_FRAME_SAMEORIGIN_FRONTEND', '1');

Setting this value to 0 also means that any JS API calls made within the Squiz Matrix system will require a special CSRF Token value to be present within the HTML code that the JS API script will use when making web service calls.

This value can also be configured via the Enforce Same Origin Frame Security For Frontend? setting on the System Configuration screen.

SQ_CONF_ENABLE_CSRF_TOKEN_REQUEST

This configuration setting controls how the JS API receives its authentication token for making requests to Squiz Matrix. By default, this setting is set to 0 which means CSRF token requests are not possible, making the system more safe against CSRF attacks.

define('SQ_CONF_ENABLE_CSRF_TOKEN_REQUEST', '0');

Setting this value to 0 also means that any JS API calls made within the Squiz Matrix system will require a special CSRF Token value to be present within the HTML code that the JS API script will use when making web service calls.

For any systems that use the automatic upgrade script to upgrade to 5.2 or above, this setting will automatically get changed to 1 to prevent any existing implementations from breaking. Changing it to, or leaving it as, 1 means that potential CSRF token requests are enabled which is less secure, but the CSRF Token design area will not be required for the JS API to work. It is highly recommended that this is set to 0 however to make the system more secure.

System URL Settings

SQ_CONF_SYSTEM_ROOT_URLS

This configuration setting defines a list of URLs that can be used to access your system. All Site assets created within Squiz Matrix will require a URL based on the system URL defined in this setting.

When using multiple URLs on a system, each URL should be defined on a new line. The protocol (http:// or https://) should not be specified.

define('SQ_CONF_SYSTEM_ROOT_URLS', 'www.example.com');

OR

define('SQ_CONF_SYSTEM_ROOT_URLS', 'www.example.com
web01.example.com
web02.example.com
store.example.com
secure.example.com');

This setting can also be configured via the System Root URLs field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_SYSTEM_PARENT_DOMAINS

This configuration setting defines a list of parent domains to use for setting session cookies.

Parent domains are useful if several system root URLs have a common parent domain, for example, syd.example.com and melb.example.com). If the current URL ends with one of the parent domains, the cookie will be set on the parent domain instead, with the result that the user's session will persist across the parent domain and all its subdomains.

When listing multiple parent domains, each domain should be defined on a new line. The protocol (http:// or https://) should not be specified.

define('SQ_CONF_SYSTEM_PARENT_DOMAINS', 'example.com');

OR

define('SQ_CONF_SYSTEM_PARENT_DOMAINS', 'example.com
squiz.com.au
mydomain.com.au');

This setting can also be configured via the System Parent Domains field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_STATIC_ROOT_URL

These configuration settings can be used to offload static file serving to an alternative web server, reducing the load on the main web server used by Squiz Matrix.

By default, Squiz Matrix rewrites URLs for publicly accessible and live file-based assets to an Apache readable directory on the same server that Squiz Matrix is installed on. Configuring this option will tell Squiz Matrix to rewrite those URLs to an alternative location, which could be a different (and lightweight) piece of web server software on the same machine as the Squiz Matrix install, or a completely different machine. Leave this configuration setting empty to use the default Squiz Matrix behaviour.

The SQ_CONF_STATIC_ROOT_HTTP and SQ_CONF_STATIC_ROOT_HTTPS configuration settings define whether the static files can be served using the http:// or https:// protocols.

define('SQ_CONF_STATIC_ROOT_URL', '');

define('SQ_CONF_STATIC_ROOT_HTTP', true);

define('SQ_CONF_STATIC_ROOT_HTTPS', false);

These setting can also be configured via the System Static URL, Static URL uses HTTP and Static URL uses HTTPS fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_WEB_PATH_SEPARATOR

This configuration setting defines the character used to replace spaces in the names of assets when automatically generating web paths. For example, an asset with the name Contact Us would have an automatically generated web path of content_us, where the space has been replaced by the web path separator (by default, a hyphen).

define('SQ_CONF_WEB_PATH_SEPARATOR', '-');

This setting can also be configured via the System Web Path Separator field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Rollback Settings

SQ_CONF_ROLLBACK_ENABLED

This configuration setting defines whether rollback is enabled within the Squiz Matrix system.

define('SQ_CONF_ROLLBACK_ENABLED', '0');

This setting can also be configured via the Rollback Enabled field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

It is recommended that you do not independantly change this setting. To enable or disable rollback, follow the procedures outlined in the Rollback Management Script chapter in this manual.

Email Settings

SQ_CONF_DEFAULT_EMAIL

This configuration setting defines the email address that Squiz Matrix will send emails to if it has not been supplied with an email address. For example, a custom form that has been configured to send emails but not configured with an email address to send them to.

It is recommended that this be the email address of the owner of the Squiz Matrix installation.

define('SQ_CONF_DEFAULT_EMAIL', 'you@example.com');

This setting can also be configured via the Default Email field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_TECH_EMAIL

This configuration setting defines the email address that Squiz Matrix will send technical emails to, including error reports and System Configuration changes.

It is recommended that this be the email address of the user that is able to diagnose and fix any technical issues on the Squiz Matrix installation.

define('SQ_CONF_TECH_EMAIL', 'admin@example.com');

This setting can also be configured via the Tech Email field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Login/Session Settings

SQ_CONF_FORCE_SECURE_LOGIN_URLS

This configuration setting accepts a list of system root URLs, as entered in the SQ_CONF_SYSTEM_ROOT_URLS setting. System Root URLs listed in this setting will attempt to display the login box using the HTTPS protocol, regardless of other protocol settings on the site.

Similarly to the SQ_CONF_SYSTEM_ROOT_URLS setting, this is stored as a newline-delimited ("\n") string.

define('SQ_CONF_FORCE_SECURE_LOGIN_URLS', '');

This setting can also be configured via the Root URLs Requiring Secure Login field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_MAX_LOGIN_ATTEMPTS

This configuration setting defines the number of times a user may incorrectly enter their password before their account is locked out.

Please note that this setting does not apply to the Root User account, which is never locked.
define('SQ_CONF_MAX_LOGIN_ATTEMPTS', 3);

This setting can also be configured via the Max Login Attempts field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ALLOW_IP_CHANGE

By default, if a user's IP address changes while they are using Squiz Matrix, they will be logged out to ensure their account is not being used by another.

In some companies, proxy settings are configured to change the IP address of a user each time they view a Squiz Matrix page, which would effectively log these users out frequently using this setting's default.

Enabling this setting will permit Squiz Matrix to allow a user's IP address to change throughout their session.

define('SQ_CONF_ALLOW_IP_CHANGE', 1); 

This setting can also be configured via the Allow IP Change field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ACCEPT_HTTP_CREDS

If a user has previously entered their username and password in a standard HTTP authentication form, Squiz Matrix will be provided with the username and password they entered.

If this configuration setting is enabled, Squiz Matrix will attempt to log the user into the system using the username and password combination provided, without requiring the user to retype their username and password. The password stored within Squiz Matrix must match the password entered during the initial HTTP authentication.

define('SQ_CONF_ACCEPT_HTTP_CREDS', 1);

This setting can also be configured via the Process PHP Credentials field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ENABLE_HTTP_LOGIN

If this configuration setting is enabled, Squiz Matrix will generate a HTTP Authentication dialogue box instead of painting the applied login design. This will allow external tools to log in to Squiz Matrix by appending USE_HTTP_LOGIN=1 to the URL.

define('SQ_CONF_ENABLE_HTTP_LOGIN', 0);

This setting can also be configured via the Enable HTTP Authentication field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ALLOW_HTTP_LOGIN

This configuration setting controls whether Squiz Matrix should use a username sent from an external authentication mechanism (for example, an authentication system provided by a web server or a proxy) to automatically log in a user, without them having to enter their password directly into the Matrix system.
If this setting is enabled, Squiz Matrix will assume the user has been successfully authenticated from the external system, and will not check the password entered during the original authentication against their system password.

This setting uses the server variable set in the SQ_CONF_HTTP_LOGIN_VAR configuration setting.

 define('SQ_CONF_ALLOW_HTTP_LOGIN', 1);

This setting can also be configured via the Accept HTTP Authentication field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_HTTP_LOGIN_VAR

This configuration setting controls the PHP server variable used to authenticate external users if the SQ_CONF_ALLOW_HTTP_LOGIN setting is turned on.

Authentication may be bypassed if SQ_CONF_HTTP_LOGIN_VAR is used with a HTTP header.

To securely implement this setting you must ensure that any HTTP header is fully managed through all routes to Matrix.

There are two common value types for this setting:

  • REMOTE_USER: used by standard HTTP authentication systems, such as that used by Apache. This is the default setting.
  • HTTP_*: some proxies may instead send a user name as an HTTP header. Generally speaking, to convert from an HTTP header name to a server variable name, the header name should be capitalised, hyphens should be changed to underscores, and HTTP_ added to the front. For example, if the user name is returned in a header X-User-Name, this setting should be set to HTTP_X_USER_NAME.
define('SQ_CONF_HTTP_LOGIN_VAR', 'REMOTE_USER'); 

This setting can also be configured via the HTTP Authentication Variable field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ENABLE_EXTERNAL_AUTH_SYSTEMS

This configuration setting controls whether external authentication systems, such as LDAP bridges, are enabled when authenticating a user.

When this option is disabled, only the Default Authentication asset will be returned from the Authentication Systems folder (inside System Management). This allows a system administrator to temporarily disable external authentication in certain circumstances, for example, if an external system is compromised.

define('SQ_CONF_ENABLE_EXTERNAL_AUTH_SYSTEMS', false);

This setting can also be configured via the Enable External Authentication Systems field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_USE_DEFAULT_SESSION_SAVE_PATH

This configuration setting allows you to select whether or not to use the default PHP session file save path, as specified in the php.ini configuration file, or let Squiz Matrix set it to the cache folder of the system.

The former may be required when using shared storage, ie. with multiple Matrix servers, while the latter is required of site networks to operate.

This option should only be changed by advanced users. If you change this option, all users who are currently logged in will be immediately logged out of their session.

define('SSQ_CONF_USE_DEFAULT_SESSION_SAVE_PATH', false);

This setting can also be configured via the Use Default PHP Session File Save Path field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Intervals

SQ_CONF_REFRESH_INTERVAL

This configuration setting defines how often (in seconds) the top frame refreshes in the Administration and Simple Edit Interfaces. The refreshing of this frame re-acquires locks that the user still needs.

The value of this setting should be lower than the value of SQ_CONF_LOCK_LENGTH to ensure locks do not expire while users are editing content.

define('SQ_CONF_REFRESH_INTERVAL', 120);

This setting can also be configured via the Refresh Interval field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_LOCK_LENGTH

This configuration setting defines how long a lock is held before it expires (in seconds). For example, if a user acquires the locks on a page and then decides they do not want to edit it any more, the lock will be released automatically after period of time defined in this setting.

define('SQ_CONF_LOCK_LENGTH', 600);

This setting can also be configured via the Lock Length field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_LOCK_INACTIVITY_EXPIRY

This configuration setting defines how long a lock is held before it expires (in seconds) due to inactivity on the current page. For example, if a user acquires the locks on a page and doesn't do any changes within this time, the lock will be released automatically after a period of time defined in this setting.

define('SQ_CONF_LOCK_INACTIVITY_EXPIRY', 1800);

This setting can also be configured via the Lock Inactivity Expiry field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

PHP Configuration

SQ_CONF_WEB_MEMORY_LIMIT / SQ_CONF_CRON_MEMORY_LIMIT

These configuration settings specify the maximum amount of memory that can be used by Squiz Matrix's Web and Cron systems (in megabytes). The default value for both these settings is 64 MB. On larger, more complex systems, you may need to increase this limit.

define('SQ_CONF_WEB_MEMORY_LIMIT', 64);

define('SQ_CONF_CRON_MEMORY_LIMIT', 64); 

These settings can also be configured via the Web Memory Limit and Cron Memory Limit fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Error/Debug Settings

SQ_CONF_LOG_ERRORS

This configuration setting allows you to specify whether or not Squiz Matrix will log all errors generated on the Frontend and editing interfaces.

It is highly recommended that you do not alter the default value of this configuration setting.

define('SQ_CONF_LOG_ERRORS', true);

This setting can also be configured via the Log Errors field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ERRORS_HIDE_FRONTEND

This configuration setting allows you to specify whether errors are hidden on the frontend for users of your site. The default value for this setting is false, meaning that errors will be displayed on the frontend. This may be undesirable on a production system and can be disabled by setting this option to true.

define('SQ_CONF_ERRORS_HIDE_FRONTEND', false); 

This setting can also be configured via the Hide Errors on Frontend field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ERRORS_LOG_TO_SYSLOG

This configuration setting allows you to specify whether or not to log system errors to the operating system log.

define('SQ_CONF_ERRORS_LOG_TO_SYSLOG', false); 

This setting can also be configured via the Log Errors to Syslog? field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ERRORS_SYSLOG_FACILITY

This configuration setting defines the facility used for logging errors to the operating system log. This will determine where in the system log the errors will be filed. The options available are User and Local 0 to 7. These facilities are user-defined and must be configured in the system's syslog.conf file.

The SQ_CONF_ERRORS_LOG_TO_SYSLOG setting must be enabled to set the syslog facility.

define('SQ_CONF_ERRORS_SYSLOG_FACILITY', 'user'); 

This setting can also be configured via the Syslog Facility field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_LOG_EXTENSION

This setting defines the file extension that all log files will receieve.

It is highly recommended that you do not alter the default value of this configuration setting.

define('SQ_CONF_LOG_EXTENSION', '.log');

SQ_CONF_LOG_FILE_SYSTEM / SQ_CONF_LOG_FILE_ERROR

Within Squiz Matrix, there are two main log files:

  • The system log is an audit trail of all activity that occurs within the Squiz Matrix editing interfaces.
  • The error log is a record of all errors that are generated on the frontend and editing interfaces.

These configuration settings define the names of these log files. The file extension should not be specified.

It is highly recommended that you do not alter the default values of these configuration settings.

define('SQ_CONF_LOG_FILE_SYSTEM', 'system');

define('SQ_CONF_LOG_FILE_ERROR', 'error');

Internationalisation Settings

SQ_CONF_DEFAULT_FRONTEND_LANGUAGE

This configuration setting allows you to select the frontend language that is sent in the headers of the pages in your Site to a user's web browser. This setting can be configured on individual assets, but if the value has not been set then this value is used instead.

define('SQ_CONF_DEFAULT_BACKEND_LOCALE', 'en');

This setting can also be configured via the Default Frontend Language field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_DEFAULT_BACKEND_LOCALE

This configuration setting determines the locale used by the translation system to determine the language to be used for string translations.

define('SQ_CONF_DEFAULT_BACKEND_LOCALE', 'en_AU');

This setting can also be configured via the Default Backend Locale field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_DEFAULT_CHARACTER_SET

This configuration setting allows you to select the character set that is sent in the headers of the pages in your Site to a user's web browser.

define('SQ_CONF_DEFAULT_CHARACTER_SET', 'utf-8');

Changing this value has not been supported since Matrix 5.0.0.0.

SQ_CONF_USE_LANG_CHAR_MAP

The configuration setting allows you to select whether or not to use character conversion for web paths based on the International Settings. If this setting is enabled, newly-created asset's web paths will be converted to characters of the selected language. Please note that not all languages are supported.

define('SQ_CONF_USE_LANG_CHAR_MAP', false);

This setting can also be configured via the Use Language Character Map field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Editing Interface Settings

SQ_CONF_COMMIT_BUTTON_TEXT

This configuration setting defines the text displayed on the commit button in the Administration and Simple Edit

Interfaces.

define('SQ_CONF_COMMIT_BUTTON_TEXT', 'Commit');

This setting can also be configured via the Commit Button Text field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_CONFIRM_SAVE_CHANGES

This configuration setting defines whether a warning dialogue is displayed when navigating away from a page within the Administration Interface on which there are uncommitted changes. This setting is enabled by default.

define('SQ_CONF_CONFIRM_SAVE_CHANGES', 1); 

This setting can also be configured via the Confirm Save Changes field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_EDITING_TIME

This configuration setting defines the amount of time that a user can be idle before they are logged out automatically by Squiz Matrix.

define('SQ_CONF_EDITING_TIME', 3600) 

This configuration setting prevents the content of an asset from containing a link to itself. By default, this setting is disabled.

define('SQ_CONF_NO_ASSET_SELF_LINKS', false) 

Asset Map Settings

SQ_CONF_ASSET_MAP_ASSET_LIMIT

When an asset is expanded in the asset map, a set number of child assets are shown before the next button is displayed to view the next set of child assets. This configuration setting defines how many child assets are shown at the one time.

define('SQ_CONF_ASSET_MAP_ASSET_LIMIT', 50);

This setting can also be configured via the Asset Limit Per Set field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ASSET_MAP_DISPLAY_NAME

This configuration setting controls the display name of assets within the asset map. By default, this will be the short name of an asset.

You can modify this setting to display other information for each asset, such as the asset ID and the number of children. The following keywords can be used in conjunction with other formatting:

  • %asset_assetid%: the asset's ID
  • %asset_name%: the full name of the asset
  • %asset_short_name%: the short name of the asset
  • %asset_type_code%: the full asset type name (eg. "Standard Page")
  • %asset_status%: a text description of the asset's status (eg. "Safe Editing")
  • %asset_num_kids%: the number of immediate child assets (bridges return "N/A" for this keyword)
define('SQ_CONF_ASSET_MAP_ASSET_DISPLAY_NAME', '%asset_name% (%asset_assetid%)');

This setting can also be configured via the Asset Display Name field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

HTTP Header Settings

SQ_CONF_SEND_CACHEABLE_HEADER

When this configuration setting is enabled, Squiz Matrix will send cacheable Cache-Control and Pragma headers for all public Live pages it serves to users who are not logged in. This allows the web browser to cache pages for faster browsing.

define('SQ_CONF_SEND_CACHEABLE_HEADER', 1);

This setting can also be configured via the Send Cacheable Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_SEND_LAST_MODIFIED_HEADER

When this configuration setting is enabled, Squiz Matrix will send a last-modified header for all publicly cached pages it serves to users who are not logged in.

define('SQ_CONF_SEND_LAST_MODIFIED_HEADER', 0);

This setting can also be configured via the Send Last-Modfiied Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_SEND_NOT_MODIFIED_HEADER

When this configuration setting is enabled, Squiz Matrix will send a 304 Not Modified code if requested to do so by a proxy. The 304 code will only be sent for publicly cached pages and for users who are not logged in.

define('SQ_CONF_SEND_NOT_MODIFIED_HEADER', 0);

This setting can also be configured via the Send Not Modified Status-Code field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_SEND_NO_CACHE_HEADER

When this configuration setting is enabled, Squiz Matrix will send a no-cache Cache-control header for File asset types. This option can be disabled to resolve inline file display issues involving PDF documents in Internet Explorer.

define('SQ_CONF_SEND_NO_CACHE_HEADER', 0);

This setting can also be configured via the Send No-Cache Header for File Assets field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_SEND_404_CACHEABLE_HEADER

When this configuration setting is enabled, pages returning a HTTP 404 not found response are cached by a caching proxy server. This option is separate from the SQ_CONF_SEND_CACHEABLE_HEADER setting. The expiry time of the cached response is determined by the cache expiry setting on the Details screen of the Cache Manager.

define('SQ_CONF_SEND_404_CACHEABLE_HEADER', 0);

This setting can also be configured via the Send 404 Cacheable Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_USE_HTTP_X_FORWARDED_FOR

This configuration setting allows you to specify whether or not to enable the X-Forwarded-For HTTP header. This header allows parent servers to discern client IPs when behind reverse proxies. This means that IP restrictions within Squiz Matrix can be used in conjunction with Squid and other reverse proxies, as specified in the SQ_CONF_FORWARDED_IP_PROXY_LIST setting.

define('SQ_CONF_USE_HTTP_X_FORWARDED_FOR', 1);

define('SQ_CONF_FORWARDED_IP_PROXY_LIST', '172.16.254.1
172.16.254.2
172.16.254.3');

These settings can also be configured via the Use "X-Forwarded-For" Header field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

This configuration setting allows you to specify whether or not to enable HTTPOnly cookies. An HTTPOnly cookie will only be used when transmitting HTTP or HTTPS requests. Additionally, a web browser will not allow client-side scripts (such as JavaScript) access to the cookie. This can help mitigate the effects of cross-site scripting attacks.

define('SQ_CONF_COOKIE_OPTION_HTTP_ONLY', false);

This setting can also be configured via the HTTP Only for Cookie field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

This configuration setting allows you to specify whether or not to transmit the secure cookie flag when a connection is made over HTTPS. Enabling this will cause browsers to not share the session cookie between HTTP and HTTPS.

define('SQ_CONF_COOKIE_OPTION_SECURE', false); 

This setting can also be configured via the Enable 'Secure' Cookie Option field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Roles Configuration Settings

SQ_CONF_ENABLE_ROLES_PERM_SYSTEM

This configuration setting allows you to enable Permission Roles in the system. By default, this setting is disabled. Leaving Roles disabled will increase the performance of the system.

define('SQ_CONF_ENABLE_ROLES_PERM_SYSTEM', false);

This setting can also be configured via the Enable Permission Roles System field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ENABLE_ROLES_WF_SYSTEM

This configuration setting allows you to enable Workflow Roles in the system. By default, this setting is disabled. Leaving Roles disabled will increase the performance of the system.

define('SQ_CONF_ENABLE_ROLES_WF_SYSTEM', false);

This setting can also be configured via the Enable Workflow Roles System field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

SQ_CONF_ENABLE_GLOBAL_ROLES

This configuration setting allows you to enable Global Roles in the system. By default, this setting is disabled. Leaving Roles disabled will increase the performance of the system.

define('SQ_CONF_ENABLE_ROLES_WF_SYSTEM', false);

This setting can also be configured via the Enable Global Roles field on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

Pear Configuration Settings

SQ_CONF_PEAR_PATH

Squiz Matrix overrides some PEAR packages to fix minor errors that have not been fixed in the official release of the package. These overridden packages are placed into the directory defined in this configuration setting.

It is highly recommended that you do not alter the default value of this configuration setting.

define('SQ_CONF_PEAR_PATH', SQ_SYSTEM_ROOT.'/php_includes');

Asset Tree Configuration Settings

SQ_CONF_ASSET_TREE_BASE / SQ_CONF_ASSET_TREE_SIZE

These configuration settings define the way the linking system encodes asset tree IDs in the database.

It is highly recommended that you do not alter the default values of these configuration settings.

define('SQ_CONF_ASSET_TREE_BASE', 64);

define('SQ_CONF_ASSET_TREE_SIZE', 4);

These settings should not be modified after Squiz Matrix has been installed. If they are changed, the Squiz Matrix link tree must be recreated.

Cache Configuration Settings

SQ_CONF_ASSET_CACHE_SIZE_WEB / SQ_CONF_ASSET_CACHE_SIZE_CLI

These configuration settings define the maximum number of assets that can be stored in the internal Squiz Matrix asset cache for web and CLI requests. A value of -1 indicates that there is no maximum.

It is highly recommended that you do not alter the default values of these configuration settings.

define('SQ_CONF_ASSET_CACHE_SIZE_WEB', -1);

define('SQ_CONF_ASSET_CACHE_SIZE_CLI', -1);  

Debug Configuration Settings

SQ_CONF_DEBUG

This configuration setting defines the amount of debugging information displayed within the system. Debug information is useful for diagnosing issues that may occur within your system.

This setting takes one of the following values:

  • 0: No debug information will be displayed
  • 1: All errors will display the file and line number where the error occurred.
  • 2: All errors will display a backtrace of the script's execution.
  • 3: All errors will display the file and line number of where the error occurred and a backtrace of the script's execution.
  • 4: Additional information about memory and performance metrics of a page is displayed when the page loads.
  • 5: All errors will display the file and line number of where the error occurred and additional information about memory and performance will be shown for pages.
  • 6: All errors will display a backtrace of the script's execution and additional information about memory and performance will be shown for pages.
  • 7: All errors will display the file and line number of where the error occurred and a backtrace of the script's execution and additional information about memory, and performance will be shown for pages.
define('SQ_CONF_DEBUG', 3);

Session Handler Settings

SQ_CONF_SESSION_HANDLER / SQ_CONF_CUSTOM_SESSION_SAVE_PATH

The SQ_CONF_SESSION_HANDLER configuration setting defines whether the default Squiz Matrix session handler is used (when blank) or if a Memcache session handler is used (when set to memcache).

The SQ_CONF_CUSTOM_SESSION_SAVE_PATH configuration setting allows you to specify an alternate path in which to save Squiz Matrix session files. By default, this setting will be blank, indicating the system's default 'cache' directory.

If a memcache session handler is specified in the SQ_CONF_SESSION_HANDLER setting, you will need to configure the system's memcache.inc file. For more information, refer to the Memcache Configuration chapter in this manual.

define('SQ_CONF_SESSION_HANDLER', '');

define('SQ_CONF_CUSTOM_SESSION_SAVE_PATH', '/path/to/caches');

SQ_CONF_SESSION_GC_MAXLIFETIME

This configuration setting defines the amount of time that a user's session file can be idle before it is deleted by PHP.

More information about the PHP session.gc_maxlifetime configuration option can be found on the PHP Session Configuration Manual.

If you are using the Memcache Session Handler, this setting cannot exceed 2592000 seconds.

It is highly recommended that you do not alter the default value of this configuration setting.

define('SQ_CONF_SESSION_GC_MAXLIFETIME', 604800);

SQ_CONF_LOCKING_METHOD

Squiz Matrix lock entries can be stored within Memcache, rather than the default SQ_LOCK database table (specified as default). Please note, however, that forcibly acquiring locks, the mass changing of lock ownership and notifications of active lock ownership are not available under Memcache asset locking, due to the limitations of Memcache.

Once you have configured the memcache.inc file, you can enable Memcache asset locking by setting this configuration option to memcache. For more information, refer to the Memcache Configuration chapter in this manual.

Define('SQ_CONF_LOCKING_METHOD', 'default');

Data Directory Settings

SQ_CONF_NUM_DATA_DIRS

The Squiz Matrix system data directory (data/private/assets) has a two-level structure; the upper level containing asset ID hash directories (to avoid the 32,000 sub-directory limit found in some file systems). The configuration setting regulates the number of hash directories used.

It is highly recommended that you do not alter the default values of these configuration settings except in very large systems (upwards of 640,000 of specific asset types).

Do not alter this setting after step_02.php is run during the initial system installation. Altering this setting after this step will corrupt the data directory.

define('SQ_CONF_NUM_DATA_DIRS', 20);

License Key Settings

SQ_LICENSE_INSTALL_KEY / SQ_LICENSE_WARRANTY_KEY

These configuration settings define the unique Squiz Matrix install and warranty license keys for your system.

The SQ_LICENSE_INSTALL_KEY is automatically generated during the installation process and should not be altered.

The SQ_LICENSE_WARRANTY_KEY setting can be used to input a warranty key, if you have obtained one for your system.

define('SQ_LICENSE_INSTALL_KEY', '');

define('SQ_LICENSE_WARRANTY_KEY', '');

These settings can also be configured via the Install Key and Warranty Key fields on the System Configuration screen. For more information, refer to the System Configuration chapter in the System Configuration manual.

User Settings

SQ_CONF_FORCE_LOWERCASE_USERNAME

This configuration will force the usernames of Squiz Matrix users created in the backend and frontend to lowercase characters.

This setting is effective on the following user types:

  • User
  • Simple_Edit_User
  • Backend_User
  • System_User (System Administrator)
define('SQ_CONF_FORCE_LOWERCASE_USERNAME', false); 

SQ_CONF_ROOT_USER_DISABLED

This feature works differently in versions between 4.16.2 - 5.4.1.2 and versions from 5.4.2.0 and above.

4.16.2 - 5.4.1.3

Enabling this configuration setting will disable the system's Root User account and give root access to System Administrators.

When the Root User account is disabled, the account asset will remain within the system, however, all of its functionality will be removed and the account will no longer be able to be logged into. In addition, all root privileges, including access to the System Configuration and System Management settings, will be given to System Administrator users.

define('SQ_CONF_ROOT_USER_DISABLED', '1');

If the Root User account has been disabled, disabling this configuration setting will reinstate the Root User account and remove the root privileges for System Administrators.

This setting will be automatically enabled if the Root User account exhausts its max number of incorrect login attempts, as defined in the SQ_CONF_MAX_LOGIN_ATTEMPTS configuration setting. If this occurs, a System Administrator will be required to disable this setting in order to reinstate the Root User account.

5.4.2.0 +

Enabling this configuration setting will disable the system's Root User account.

When the Root User account is disabled, the account asset will remain within the system, however, all of its functionality will be removed and the account will no longer be able to be logged into.

define('SQ_CONF_ROOT_USER_DISABLED', '1');

If the Root User account has been disabled, disabling this configuration setting will reinstate the Root User account.

Changing this setting will not have any effect on the access level for System Administrators.

SQ_CONF_FUNNELBACK_INDEXING_USER

This configuration is used to allow Funnelback to crawl a Matrix instance using one or multiple Matrix users.

define('SQ_CONF_FUNNELBACK_INDEXING_USER', '1111,2222,3333');

Specify one or multiple Matrix User IDs (comma-separated) to be allowed for Funnelback Indexing. Funnelback Crawler will have to login as one of those users to receive "X-Funnelback" headers for extra page metadata.


Previous Chapter Next Chapter