This is the last feature release in the 5.3 branch. Any further releases in the 5.3 branch will only contain bug fixes.


New Features

%frontend_asset_<attribute/metadata>% Keyword


A new %frontend_asset_<attribute/metadata>% keyword has been added that enables you to always get access to the frontend asset that was accessed to generate the page. This can be useful for when you want to access the top level asset from anywhere in your implementation.

You can also use this new keyword to do proper keyword condition comparisons between the frontend asset and each listed asset in an Asset Listing.

For example:

<li %asset_assetid^replace_keywords:eq:{frontend_asset_assetid}:class="active":%>

You can access any attribute or metadata value of the frontend asset using the following formats:


%asset_design_id% Keyword

#9838 - Idea by Dona Kevey (Squiz Client)

A new %asset_design_id% keyword has been added that allows you to get the asset ID of the Design that is applied to a specific asset.

This works similarly to the existing %asset_paint_layout_id% where it evaluates the ID based on the URL context is is printed in.

Send HTTP Header Trigger Action

#9766 - Squiz Hack Day Idea

A new Trigger Action has been added that enables you to create custom HTTP Response Headers as part of a Trigger execution.

This Trigger Action will only fire on the frontend and not within the Admin or Edit Mode interfaces.


Default Expiry for Automatic Remaps

#9770 - Idea by Marcus Fong

A new option has been added to the Details screen of the Remap Manager called Automatic Remaps Expiry Time.

Previously, automatic remaps would bet set to never expiry, which would quickly fill up the Remaps table. This setting allows you to configure the default expiry time for these automatic remaps so that they can be removed after a specified number of days.

UNIX Time Stamp Support for ^date_format Keyword

#8521 - Idea by Joseph So

The ^date_format keyword modifier has been enhanced to also work on date values that passed in a UNIX time stamp format.

For example:

%globals_get_date% => 1472085933
%globals_get_date^date_format:Y-m-d% => 2016-08-25

Support for %asset_attribute_username% Keyword in User's Email Attribute


The email field on a User asset now has the ability to use the %asset_attribute_username% keyword inside it. This can be useful for when you want the user's username to be their email and not have to enter the email value in both the Username field and the Email field.

For example, if their username is "user@example.com" and their email is %asset_attribute_username%, everything in Matrix that sends emails to the Matrix user would send it to "user@example.com".

Wider Support for %asset_contents_paint_X% Keyword


Previously the %asset_contents_paint_X% keyword was restricted to only work in Asset Listing based asset types.

The keyword has now been enhanced to work in all asset types that support the type format Bodycopy such as Search Pages and Calendars.

Support for Keyword Conditions in Designs

#9732 - Idea by David Beitey (Squiz Client)

Conditional Keywords are now supported in Designs. Previously these would not get evaluated and the workaround was to use them in a Standard Page and then nest that into the Design.

You can now use them directly within the Parse File code of a Design asset.

Other Enhancements

  • #9983 - Users folder should not get a URL applied by default at install time
  • #9884 - Update Help Link in admin to the new manuals site
  • #9872 - Inefficient queries for retrieving attribute values
  • #9837 - Update Parse Trigger to work with alternate Parse Server hosts
  • #9800 - Change userSystemAdmin() from a getChildren-based check to a getParents-based check
  • #9798 - Ecommerce flat shipping fees and free shipping for digital products
  • #9788 - Change default settings on _performance mode
  • #9705 - Update Matrix Warning when Trigger Actions aren't saved
  • #8717 - Make ACE editor look disabled when locks not acquired
  • #7004 - Enable Use LDAP Version 3 by default in new LDAP Bridge assets

