New Features & Enhancements

Deletion of Content Containers in Safe Edit

#7425 - idea by Cardiff University (Squiz client) 

A new enhancement has been added to Content Containers that lets you delete them when going through a Safe Edit change process.

Previously, if you had a Workflow applied to an asset, there was no way to delete existing Content Containers on an asset when going through a Workflow process and editing the asset in Safe Edit.

The delete action on Content Containers now gets changed to a "Mark for deletion" toggle when the asset is in Safe Edit.

When this is enabled on a container, it's not deleted straight away, but instead it will get deleted once the Safe Edit changes are published.

The content of the container that is marked for deletion will also not show up when previewing the edited asset on the frontend, but will of course show up for users who are looking at the Live version.

You can also toggle the view of the Marked for deletion container to see exactly what is about to get deleted.

Note that containers that have been added in Safe Edit mode can be deleted straight away.

Preview Live Version of Asset in Safe Edit Mode


On the Preview screen in Admin mode there is now a new option for previewing the Live version of an asset while it's in Safe Edit mode.

Previously, this was not possible if you had Write access to the asset, other than logging out first.

This is done by simply adding the new SQ_ACTION=view_live query parameter to the preview URL, for example:


Customisable ID Attribute on Content Containers

#12024 - idea by Aaron Maskell (Squiz client)

The ID that gets automatically generated for Content Containers can now be customised.

By default, this is generated based on the container's asset name and asset ID, for example:

<div id="introduction_13759">

Sometimes you might want to customise this ID to make it easier to target for things like anchor links.

This can now be done by toggling the "Customise ID" option on the Properties pop-up on the Content Container.

When enabled, it lets you input your own custom ID attribute, similar to the CSS Class setting.

Note that this will only get added to the container on the frontend if the Presentation setting is not set to Raw.

Upgrade Script

To aid with users upgrading to this version of Matrix, a script has been added under the /scripts/upgrade/ directory called upgrade_content_container_customid.php that lets you update existing Content Containers to use either a customised or automatic ID.

You can run the script after your system has been upgraded to:

  • Make all containers use a custom ID
  • Make all containers use an automatic ID
  • Only make containers with a customised name use a custom ID

You can also run this script against a specific root node if you don't want to process all containers within the whole system at once.

Note that this is an optional script that is not run automatically during the upgrade process and needs to be run manually with the desired options if so required.

Toggle Logging of IP Address on Form Submissions


A new option for Custom Forms has been added for controlling whether or not the IP address of a user is logged in Form Submissions.

This option can be found on the Form Contents screen of the Form Contents asset that sits under a Custom Form and is enabled by default.

This enhancement was added to aid with GDPR compliance requirements for capturing and storing user data in the CMS.

Other Features & Enhancements

  • #12003 - Show note on Asset Grouping screen of Listing assets if Custom Grouping setting is not enabled
  • #12059 - Allow folders to be created under Design assets

Bug Fixes

  • #10834 - Rollback + Roles queries are slow regardless of Roles config
  • #11784 - Dynamic workflow streams are not taken into account when a page is Live
  • #11962 - Consider more robust handling of SugarCRM errors when a refresh token is invalidated
  • #11981 - Write access users can't set status to Live from Up For Review in Edit+
  • #11982 - Users with Write Access can't set Future Statuses on an asset whilst it's in Up For Review
  • #11983 - Write access users can't change the status to Safe Edit from Up For Review
  • #11991 - Conditional keywords don't work in the Page Contents of a Paint Layout
  • #12010 - Simple Validation rule on a form question throws error when value of form question field is array.
  • #12050 - On-Off schedule job is not saving on Refresh Cache Screen under cache manager.
  • #12053 - Global keywords with shadow asset id don't get remapped on export/import to XML if shadow asset id contains characters expect letter, number and underscore.
  • #12061 - Login design not showing log in section anymore for /_login URL.
  • #12067 - WYSIWYG image upload bypasses the validation for Alt text field
  • #12071 - REST Resource OAuth 2 Legged and the REST Resource OAuth Session assets incorrectly marked for deprecation