Squiz Labs Blog - The latest news from the R&D division of Squiz®

Subscribe to our RSS feeds

Squiz Matrix Newsletter - March 2016


Welcome to another addition of the Matrix Newsletter. Apologies for the time it has taken since the last one, we have been a bit slack in this department. However, that's because we haven't been slack in others!

We had a great break over Christmas but got right back into gear when 2016 started and we are working on some big and exciting new things for Matrix this year!


2015 Matrix Stats

2015 was a massive year for Matrix (seems to get bigger every year!). So with 2015 well and truly behind us, let take a look at some stats that highlight the big year that was:

  • 2 Big releases (5.2 & 5.3)
  • 2 New developers (Tarman & Nikhil)
  • 48 Releases
  • 237 New features (11 externally funded)
  • 991 Votes cast in Squizmap by 271 people
  • 1017 Contributions in Squizmap by 121 people
  • 2000 Code commits by 14 authors (Matrix & Edit+)
  • 5390 Comments posted in Squizmap by 148 people
  • 33,698 Keyword searches done using the Matrix Keyword Helper
  • 87,001 Unique visitors on the Matrix Manuals Website
  • 444,469 Page views on the Matrix Manuals Website

We look forward to an even bigger year for Matrix in 2016 with some amazing new things already planned and in progress.

Latest Matrix Releases

Since our last newsletter we've had a couple of new releases and our latest ones are scheduled for release next week. Click on the links below to view the release notes for each version:

5.2 5.3
08 Feb 2016
17 Dec 2015

Read on and have a look at some of the cool new stuff that was released in the 5.3 branch for these releases:

New Features in

Re-sizeable Columns in the Edit+ Asset Finder

Much like the asset map feature added to admin mode in 5.2, the columns in the Asset Finder in Edit+ are now re-sizeable as well. Users can now drag & drop to re-size each column of the finder to make it easier to read long asset names.

The width of each column is remembered so that each time the Asset Finder loads, the user's preferred widths are applied.


Ability to Clear Specific Squid Cache URLs

A new tool for clearing Squid Cache URLs has been added to the Clear Cache screen of the Cache Manager and the Clear Squid Cache Trigger Action.

This feature will allow you to specify specific URLs to clear Squid Cache for. This is particularly useful if you want to clear cache on Matrix redirect URLs on which you can't use the /_recache method on.


Root Node Restriction on Related Metadata Field

The Related Metadata Field has had another enhancement added to it. You can now set root node restrictions on this field which will limit the areas where users can pick assets from. This is useful for when you want to improve the usability and speed for users when quickly picking assets from a specific area.

When used in Edit+, the Asset Finder will list each root node in the left column to restrict the user from quickly viewing the correct area to pick assets from.


Edit+ Asset Finder Performance & Usability Improvement

Previously in Edit+ the Asset Finder would by default always refresh every time it was opened. This proved to be an usability and performance issue as it would constantly reload each column of assets even when you didn't have updated assets in the system.

This is now disabled so that users can quickly launch the Finder and return to where they last were. There is also a "Refresh" button available if the user needs to manually force an update to the Finder.

New Workflow Keywords for Notify On Live Message

Additional keywords have been added to the Notify on Live custom message configuration for Workflow Schemas. You can now use keywords that print valuable information about the asset when it was approved to go live, such as the name and workflow message of the user who last approved the changes.

These are the same keywords that are already available for other workflow steps, however these keywords have been added to the Notify on Live custom message as well so that you can print information about the last approval event of the workflow before it was approved to go live.

New Keyword for Printing Raw Contents of Containers

With the new Container Template feature introduced in 5.3, you are able to apply Paint Layouts to each content container of a Standard Page. Sometimes however, you might want to print the contents of those containers without the Paint Layout presentation layer, just like you can with %globals_asset_contents_raw%.

A new keyword, %globals_asset_contents_raw_containers%, has now been added which will print the contents of a page without any Paint Layout applied on the page or its content containers.

New Features in

Improved File Storage on Server

Whenever a file asset went live and had public read access, it used to get stored in 3 locations in the server /data directory. This caused unnecessary storage space on the server being taken up as a 1mb file would effectively take up 3mb on the server.

The method of storing the file in these 3 locations has now been improved. The file is physically only placed in 1 location and linked into the other 2 (think asset linking in Matrix). This new method significantly reduces the storage space taken up by physical files uploaded via Matrix.

A new script called "shrink_matrix_file_assets.php" has also been developed that can be run on existing systems that upgrade to or later to fix existing files so that they use this new method.

Set File Contents Trigger Action

With a similar feature released for the JS API in version, we've now added a Trigger Action for updating the contents of a file asset.

This new Trigger Action allows you to update the contents of a File asset by passing the new content as a base64 encoded string or plain text if updating text based assets.


Option to Disable Default JavaScript on Simple Edit Layouts

A new option has been added to Simple Edit Layouts that lets you disable any default JavaScript that Matrix outputs as part of the layout.

This lets you customise and control what JavaScript to be included on the layout form and where. Note that some Matrix JavaScript will still be added for certain fields that require it, such as WYSIWYG fields.


New Relative and DOW Keyword Modifiers

2 new date based keyword modifiers have been added to print relative date formats. These are similar to the already existing relative date formats for the global date and standard asset date keywords. These new modifiers can be used on any keyword that returns a date in an ISO8601 format such as calendar event or metadata dates.

  • %<date keyword>^date_relative% - This will print the date in a relative format to the servers current date and time.
  • %<date keyword>^date_relative-dow% - This will print the time and date relative to the day of the current week.

