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

Subscribe to our RSS feeds

Squiz Matrix Newsletter - December 2015

Welcome to the Squiz Matrix Newsletter, a monthly look at all the latest and greatest Matrix news, direct to you from our Squiz Labs development team. 

We've been extremely busy over the last couple of months, so much so that our Monthly Newsletter has had to take a step down on the priority of our list of things to do. We do apologise for the lack of news lately, but it only means this edition is jammed packed with things to catch up on.

Enough talk, grab a coffee and read on for the latest news surrounding Squiz Matrix.

TABLE OF CONTENTS:

  1. Squiz Matrix 5.3 Released
  2. What Else Is New in Our Latest Releases?
  3. User Manual Library Moving to Matrix
  4. Internet Explorer Changing Support
  5. New Subscription Service Coming Soon
  6. Happy Holidays

As always, we'd love to hear your feedback. Let us know your thoughts by shooting us an email at matrix-newsletter@squiz.com.au. Til next month,

The Squiz Labs team.

 

SQUIZ MATRIX 5.3 RELEASED 

Last month saw the release of the long anticipated and awaited release of Squiz Matrix 5.3. As the fourth release in the 5.X series of Matrix, this expansion sees some very innovative and powerful new features be included alongside the Matrix core offering. 

Let's examine some of these features as well as the benefits they will bring to content authors and website implementers in their day-to-day creation, publishing and management of information and web content.

Content Templates

#2746

Content Templates is a powerful new feature that allows you to combine Paint Layouts, Metadata Schemas, and Simple Edit Layouts and apply them to content containers as templates. These content templates can be used by editors on the Contents screen of Standard Page assets, taking care of the presentation, data storage, and editing interface for the containers they are applied.

This new feature should allow you to create unique and tailored front-end content as well as custom user intuitive and friendly editing experiences that are targeted for specific implementation requirements and solutions.

As part of our testing we've been able to come up a variety of different template ideas using these new features, such as:

A tabbed content template, allowing users to create content blocks in tabs easily with flexibility over how many tabs to create.

Feature screenshot

A template for embedding Google Maps within content with auto-complete street address searching for the default map marker position.

A column content template allowing for easy creation and management of content in column boxes with an optional background image.

Structured content can also be easy to manage and edit using a custom editing interface for all field values similar to that of the metadata screen.

These are, of course, just the tip of the iceberg. We envision a multitude of potential template ideas, really, the possibilities are endless.

With a growing awareness of the power of high quality content, these container templates should provide your editors with more freedom when creating content, taking away any worry of initial HTML creation and element styling, as well as the overheads for initial setup and training.


WYSIWYG Commenting

#5874

Inline WYSIWYG comments allows you to add comments to content in a WYSIWYG content container. These comments can then be replied to by other users for easier collaboration on content authoring.

Comments and threads can be deleted by the user who created them and existing comments can be edited which will also track the time-stamp of the edit.

Each comment thread can be marked as resolved at which point they become locked down for further editing until the thread is unresolved again. A pagination tool is also available to quickly navigate through each comment thread and see the associated content.

A new keyword (%asset_attribute_comments%) can also be used to extract all comment data from a particular page into JSON format.


GIT File Bridge

#6183

Git is a widely used version control system for software development. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.

The Git File Bridge asset enables you to integrate static file assets from a Git repository directly into the Matrix file system.

Once a connection between a Git repository and Matrix has been established, Matrix will load all of the files from the external repository into its file system and represent each file in the asset tree.

You can also set up Git Hooks in your Git system in order to automatically update the files on the Matrix server every time the Git repository is updated with events such as a push or commit.


WYSIWYG Class Picker

#6472

The Edit+ WYSIWYG Editor has been enhanced with a class picker. Editors can now easily style up their content with a simple select list of pre-defined styles created for them specifically to work with the site design they are publishing content within.

Classes can be shared between the edit mode and preview so that editors can easily see what their content with applied classes will look like directly within the editing interface.

Classes are applied on the Design assets in the back end and are automatically cascaded down to customisations. Control can be given as well on what HTML elements certain classes can be applied to.


ACE Code Editor

#4571

Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate.

This editor has long been part of Edit+ as the source editor found in the WYSIWYG and has now been ported to the Admin interface.

Admin users will now receive a full fledged code editor when editing code based assets including Design Parse Files, CSS Design Files, JavaScript &, CSS Files, and Raw HTML Content Containers.


Asset Editor