Bug Fixes

  • #10187 - Trigger REST Response Condition saves unusable conditions
  • #10197 - Asset Builder Page Create Location Rules always pass
  • #10195 - Asset Listing page can't sort by Short Name when grouping by letter
  • #10114 - Filter Front End User Input should filter for metadata values set by JS API
  • #10186 - local user account gets locked unexpectedly
  • #9467 - E-commerce Checkout Page - Unable to select multiple assets for Country Question in Region Specific Options
  • #10182 - Modifying a question, increments the asset version number twice.
  • #9988 - Metadata Selection Field should be named Metadata Select Field
  • #10038 - UL LI missing styles in wysiwyg container template layout
  • #9821 - Edit+ Response Headers for JSON are set to text/html
  • #9768 - Spelling mistake - seperated
  • #9785 - The Viper inline toolbar sits above the main toolbar in both Admin and Edit+
  • #10167 - RSS Assets send the wrong Content-Type header type
  • #10062 - Sorting by asset map in asset listing print the list duplicate times in multiple scenarios
  • #10117 - DB Data Source has various issues when changing the Database Type
  • #10163 - Unable to clone the design assets.
  • #8773 - Product assets placed in Safe Edit are showing changes on the frontend.
  • #10153 - Edit+ Editor (WYSIWYG) will display "area contains no content" when the only content is "bbb"
  • #9443 - XML Datasource Asset needs to set a timeout when making curl request to the remote XML feed url
  • #9497 - Workflow Schema Apply or Delete to an asset is not logged
  • #10069 - Files served by Matrix are buffered unnecessarily
  • #9915 - comments metadata of mp3 file can not be extracted/read if getID3 lib version 1.9 used
  • #9933 - asset.workflow.userlog internal message not sent correctly for Workflow Bundle and SOAP Workflow Service
  • #9863 - add fonts mime types to Matrix's in-built mime list
  • #10084 - Duplicate file attachments will be send in email with the latest version of Mail_mime class.
  • #10142 - Can not send Email to LDAP users under a Matrix User group
  • #9966 - Paint layout and design ID keywords print incorrect values when using them in globals:XXXX or type formats of listings
  • #9784 - Data source asset's Filter Records screen throwing syntax error in system with PHP short open tag notation enabled.
  • #9914 - Globals attribute keywords don't work on redirect pages and link assets when pointing to an asset ID
  • #9483 - Changing Text in a table to a list removed the <td>
  • #8887 - Create Link Trigger Does not work for Target asset set to metadata keyword
  • #10111 - Couple of fixes for Product Assets
  • #8687 - Assets that have Content Container Styles in their design cuts off Container Properties Popup when in Safe Edit
  • #10080 - Preview screen on dependent assets should use parent asset's preview URL instead
  • #10090 - Links report incorrectly reports links within pre tags
  • #9942 - Performance issue is Password Reset Page when accessing password reset page link.
  • #7752 - Remove links trigger action has confusing notes and labels and selecting 1 as root node value doesn't work
  • #8852 - Edit+ - when putting an asset into workflow, workflow message is shown then hidden
  • #10028 - Cloning a design asset failing
  • #9782 - "Rest Response Received" Trigger event not triggered for Form Submission Action "Call Rest Resource"
  • #9832 - Public user missing Details screen field names
  • #9948 - Keyword modifiers not working on %user_details_form_XXXX-qX%
  • #9824 - Matrix loses extensions on long web paths
  • #10006 - In a Conditional Keyword statement, If keywords used in the Else Begin are different to the Begin, they always evaluate to false in Type Fomats of Listing assets
  • #9957 - Release locks button in Simple Edit Layout fails and throws JS error
  • #9447 - Add URL trigger does not save the select context.
  • #9922 - Cloning assets in Edit+ for users with write access only throws errors, breaks screen
  • #9007 - Any remap value is allowed to be entered and when done, can't be deleted
  • #9978 - Sharepoint connector can not connect to NTLM authentication Sharepoint
  • #9958 - Issues running system_update_lookups.php in Oracle system
  • #9953 - with_get not working in asset listing - page contents
  • #9972 - Trigger action "Create Design Customisation" displaying incorrect "new customisation name" setting
  • #8656 - setMetadata and setMetadataAllFields incorrectly reports metadata fields as updated when they aren't
  • #9895 - Cloning a standard page with inline comments doesn't convert the asset IDs within the comment data
  • #9931 - Remove PHP WDDX requirement
  • #9947 - Cache issue when a listing page is nested multiple times with dynamic parameter set
  • #9913 - Nested Content Toggle Additional Options link is difficult to read when a condition is applied
  • #9039 - %question_answer_key_X_qY% and %response_X_qY_raw% for multl-select fields not correct
  • #9900 - export_to_xml.php script better error display when it fails to export file due to permission problem
  • #9794 - Content Template can be changed in Safe Edit in Edit+ and changes public live version
  • #9728 - Metadata section notes in Edit+ shows 'undefined' strings
  • #9876 - Container Template Edit layout applied, Acquire lock, Commit button don't work
  • #9789 - Export and Import XML tools remove empty lines on content containers
  • #9767 - Permissions that are not selected for Cascade are removed on Clone
  • #9813 - Using %asset_parent% as metadata field default value will throw fatal error when trying to create new asset when cascading the metadata schema
  • #9644 - Workflow approval comment box appearing when it should not in Edit+.
  • #9763 - Design Asset Styles are not available for News Item in Admin
  • #9793 - Removing all linked JS or CSS files from a file folder breaks it
  • #9502 - When layout is set for a specific asset in layout manager, the assetid should be used as notice links instead of saving it as attribute value.

The Latest

Let Us Know What You Think

Let us know if you spot any errors or if you have any ideas on how we can improve the Matrix Community Website.

Contact Squiz for Demo

Let us show you the true power of Squiz Matrix by giving you a personalised demonstration.