5.5.0.0

If you are upgrading to version 5.5+ of Squiz Matrix from version 5.4 or below, it is strongly recommended that you review the Important Changes section of these release notes.

New Features & Major Enhancements

Admin UI & UX Improvements

The main changes in this version surround the UI and UX of the Admin interface.

We've spent a lot of time improving several areas of the interface and how you interact with various screens and components of those screens.

In this section, we'll explore some of the most notable changes.

Top Toolbar

The top toolbar has been simplified and made more intuitive with access to various system configuration screens and tools through the use of drop down menu options.

The grouping of the items found under these top level categories has also been updated more logical to simplify the process of going to these various screens. For example, the HIPO Herder and Asset Types screen links have now been moved under the Maintenance drop-down menu item.

Editing Screen Toolbar

The top area of the main editing screen has been simplified with various items re-positioned and re-sized.

It will also become fixed to the top of the editing area as you scroll down, so that you can always have quick access to things like the Acquire Locks button, the current asset tag, and the new Filter visible fields tool.

Filter Visible Fields

Inside the editing screen toolbar, a new tool has been added that lets you filter the visible fields and sections on the current screen. This is useful for when you are working on a screen with a lot of fields on it and you just want to focus on a particular area of the screen.

Simply start typing to find a field or a section to display (other fields that don't match this filter will get hidden).

AJAX Saving

Saving a screen you are editing is now done via AJAX. This means that after the save has completed, you will be kept at the scrolled-to position of the screen you were at once the save process has finished.

This will make editing in Admin mode a lot faster as you will not have to manually scroll down to the same position you were at before you hit the save button.

Future Status Field

The Future Status field that is found on most asset types has been improved. The tool is now hidden by default, and to interact with it, you simply click on the "Add future status" button to expose the interface for adding a new scheduled status change.

The list of scheduled status changes have been cleaned up a bit and now also shows the user that the status change will run as.

If there is an incorrect sequence of scheduled status changes, or if the user that is set to run the change job doesn't have access anymore, the interface will now alert you to that being a problem.

Insert Keywords & Snippets Smart Select Fields

The Select2 JS plugin has been applied to the Insert Keyword and Insert Snippet drop down fields on Content Containers.

This makes it a lot easier to find and insert the right keyword you want on both Raw HTML, Markdown, and WYSIWYG based Content Containers.

Improved Asset Pickers

Asset pickers, which are found on most screens in the Admin interface, have had improvements to both the look & feel and the way that you interact with them.

They now have a much simpler layout and automatically load information about the asset as soon as you select it. When picking multiple assets, you can also easily re-order the assets in the list via drag-and-drop.

Improved Trigger Condition and Action Selection

You can now select multiple Conditions and Actions to create at once when editing a Trigger.

These fields have also had the Select2 JS plugin applied to them so that you can quickly find the right condition or action you want to add to your Trigger.

This allows for much faster Trigger creation and configuration.


That covers some of the main changes of the overall Admin interface UI & UX changes. There are lots of more global design improvements and enhancements that are part of this release, so for a complete log of changes refer to the list below:

  • #10494 - Make screen saves in Admin AJAX based and keep scroll position on screen reload
  • #10676 - Hide sections and fields on certain screens if they are not applicable due to other field settings
  • #11000 - Implement SweetAlert2 Library
  • #11418 - Make 'Asset Statuses To List' multi-select boxes full height
  • #11425 - Replace modals with SweetAlert2
  • #11427 - Improved metadata schemas and section details screens
  • #11439 - Add select2 functionality to trigger condition and action select lists
  • #11452 - Use ajax for handling system messages and quick search in Admin mode
  • #11605 - Improve keyword selection UX for content containers
  • #11658 - Improve UX and UI of top header toolbar
  • #11614 - Fixed scroll position for locks button and filter fields tool
  • #11622 - Change screen selector drop down list to a modern drop down selection
  • #11625 - System Configuration and Tools buttons in top header should be drop down list options
  • #11652 - Add loading state animation whenever you select a screen to load from the asset map menu
  • #11669 - Improve functionality of future status functionality in admin mode
  • #11756 - Improve UX around tool tip popups
  • #11830 - Change header bar in Admin mode from an iframe to be part of the main document
  • #11832 - Improve UI & UX of asset pickers
  • #11839 - Change Yes/No select fields and checkboxes to toggles
  • #11856 - Update UI of checkboxes in admin mode to make it more clear when they are checked and unchecked in read-only mode
  • #11900 - Admin Mode UI design update for 5.5
  • #11936 - All Tools should have action buttons rather than a Save button
  • #12047 - Simplify thumbnail section and merge current and set thumbnail fields

Asset Map Improvements

#11987, #11890, #12076

The Asset Map has had several improvements and new features added to it. The look & feel has been updated and made a lot simpler with better utilisation of the space in the left-column area of the main interface.

Asset Map Root Nodes

One of the main new features of the improved asset map is the ability to have customised Asset Map Root Nodes. The previous vertical tabs have been removed in favour of this new preference feature, which allows you to create custom shortcuts in the Asset Map to various areas of your system.

You can set custom root nodes as either GlobalUser Group, or personal User Preferences.

Once set, a drop-down field will appear above the Asset Map that will list all of the customised root node shortcuts that have been set as your preference.

Updated Create Asset Menu

The Asset Map creation menu has had its categories of assets updated to be simplified and more logical from previous versions.

Then you click the Create button, or when you right-click on an asset and choose New Child, you will now see a much smaller list of categories and re-organised asset lists.

Menu separators have also been added to group the assets within categories more neatly.

Furthermore, a new filter tool has been added to the top of this menu where you can start typing the name of any asset type and filter the list of matched options in order to more quickly find the asset type you are wanting to create.

New Create Menu Asset Types

#10362, #10678, #10842, #10987, #11679

More asset types have been added to the Create menu. For example, you can now right-click on a Metadata Section asset to quickly create a new Metadata Field.

The complete list of new asset types that can now be created via the Asset Map includes:

  • Poll Questions
  • Custom Form Sections & Fields
  • Metadata Sections & Fields
  • Decision Tree Questions
  • Design Customisations

Screen Locks Handling Improvements

#5885

Locks handling of a screen has been significantly improved in this release.

The way that locks are refreshed for you when editing a screen has been refactored to use AJAX. This means that there is less of a chance of you accidentally loosing your locks, for example, if you leave your screen unattended for an extended period of time and then return.

If you do lose your locks however, the screen will alert you to that fact and will give you a chance to re-acquire them.

This will only be possible as long as no one else now has the locks on that screen and if the asset hasn't been updated since the time that you loaded the screen.

A new setting called "Lock Inactivity Expiry" has also been introduced on the System Configuration screen under the Screen Locks section. This field lets you control how long a user's locks should be kept on a screen they are on before they are automatically released due to inactivity.

Purge Trash Tool Improvements

#9324

The Purge Trash screen on the Trash asset received a few usability improvements.

First of all, the Purge Trash Scheduling has been split out into its own separate screen to clearly separate out the two actions you want to do on the Trash.

On the Purge Trash screen, the action to start the purge process is initiated by pressing a new "Purge Trash" button.

Once clicked, a popup modal will appear with a summary of the assets you have chosen to purge and the number of children each selected asset has.

User Preferences

#10700

A brand new screen has been added to all Matrix user types (excluding LDAP users) called "Preferences". This screen can be accessed from the drop-down seen when clicking on your name in the top toolbar.

On this screen, users can now set personal preferences that relate to various UI elements in the Admin interface such as the Asset Map, Messaging System, and more.

By default, each preference setting will be based on the user's User Group or the system's Global Preferences until you choose to customise them with your own personal configuration.

New Preference Settings

#12049, #5312

As part of the new User Preferences feature, we have added new preference options that are available both as personal user settings as well as User Group and Global Preferences which include:

  • Show Status in Asset Map - Whether to show the status colour of each asset in the Asset Map by default when you log in to the admin interface.
  • Asset Map Font Size - The font size to render the Asset Map in. The options include Small (default), Medium, and Large.
  • Assets in Navigation History - The number of assets to show in the Navigation History bar. You can choose between 0 (hide the history bar) and 10, with 5 being the default.
  • Asset Map Root Nodes - This preference lets you set shortcuts to appear in the Asset Map to various areas in the system. Each root node added here will appear as a drop down list selection option when the Asset Map is loaded. When choosing one of the options in the list, the Asset Map will only show that root node in the tree and nothing else, allowing you to focus on a specific area of your system.

Metadata Screen Improvements

#10170

The design and UX of the Metadata screen on all assets has been improved.

The layout has been tweaked to be more readable and clean so that you can scan the information much easier and quicker.

In addition to the friendly name, each metadata field now also shows the field name and asset ID so that you can quickly reference them when templating using keywords. Clicking on the field name will also find and highlight the field in the Asset Map so that you can quickly navigate to it to edit the field's settings.

Better error handling has also been when fields that share the same name as other fields are present and for when fields that might be linked into multiple Sections or Schemas that are both applied to the same asset.

Permissions Screen Improvements

#10637

The Permissions screen has been improved with several UX and UI enhancements.

The layout has been cleaned up and simplified with a lot of replicated and redundant text removed. The process of changing multiple permissions settings at once is now also faster as you can configure multiple settings before saving your changes.

You can now also quickly Grant or Deny public user access with the click of a button.

Changing Status Without Locks

#11828

Previously, you needed to have the locks on an asset in order to change its Status. In version 5.5, this can now be done without having the locks.

When the Details screen is loaded, the system will check if no other user has locks on any other screen that is affected by status changes, such as the Metadata screen. If someone else does have the locks, the option to change status will not be available until those locks are released.

Matrix User Session Cookie Name Control

#10920

You can now change the name of the Matrix session cookie that is used by the system by default.

This has been added to help make session cookies more secure, but also to improve the support for running multiple Matrix systems on the same domain (especially during the UAT process when doing Matrix version upgrades).

Note that this setting can only be changed by editing the main.inc file on the server and can't be updated via the Admin interface.

PHP 7.1 Support

#11187

Matrix now supports running on a server with PHP version 7.1.

Previously, only version 5.4 and 5.6 were supported.

PHP 7.1 adds several performance improvements to any PHP process initiated by Matrix and has meant we've refactored and re-written a lot of code in the backend to use more modern and best practice PHP coding standards.

We are also already planning to add support for version 7.2 for Matrix 5.5 later this year.

Matrix Accelerator Cache Support

Version 5.5 of Matrix adds support for the new Matrix Accelerator Cache (MAC) extension that is available to all Squiz clients.

MAC is a new web page accelerator built specifically for Squiz Matrix. It's a caching layer that sits between the Squiz Matrix application and a user's browsers and is designed to render and serve pages extremely fast to the end user.

MAC is built on the Ledge framework, the same caching technology that Squiz Edge uses, and therefore has similar functionality and feature set.

In the simplest terms, MAC works like this:

In the above diagram, the MAC extension sits on the same server as the Matrix application and is responsible for serving web pages to users.

When a page request for a web page comes in, Matrix generates the HTML for the page as usual, then sends it to the MAC, which in turn then serves the page really quickly to the user's browser.

This new caching layer adds a lot of benefits and functionality that you currently can't get with other cache tools such as Squid and Matrix's internal application cache, such as:

  • Extremely fast rendering of dynamic web pages
  • ESI support
  • Accelerator cache alternative for clients who are self-hosted
  • Caching of user authenticated websites such as member portals and intranets
  • Caching of multiple variations of a single web page for different users based on things like group membership or access permissions
  • Simplified caching configuration and development

To find out more about what benefits MAC can have for you and how to get it installed, please contact your Squiz account manager.

Minor Enhancements

  • #5758 - Improve Matrix Markdown Support
  • #9128 - Properly localise dates and times within the Matrix interfaces
  • #10274 - Handle localised number and ordinal formatting in Admin Mode
  • #10503 - Refactor keyword modifier system to make sure they work globally
  • #10870 - Create a global wrapper processing function for the asset picker
  • #11073 - Use an autoloader
  • #11074 - Restrictions on Workflow Schemas should cascade past non-restricted asset types
  • #11191 - Using native SimpleSAMLphp function for the SAML 2 Single Log Out
  • #11209 - Refactoring the SAML Single Sign On process source code
  • #11215 - Remove the get parameter logout after SAML SLO Redirect
  • #11221 - Memcache Matrix cache storage refactoring
  • #11297 - Delete unused code in file_versioning.inc
  • #11451 - PHP 5 Strict standards and Deprecated functionality
  • #11591 - Manage Matrix PEAR dependencies with composer
  • #11680 - Install SimpleSAML via composer
  • #11695 - Run prepareLink in asset create to better handle initial status of created dependant assets
  • #11733 - PostgreSQL 10.1 support
  • #11793 - Expose the permission IDs for all assets used to render a page for Trinity permission headers
  • #11831 - Acquire/Release Locks shouldn't be a form submission event
  • #11843 - Authentication type drop down on rest interfaces should toggle options with JS
  • #11917 - Allow Cascading on metadata fields should default to No
  • #11972 - Improve loading experience for Ace Editor elements
  • #12012 - Improve the UI of the clear Matrix Cache tool
  • #12014 - Update DB queries to skip Oracle check
  • #12018 - User Preferences Screen UI
  • #12034 - Update UI on Asset Listing details screen
  • #12077 - Manage the scssphp library via composer
  • #12080 - Skip confirmation on move asset HIPO jobs
  • #12092 - globals_user_is_logged_in keyword should not trigger permission check on the current user
  • #12095 - Update Edit+ PL translations for 5.5.0.0
  • #12112 - Clean up references to magic quotes
  • #12128 - Automatically cache backend resources by version
  • #12130 - Upgrade SimpleSAMLphp to 1.15.4
  • #12135 - Script to clean up ffv data on selected file assets
  • #12162 - Delete unrunnable code for 5.5.0.0

Important Changes

In version 5.5, we've made some changes that might impact you when you upgrade your Squiz Matrix instance.

Whilst we take every possible measure to insure that these impacts are minimal and don't affect functionality when you upgrade, we unfortunately can't cater for every possible implementation scenario that might be in use.

However, the changes in the Automatic Upgrade Script in combination with the new Deprecation Script have been developed to help with these upgrades as much as possible.

Please read on to see what important and notable changes have been made in this version that you should be aware of before starting an upgrade.

Updated Versions of JS Libraries

#11811

The version of the various JS libraries have been updated to more modern and supported versions. These include:

LibraryMatrix 5.4 Version Matrix 5.5 Version
jQuery 1.113.3.1
jQuery UI 1.10.41.12.1
mustache.js 0.8.12.3.0

Multiple Text Metadata Field Merged With Text Field

#12030

The Multiple Text metadata field has been deprecated and its functionality merged in with the Text metadata field.

The basic metadata Text field now has a new setting for controlling what type of field it is.

If you want to use a the multi-text functionality, simply change the Field Type setting to Multiple text fields and save the screen. The new Deprecation Script will also automatically convert any existing Multiple Text fields to the Text field asset when your system is upgraded using the Automatic Upgrade Script.

Asset Name Changes

#11973, #11712

Several assets have had their names changed in order to be more user friendly and easier to find in the asset creation menu. The list of name changes include:

Matrix 5.4 Name Matirx 5.5 Name
Bodycopy Div Content Container
Content Container Template Content Template
Single Calendar Event Calendar Event
REST Resource JavaScript REST Resource
REST Resource OAuth 2 Legged OAuth 1.0 Token - Two-Legged
REST Resource OAuth Session OAuth 1.0 Token
Oauth2 2-legged Token OAuth 2.0 Token - Two Legged
Oauth2 Token OAuth 2.0 Token

Only the friendly asset name has changed. The asset type code name has been left unchanged.

Rollback Data Purge

When you upgrade to version 5.5 using the automatic upgrade process, all Rollback data will be purged and removed from your system. The tool will also be disabled after the upgrade has completed, and not enabled again as per previous upgrades.

This is due to this feature being officially deprecated as of version 5.5 of Matrix.

If you need to keep a copy of previous rollback data, then you will need to get a backup copy of your existing Matrix install before proceeding with the upgrade.

Users who wish to continue to use the Rollback feature in 5.5, can still do so, but note that the feature is officially unsupported and may contain bugs. The feature will eventually be completely removed in version 6 of Squiz Matrix.

Deprecations

#11321

Version 5.5 features the deprecation of various asset types and features within the product. We've done these deprecations in order to reduce complexity, improve maintainability, and simplify the overall feature set within Squiz Matrix.

There are 3 types of deprecations:

  1. Asset type merges - This is where an asset type has been merged into another type due to them having almost identical feature sets. For example, Thumbnail assets have been merged with Image assets and Related Asset Listings with Asset Listings.
  2. Asset type removal - This is where assets of a particular type will be removed because they no longer function properly or they rely on an external dependency that has been deprecated. For example, the uTransact Payment Gateway asset will simply be removed as the actual uTransact product doesn’t exist anymore.
  3. Feature removal - This is where a feature will be removed, which could be a system wide config, a script, or a feature on a particular screen. For example, the Antiword External Tool will be removed as it has been superseded by the Apache Tika Tool for search indexing of file assets.

As part of the upgrade process to 5.5, you will need to ensure that the Matrix system has effectively been prepped as much as possible for these types of deprecations.

This is where the new Deprecation Script comes in.

It has been designed to be able to run as a stand-alone process, but also as a joint process with the Automatic Upgrades Script. It can automatically take care of a lot of the deprecated assets and convert them to their new asset types.

For other problems it can't fix via the scripted process, it can produce warnings and reports on all issues you might need to fix manually. For example, if you have an Asset Builder that is set to build Thumbnail assets, you will probably want to change it so that it builds Image assets instead.

Then there are other asset type specific implementations it won’t be able to report on, for example if you are checking if the Standard Page keyword matches “Thumbnail” inside a block of Server Side JavaScript. These are unfortunately extremely hard to report on and will need to be reviewed during the standard UAT process of the upgrade.

The Deprecation Script is available as a Matrix Extension for all Squiz clients. Please liaise with your account manager during the upgrade planning on how to use this script to help prepare for the upgrade.

Below is a list of all deprecations that have been done for this release. For a complete list of all deprecations that have been done, and ones that are planned for future version releases, visit the Deprecations page on the manuals.

Stage 1 Deprecations

These are asset types and features that are still available in the system, but have been marked as deprecated and unsupported and will be removed in a future version.

  • #11587 - Deprecate Rollback - Stage 1
  • #11579 - Deprecate Workspace Folder - Stage 1
  • #11743 - Deprecate Unnecessary Calendar Listings - Stage 1
  • #11874 - Deprecate Force Secure Feature  - Stage 1

Stage 2 Deprecations (Removals)

These are asset types and features that have been completely removed from the code base.

  • #11964 - Stage 2 removals for 5.5
  • #6129 - Remove the Apache Configuration feature
  • #11258 - Remove DataCash Payment Gateway asset - Stage 2
  • #11295 - Remove Thumbnail asset
  • #11296 - Remove Login, EES Login, and Password Change Designs - Stage 2
  • #11440 - Remove "Languages" attribute on the Settings screen of assets
  • #11556 - Remove Media, Designs, and Web Services Folders - Stage 2
  • #11603 - Remove Oracle database support
  • #11862 - Remove Image, Code, Structure Tree Content Types - Stage 2
  • #11865 - Remove Related Asset Listing Page - Stage 2
  • #11867 - Remove Hit Count Listing Page - Stage 2
  • #11870 - Remove Funnelback REST Search Page and REST Resource Page - Stage 2
  • #11893 - Remove unnecessary global and user preferences and system configs
  • #11927 - Remove XSL File - Stage 2
  • #11928 - Remove Data Source Graph - Stage 2
  • #11965 - Remove Site Network - Stage 2
  • #11966 - Remove JS API Standard Mode - Stage 2
  • #11971 - Remove Bodycopy Table - Stage 2
  • #11998 - Remove scripts/migrate_metadata_text_to_multiple_text.php script