#6623

This feature is actually a powerful extension to the already versatile and useful Asset Builder Page.

Previously you could only create new assets with the Asset Builder, leaving you to have to create additional pages and screens for exposing custom editing interfaces for the assets users were building.

Similar to the Account Manager Page, this enhancement now lets you edit assets via the Asset Builder as well as create them. You can create custom editing interfaces for each type of asset and keywords are available for things like success and error messages when an edit has been performed.


Updated Edit+ Interface

#7494

The Edit+ interface has had a bit of a facelift to further modernise and improve the user experience. A lighter theme has now been applied and various minor improvements to editing elements have been tweaked and improved.

The Metadata screen in particular has received some attention in terms of spacing, layout, and consistency.


Multiple Related Asset Metadata Field

#2736

The Related Asset Metadata Field has been enhanced to support multiple asset selections.

There is now a setting where you enter a number value of how many related asset selections you want to allow for the field. Setting this to anything higher than 1 will automatically turn it into a multi asset select picker on the metadata entry screen.

When multiple assets are selected by this field, the output is printed in a JSON structure that can also be turned into XML or CSV using keyword modifiers.

In Edit+, each related asset selection can have its order changed via the easy drag and drop interface tools.


Edit+ Linking Screen Info

#1973

The Linking Screen in Edit+ has been enhanced display more information about where the current asset is linked to.

The new "Asset Links" table displays link types of:

  • URL Link - An asset that links to current asset using a ./?a= link
  • Nested Asset - An asset that is nesting in the current asset
  • Root Node - An asset (such as Asset Listing) that is using the current asset as a root node selection


Trigger Logs

#6258

Logging of changes have been added to the Trigger Assets in the Admin Interface. System Administrators of a Matrix instance can now easily review all changes made to a Trigger and more importantly, which user made the changes, to help properly audit these power assets.


HPRM 8 Connector

#6872

A new dedicated connector and Saved Search asset have been created for connecting a HPRM 8 system to Matrix. This connector and functionality is essentially the same as the existing TRIM connector in Matrix, but is powered off the new REST API that is available in HPRM.


LDAP With SAML Authentication

#5416

Both LDAP and SAML authentication has been available in Matrix for a long time. Now these two powerful and popular authentication mechanisms can work together to let your users login to Matrix using external user accounts through a SAML login screen, and managed within Matrix as LDAP user assets.


Braintree Payment Gateway

#7458

A new payment gateway system has been added to Matrix to increase the E-Commerce implementation and integration capabilities. Braintree, a PayPayl owned company, specialises in payment solutions for websites to enable fast and easy payment processing online.

This payment gateway can be connected with the standard E-Commerce functionality in Matrix such as the E-Commerce Form and Shopping Cart assets.


LDAP Login Using Email

#7009

The LDAP Bridge allows Matrix to display the structure of your LDAP directory in the asset map. You can browse your directory from Squiz Matrix and use the users and groups just as if they were created within Squiz Matrix itself. You can assign permissions for LDAP users and groups, and apply security restrictions to them to limit their interaction with the administration interfaces.

A small enhancement has been added to the LDAP Bridge to let users login using their email address rather than their usernames.


Search Page Enhancements

#6557

Several enhancements have been added to the Search Page asset in Matrix to bring it more in-line with functionality that is available in the Asset Listing asset. These enhancements include:

  • Dynamic root nodes - Ability to pass dynamic search root nodes to target when doing a search using parameters such as GET variables and global keywords.
  • Exclude root nodes - Specific root nodes can be excluded from the search page so that no assets under those nodes get returned in search results.
  • Exclude assets - Similar to exclude root nodes, however only targets individual assets to exclude from search results.

Parse Push Notification Trigger Action

#7724

Parse.com is a platform that lets developers create powerful supporting app components such as cloud databases, push notifications, and analytics tracking.

A new Trigger Action has been added to Matrix that can connect to the Parse Push Notification API to send updates from your website into users device notification systems for things like tablets and smart phones.

This feature was generously submitted by Nic Hubbard from Zed Said Studios.



With the release of 5.3 on November 2nd 2015, it also means we saw our last version of the 5.1 branch released on the same day (5.1.15.0). It also means that the 5.2 branch has now switched over into a support branch meaning it will only contain bug fixes and security enhancements in all its future releases.

WHAT ELSE IS NEW IN OUR LATEST RELEASES? 