Example, if the current date and time is 2016-02-08 13:25:00 the keywords will print:

%asset_metadata_date-published%                      =>   2016-02-08 13:24:00
%asset_metadata_date-published^date_relative%        =>   1 minute ago
%asset_metadata_date-published^date_relative-dow%    =>   1:24pm today

Script to Fix Rollback Time Gaps

There are instances where time gaps can get introduced in Rollback entries of the Rollback Database tables. This could be a result of failures when enabling/disabling Rollback on a Matrix system. A new script called "system_integrity_fix_rollback_gaps.php" has been developed to identify and fix these time gaps if required.

Multiple Asset Selection in Asset Finder

With the ability to have multiple assets selected for a Metadata Related Asset Field, you often want to pick multiple assets at once when opening the Asset Finder.

A new enhancement to the Asset Finder has now been added to allow just that. When invoking the Asset Finder from a field that accepts multiple Asset selections, you can select multiple assets at once by holding down the CTRL key and clicking on the assets you want to pick. 


Single Password Field on User Creation Form

A new option has been added to the Details screen of Account Manager page called "Confirm Password on Create". By default this setting is set to Yes, meaning that when user's create a new account they will have to enter their password in twice to confirm they enter the intended password in.

If this setting is set to No, the Account Manager will only output a single password field so that the user can create a new account easier and quicker.

In the Pipeline

Not only do we have brand new releases for both Matrix 5.2 and 5.3 just around the corner ( and scheduled for next week), but we've also started and completed some exciting new 5.4 features.

First of all, the next 5.3 release will see a new keyword for retrieving all URLs applied to an asset. This will essentially extend the existing %asset_url% keyword in that you will get all URLs available in an array that you can then use for things like Squid cache clearing triggers and canonical URL implementations.

In addition to that, we'll also see a new keyword that can be used in Simple Edit Layouts for always being able to print the asset ID of the current asset being edited. With so many new ways of editing assets in Matrix 5.3 (Content Templates, Asset Builder Editing, etc), this keyword will greatly come in handy when constructing your custom editing interfaces.

Even though 5.4 is still a fair bit away, we thought we'd give a sneak peak of the upcoming new stuff in today's newsletter:

New Image Editing Features

We are working on some big new features for being able to edit images better in Squiz Matrix. A new improvement to the Edit+ WYSIWYG Editor's Image Plugin is coming that will let you easily switch between image varieties without having to launch the asset finder.


We are also introducing image variety editing capabilities into the Edit+ interface, as currently these are only available in Admin Mode.


And lastly, a brand new image editing tool is getting added that will let you edit your uploaded images directly within the browser. This tool will allow basic image edits to let you quickly change things like rotation, size, and cropping. 

Context Improvements

Several improvements and new features are also being worked on for the Contexts feature in Matrix. Contexts are extremely powerful and useful for things like multilingual sites and even personalisation.

In order to help you use contexts, we are improving the User Interface to make it easier and clearer for the user to know what context they are currently in.

A revert context feature is also being added so that you can cancel content that has been edited for a context so that it uses the default context's content instead.

A new report type asset that lets you run a report on your system which tells you what assets are using what context will also be available.


These new improvements will make contexts more manageable and significantly easier to use.

Server Side JS Processing

Currently you can only run server side JavaScript within the REST JS asset in Matrix. This is extremely useful for when you need to process data and manipulate it before printing it out on the webpage on the front end.

We are taking this functionality further so that you can essentially run server side JS within any bodycopy type asset, mainly raw HTML content containers. For example, the below code takes an array of asset IDs stored within a related metadata field and uses a JS for loop to print the name of each asset in an unordered list.

<script runat="server">
    var assetIDs = %asset_metadata_func.related%;
        print('<li>%globals_asset_name:'+ i +'%</li>');

New Matrix Community Website

We are building a new site!


In an aim to improve our product communication, supporting materials, and resources for the beast that is Squiz Matrix, we have decided that it is due time and a great opportunity to do something new and improved in this space.

Currently we've got pieces of information relating to Matrix scattered in various places such as the Manuals, Forums, and off course, this website. This is all great, but it can sometimes be hard for users to find this great content.

One of our goals for 2016 is to improve this and add more stuff to it. So to do so we are building a new Community and Knowledge Base website that will be the portal and one-stop-shop for all your Matrix needs. The sections of this site we have identified so far include:

  • Matrix Manuals
  • Release Information
  • News
  • Guides & Tutorial Articles
  • Forums
  • Tools & Resources

As you can imagine, this is an ambitious project. To tackle it, we are splitting it into several stages with Phase 1 including a new design and a "matrix.squiz.net" landing page. This phase will also include applying the new design to the Matrix Manuals site.

Once we have done this in place it will pave the way for us to gradually add all the new stuff including improvements to the Manuals and a much more powerful search tool.

One of the big new things we are planning is a Guides & Tutorials section. This will be a place for Squiz and community members to post articles on anything relating to Matrix such as tips & tricks, videos, troubleshooting guides, etc. We'll also have a brand new Matrix email subscription service people can sign up for.

We have a lot of ideas and plans for this, but we are off course also keen to hear your thoughts and ideas on what else we might be able to do so please share them on the forums or get in touch with us on email for any questions or more info.

Squiz Labs

R & D division of Squiz Pty Ltd

Open source web experience management solutions

Squiz Labs is the research and development division of Squiz, the company behind the Squiz Suite of web experience management and development tools.

Our PHP and JavaScript developers are responsible for producing innovative enterprise-quality software while our interface designers and testing team ensure our products both look great and are easy to use.