MySource Matrix Developer

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.

Main Content

MySource Matrix Changelog - 3.20.x to 3.22.0 RC1

Featured Changes

Prevent Remaps from being deleted

A new column has been added to remap entries in Remap Manager to lock entries to prevent accidental deletion. Once locked, an entry cannot be deleted (via the "Delete" checkbox) until that entry is unlocked.

Workflow emails suppressed for dependent assets if not linked in multiple locations

Workflow emails (eg; notification, approval etc.) are only sent for dependent assets (eg; Bodycopy DIVs under Standard Pages) when these assets are linked in multiple locations.

Customised Caching by specific Root Node and/or Asset Type

This new feature allows caching to be configured for nominated parts of the system. Two new screens have been added to Cache Manager - "Root Node Specific" and "Type Code Specific" - the latter which replaces the "Cache Expiry" screen.

Cache settings can be configured to propagate to child assets when specifying a root node to customised on the "Root Node Specific" screen.

Root Node and Type-Code Specific settings operate independently of the "Caching Status" as set on the "Details" screen of Cache Manager. "Type Code Specific" configuration options will take precedence over "Root Node Specific" configuration options where applicable.

"Add Web Path" Trigger Action: Lowercase webpath option

A new option has been added to the "Add Web Path" Trigger Action to transform the supplied web path to lowercase before creating the web path.

Recache Option operation dependent on presence / absence of trailing slash

The operation of the "_recache" suffix has been modified to re-cache only content with or without a trailing slash. For example, the URL http://example.com/page/_recache in the browser will re-cache the URL http://example.com/page (as the typed URL does not contain a trailing slash). The URL http://example.com/page/ (with trailing slash) will not be re-cached in this instance

New Global Keywords for Random Number Generation

Two new Global Keywords, %globals_random% and %globals_random_MIN_MAX% have been added to allow generated random numbers to be used in content. The "MIN" and "MAX" in the %globals_random_MIN_MAX% keyword refer to whole numbers. For example to generate a standard dice roll, the appropriate keyword would be %globals_random_1_6%

Listing Engine: Asset Contents Paint Layout keyword modification

The %asset_contents_paint_[PAINT LAYOUT NAME]% keyword which paints the listed asset using the specified Paint Layout (functionality introduced in MySource Matrix 3.18.8) - has been expanded to allow the asset ID of a Paint Layout to be used instead of its name.

Set Cookie Trigger Action

A new Trigger Action has been added to allow a cookie to be set by name. Further attributes to restrict the cookie by domain, path and duration are available in this action.

The cookie "value" can be specified from the Parameter Map (ie; set from the value of a GET variable or Asset Keyword etc.)

SOAP API: Simple Restricted Types in WSDL

Simple restricted types can now be added and passed in WSDL. Enumerations and restricted input value by pattern elements are supported. These data types can be nillable (empty without causing validation errors) and allow passing of multiple complex elements. Instructions on how to build or use a SOAP API for Matrix is provided in the "api_example.txt" file under the "api" directory.

Set Files to "Unrestricted" Command-Line Script

A new command-line script "set_files_unrestricted.php" has been added to the "scripts" directory to allow the URL scheme of File-based assets to be set to "unrestricted" in a batch process.

This script requires the Root User password and takes the Matrix Root Directory and a Root Node asset ID from which to process the assets as parameters.

FLV File asset

Similar to the MP3 File asset, the FLV File asset provides storage for a media file and automatic metadata extraction by the getID3() third-party tool, as configured from the "External Tools Configuration" screen in System Configuration.

Metadata is stored as FLV File asset attributes and can be manually overridden at any time. Extracting the metadata again from the "Details" screen will overwrite any previous manual changes made to this data.

System Backup Script shell modification

The Matrix system backup script, "backup.sh" in the "scripts" directory now uses the /bin/sh shell instead of /bin/bash for increased portability.

Remove Permission Types via Future Permission setting and Trigger Action

The Set Future Permission functionality, which allows permissions to be "Applied" or "Denied", now has the functionality to delete permission associations either from the associated Trigger Action or the asset "Permissions" screen.

In order to remove a permission from the "Permissions" screen, select "Remove" from the "Add / Remove" drop-down list in the "Future Permissions" section, then select the relevant appropriate "Apply" or "Deny" rule and target asset to affect.

E-Commerce: PayPal Payment Gateway

Payments via PayPal are now supported in the E-Commerce package through the "Buy Now" one-click infrastructure. A simple PayPal-based storefront can be established through the configuration of the following asset types:

PayPal Configuration

This asset stores information regarding encryption of PayPal transactions. The PPCrypto.php library file supplied by PayPal must be installed on the system and referenced from this asset in order to configure the PayPal Payment Gateway.

PayPal Business Account

PayPal Account information for the storefront is stored in this asset, which includes public and private certificates to encrypt transactions between Matrix and PayPal. PayPal Business Accounts may be set in "Sandbox" mode for testing purposes and then to "Live" via a single attribute switch.

PayPal Payment Button

This asset provides a "Buy Now" PayPal Button for a product. Product details such as item name, price, currency, the associated PayPal Configuration and Business Account is configured from this asset. Custom variables can be configured within the Payment Button which are posted back to Matrix from successful transactions.

PayPal IPN Receiver

Successful Instant Payment Notifications are posted back to this asset. The IPN Receiver is configured to post back to an asset of choice, which may be determined by one of the variables posted back from PayPal (ie; carried through the transaction) or a fixed asset. The notified asset generates a "PayPal IPN Received" Trigger Event.

"PayPal IPN Received" Trigger Event

This Trigger Event is used in the "Condition" section of a Trigger to perform operations upon successful payment. This can include granting permissions to the "purchased" asset for a subscription-based system or sending an email to the user.

Matrix SOAP Server

A SOAP Server has been added to the Web Services package to enable core-level Matrix functions to be executed and queried by clients over the Simple Object Access Protocol.

The SOAP Server comes with a handful of APIs, each which performs a distinct set of Matrix functionality. These APIs are as follows:

  • Asset Service
  • Designs and Lookups Service
  • File Service
  • Link Service
  • Metadata Service
  • Permissions and Roles Service
  • Search Service
  • Workflow Service

Each API is an asset which is selected from the Asset Map and linked under a SOAP Server asset, which in turn is linked under the Web Services Folder.

The availability of APIs and their associated functions is configurable for each SOAP Server instance. For example a SOAP Server instance may be set up to allow retrieval of asset information via the Asset Service, but not creation of new assets. Each API and required function must be explicitly enabled before they are available for use.

Additional Changes and Bug Fixes

Web Services
  • SOAP Server error handling - an error handler has been added to log any SOAP Server errors to the Matrix Error Log