It's not only Matrix 5.3 that we've been celebrating. Since our last newsletter, several other enhancements have been added into the various Matrix version releases. Click on the links below to view the release notes for each version:

  5.1 5.2 5.3
24 Nov 2015   5.2.8.0 5.3.1.0
02 Nov 2015 5.1.15.0 5.2.7.7 5.3.0.0
06 Oct 2015 5.1.14.6 5.2.7.6  
02 Oct 2015 5.1.14.5 5.2.7.5  
30 Sep 2015 5.1.14.4 5.2.7.4  
29 Sep 2015 5.1.14.3 5.2.7.3  
09 Sep 2015 5.1.14.2 5.2.7.2  

  

Below are also some of the other notable features released in Squiz Matrix since 5.2.7.7:

Better Error Handling For REST Calls

Squizmap Idea #7374 

Better error handling and reporting has now been added to REST web service calls for things like the Trigger Action and REST Resource asset.  

If a REST call fails, you can print and check the error message and code that was returned as part of the failed web service call. These error values are part of the REST.response JSON data and can be accessed and printed within the JavaScript execution code:

print(_REST.response.error);
print(_REST.response.error_code;

Introduced in version 5.2.7.7

Ability to Create Children Under Assets in Workflow

Squizmap Idea #7817 

When an asset is in workflow, all of its attributes and metadata are locked down while the asset's status is in "Up For Review" or "Pending Approval". This is to ensure no data is changed while the asset is in a review state. 

This however also meant that the asset's linking information was locked down, and in turn meant that no new child assets could get created under it. This minor enhancement now removes this restriction.

Introduced in version 5.2.7.7

Logging of Changes on File Assets 

Squizmap Idea #6879 

A new type of logging has been added for File based assets called "file.updated". This log will track changes made to a file and will allow you to download the file at any specific point in time of when it was updated. This will especially be useful for reverting accidental overwritten text based files such as CSS and JS.

File Logging 

Introduced in version 5.3.1.0

New Keyword for Asset Status Code

Squizmap Idea #8178 

A new keyword has been added to print the status code of an asset. %asset_status_code% will print the code associated with the current status on an asset. Effect when using on a Live asset:

%asset_status_code% => 16

Introduced in version 5.3.1.0

XPath support for tag name extraction on XML Datasource asset

Squizmap Idea #5374 

When selecting with tag names to use to extract values from on an XML Datasource asset, you can now use the XPath syntax to extract specific tags that share the same names as tags on other levels of the XML structure. For example, if your XML structure looks like this:

<books>
  <title>List of books</title>
  <recid>cat1</recid>
  <book>
    <recid>item1</recid>
    <title>The Dead Zone</title>
    <author>Stephen King</author>
  </book>
  <book>
    <recid>item2</recid>
    <title>The Murder of Roger Ackroyd</title> 
    <author>Agatha Christie</author>
  </book>
</books>

Using "book/title" or "books/book/title" as the tags to extract will return: 

  • Record 1: The Dead Zone
  • Record 2: The Murder of Roger Ackroyd

While tags to extract set as "books/title" will return:

  • Record 1: List of books

Introduced in version 5.3.1.0

Ability to Change Time When Sharepoint Scheduled Job Runs

Squizmap Idea #8227 

Similar to the TRIM Scheduled Job, the Sharepoint Job can now be configured to be run at any time instead of the previously fixed time of 00:00. 

Introduced in version 5.3.1.0

Dynamic Keyword Support for Start Position Setting on Listing Assets

Squizmap Idea #8248 

Similar to the "Assets Per Page" setting on listing assets, the "Start Position" setting now supports dynamic keywords as the setting value. For example, passing a URL parameter of "start=3" to an asset listing and setting the "Start Position" value to %globals_get_start%, will make the asset listing start the list at position 3.

Introduced in version 5.3.1.0

OAuth2 2-Legged Authentication

Squizmap Idea #8176 

OAuth2 2-legged authentication has now been added as a new authentication method within Squiz Matrix. This is similar to the already existing OAuth2 3-legged authentication where user needs to be redirected to another website server to login and authenticate the connection.

This new 2-legged method inherits current OAuth2 functionality but doesn't require any redirection on the front end, Matrix will instead work in background to grab the Access Token directly from the end point using server side interaction calls.

Introduced in version 5.3.1.0

New Keywords for Form Submission Assets

Squizmap Idea #8136  

New keywords have been added in order to make all Form Submission attributes available as keyword replacements. These include:

  • Attributes - %submission_attributes% (json string of the attributes array)
  • Captcha Status - %submission_captcha_status% (boolean 1 or 0)
  • Complete - %submission_complete% (boolean 1 or 0)
  • Submitted date:
    • Normal - %submission_submitted_time%
    • Short - %submission_submitted_time_short%
    • Readable - %submission_submitted_time_readable%
    • Readable date - %submission_submitted_time_readabledate%
    • Readable time - %submission_submitted_time_readabletime%
    • iso8601 - %submission_submitted_time_iso8601%
    • rfc2822 - %submission_submitted_time_rfc2822%
    • iCal - %submission_submitted_time_ical%
    • Relative - %submission_submitted_time_relative%

Introduced in version 5.3.1.0

Update File Contents JS API Function 

Squizmap Idea #7705 

A new JS API function has been added that allows you to update the contents of a file by passing the file data as a base64 encoded string. This is particularly useful when creating front-end web apps that let you create and update file assets such as images without the need to use asset builders or a simple edit layout.

Example JS API code: 

js_api.updateFileAssetContent({  
  "asset_id": "1234", //Asset ID of the file asset
  "content" : "/9j/4QDGRXhpZgAASUk...", //Base64 encoded string data
  "dataCallback": callbackFunctionHere //Callback function
});

Introduced in version 5.3.1.0

New Keyword Modifiers for base64url Decoding and Encoding 

Squizmap Idea #7380 

A couple of new keyword modifiers have been added to enable encoding and decoding of strings into base64url format. This is similar to the already existing base64 keyword modifiers, except they encode the string slightly differently to cater for use in URL implementations in order to properly escape URL sensitive characters.

One example where this is required is when integrating with the Google Gmail API. A ":no_pad" argument can also be passed to strip whites space characters from the end of the string.

Example where the value is "foo bar": 

%asset_name^base64url_encode% => Zm9vIGJhcg

Introduced in version 5.3.1.0

USER MANUAL LIBRARY MOVING TO MATRIX

You may not be aware of this, but for the entirety of their lifetime, the User Manuals Website for Matrix has been running on Squiz CMS. This is a smaller based Web CMS built and developed by Squiz Labs which is no longer active in its development.   

study zone

While it has served us well as a basic CMS that allows us to edit and create pages quickly with basic site functionality, we now have bigger and better plans for the Manuals, which means we need to look elsewhere for a system that is able to support it. The obvious solution is of course, Matrix!

Subsequently, with this migration already in motion, the plan is to have the Manual's Website fully relocated 'like-for-like' to a Squiz Matrix platform in the next couple of weeks. When this has been completed and the migration is live, we can start working on all the new improvements we have in store for the site.

Stay tuned for further updates and keep an eye out for changes and improvements coming to the site over the next few months. 

INTERNET EXPLORER CHANGING SUPPORT

Microsoft has announced that support for older versions of Internet Explorer ends on January 12, 2016.

"Beginning January 12, 2016, only the most current version of Internet Explorer available for a supported operating system will receive technical supports and security updates. Internet Explorer 11 is the last version of Internet Explorer, and will continue to receive security updates, compatibility fixes, and technical support on Windows 7, Windows 8.1, and Windows 10."

- Microsoft

This also means that the next big release of Matrix (5.4, scheduled for start of Q2 2016) will not be supported in IE8, IE9, and IE10. All other existing browsers will still be supported with the addition of Microsoft Edge

This will hugely impact the development and testing in Matrix for new features that are getting built as we can build tools and improvements that solely rely on new and powerful web browser technology.

NEW SUBSCRIPTION SERVICE COMING SOON

In order to ensure you always get the latest news regarding Squiz Matrix and Squiz Labs products in general, we have decided to start a brand new email subscription service!

This will be an email newsletter containing updates and news on all Squiz Labs product development. Never miss a release note, bug fix, minor enhancement, newsletter, or announcement again by getting everything new about Squiz Labs products directly in your email inbox.

Keep an eye out on the User Manuals Website for a subscription link popping up in the near future!

HAPPY HOLIDAYS

Well that's it for another cracking year of Squiz Matrix development news. This will be the last Squiz Matrix newsletter edition for the year and we'll be back next year bigger and better. 

Stay tuned for an end of year Squiz Labs post where we look back and recap all the highlights of the year that was 2015. 

Until then, from the Squiz Matrix team we wish you all a Merry Christmas and a Happy New Year!

 

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.