MySource Matrix has been superseded by Squiz Matrix. This site will remain available for archival purposes only; it is not intended as a current source of Matrix information. For all the latest on Matrix, including documentation and release information, visit the Squiz Matrix site.
Asset keywords for the nesting asset can now be passed as HTTP GET variables to the nested page in the Nest Content Type. The keywords of the surrounding page are passed in by using the %asset_*% keyword format.
Trigger Conditions now have an additional checkbox which when checked will evaluate the condition as having passed when the inverse logic of the condition specification is met. For example, an "Asset is of Type" Trigger Condition set to match on "Image" types would pass when the triggering asset is not an "Image" type if inverse logic was enabled.
Please note that as the inverse logic of any condition will likely be met in a large number of scenarios, so it is recommended to use this functionality carefully and sparingly for performance reasons.
A new section, "Session Variables", has been added to the Details screen of the Redirect Page asset to provide dynamic assignment of session variable values. This functionality uses the Parameter Map to assign either a static value, which can also comprise Asset and Global Keywords, and values sourced from other GET, POST or SESSION variables.
As a result of this development, a "Set Value" option has been added to the Parameter Map to support the assignment of static values.
The up and down arrows displayed to transpose values in Option List attributes is now optional when this type is rendered from an XML definition of an asset.
In order to display an Option List attribute without arrows, please use the following XML structure:
<option_list allow_reorder="no" />
The WYSIWYG Style drop-down list displays a list of styles obtained from CSS files associated with the current Design. A new "Styles" screen is now available for Design assets and customisations which can be configured to determine which of these styles is to be shown in this list.
The "Delete Bulkmail Users" tool now allows Bulkmail Users to be deleted from underneath specified Root Nodes, rather than just system-wide.
Web Paths that contain the ampersand (&) character or its HTML entity (&) were converted to "-and-" by default. The word "and" and the web path separator (-) are now obtained from a language localisation "web_path_ampersand_replacement" and the SQ_CONF_WEB_PATH_SEPARATOR value specified in the main.inc configuration file.
This allows greater flexibility in the format chosen for this replacement as it ensures consistency with the system web path separator and current translations for the system.
A further modification has been made to prevent multiple contiguous 'and' strings from being added (eg; as would happen for "http://example.com/site&&page"). These are now reduced to one instance (ie; site&&page -> site-and-page).
This new Trigger Event will fire just after metadata has been set and regenerated for the firing asset. This contrasts with the existing Metadata Updated event which is also fired after metadata has been set, but before regeneration.
A Trigger Event is now fired when an asset is recached using the "_recache" suffix. This can be captured by Triggers and used for automation purposes.
A lower and upper bound has been added to the "Details" screen of the Calendar Page asset to restrict navigation between time period views using the "Next" and "Previous" links.
This restriction is be disabled by default, but when enabled will be based on the current system date. Manually entered dates in the address bar outside the relevant range for the view will show no "Next" and "Previous" navigation.
Each view can be configured independently and asymmetrically. For example, the Month view can have no restriction while the Year view is restricted to between 2 years in the past to 4 years in the future.
System Administrators can now append a query string variable 'SQ_SHOW_ERRORS' to view the frontend errors if they are hidden, as specified on the "System Configuration" screen.
The "Details" screen of Thesaurus Term assets has a new option to update related Thesaurus Term metdadata fields in the system when the name of the term is changed.
An accompanying Matrix Tool, "Change Thesaurus Term", may also be used to affect the same set of changes either by root node or system-wide.
This Form Action can be configured to set one or more PHP session variables upon form submission. The session variables used are user-defined and can be used in other areas of Matrix via the %globals_session_xx% Global Keyword.
The values that can be stored by this Form Action are obtained from the related Form Submission asset, such as the IP address used, the submission date and the responses given.
The "Form Posted" Condition, available in Design Areas and Paint Layouts, has been modified to evaluate to TRUE only when the form submission is triggered via a POST submission instead of only when the POST itself is empty.
A new asset "JavaScript API" has been graciously contributed by Nic Hubbard to the Web Services package. Unlike the Web Services package itself, this new asset will be released on Monday under the GPL.
The JavaScript API asset returns JSON objects in response to general asset queries. Currently this asset supports the following function calls:
Access to call these functions is controlled by an API Key value set on the "Details" screen of the JavaScript API asset. The function setApiKey() must be called in JavaScript before the first call to one of the above functions.
Each function can be independently enabled or disabled from the asset in order to limit the dynamic capabilities provided via JavaScript calls.
Modifications have been made to the CSV to Matrix Importer script, "import_assets_to_csv.php" in the scripts directory, to enable editing and deleting existing assets which match a primary column in the source CSV file. Additional options are available which allow the primary column and a flag column to be specified on the command line. The flag column must contain either "A", "E", or "D" to indicate whether the record is to be (A)dded, (E)dited or (D)eleted.
Please note that deletion performed by this script is permanent and bypasses the trash. Any requests to Edit an asset that does not exist is turned into an Add request. Requests to Add assets that already exist are turned into Edit requests. Requests to Delete an asset that does not exist will be ignored and the script will continue.
A further "ignore" file can be provided with single column list of items to ignore when performing an "Edit" operation. For example, if user passwords are supplied in the CSV import file in order to create User assets, these can be ignored if supplied again in an "Edit" context. In this example it would ensure that the password is not set again from the import file.
As with the previous revision of this script, a CSV file is provided on STDOUT to monitor the assets affected. In this revision an additional column is given in this output to indicate the actual operation performed on the asset (eg; [primary identifier],[asset id],E).
When a Matrix User asset is set to "Archived", the held username is released for use by subseqent User assets. Upon changing the status back from "Archived", if the old username is taken by another user, a number is appended to the username to maintain the unique association (eg; fred => fred1), similar to the handling of Web Paths.