MySource Matrix Developer

Main Content

MySource Matrix Changelog - 3.20.1 to 3.20.2

Featured Changes

Search Query modificaition for Oracle 11G compatibility

The queries issued by Search Manager when searching content has been modified to allow compatibility with Oracle 11g. Nested subqueries are now used in the query portion that checks permissions, instead of an "intersect" operation, to provide this compatibility.

Asset Manager Database Query Optimisation

The query to retrieve parent assets has been optimised by using a "JOIN" operation instead of a subquery. This results in a great performance increase on systems with large tree structures.

New Global Keywords for current date and time

A new Global Keyword is available - %globals_date% - which will return the current server date and time for use in content.

When used as specified above, a readable date / time is shown (eg; 6th Feb 2009 5:00pm). This keyword can be prefixed with a PHP date() format for greater control of the date displayed. Keywords must be used in isolation if multiple date components are required. For example:

%globals_date_M% %globals_date_Y% => Feb 2009
Asset Listing: Return Root Nodes Only option

The Root Nodes assigned to an Asset Listing will be returned when the minimum and maximum depth are set to 0.

WYSIWYG Metadata Field Type

Metadata can now be specified as rich text in via a WYSIWYG Field Type, similar in function to the WYSIWYG Content Type available for Bodycopies.

Regenerate Metadata by Root Nodes script

A new command line script - regen_metadata_by_root_nodes.php - has been added to the "scripts" directory. This script takes the Matrix Root Directory and a comma-separated list of Root Node asset IDs. Metadata is then regenerated for each child asset under the specified Root Nodes.

The script is multi-threaded and takes two further optional parameters to control the processor utilisation of the script. These parameters are the maximum thread count and a number of assets to process per batch. The default values of each are set at 3 and 50 respectively.

Antivirus Tool Integration

Virus scanning of File assets has been added through integration to the third-party ClamAV and F-Prot command-line tools.

New File assets are scanned using the configured virus-scanning tool when specified in "External Tools Configuration". When an infected uploaded file is detected upon creating a new File asset, creation of the asset is aborted with a MySource Warning message shown to the user.

New Image Keywords to display Image Variety dimensions

Keywords for the pixel dimensions of Image Varieties is now exposed to Image assets. The keyword format is as follows:

%image_v_VARIETY_NAME_width%
%image_v_VARIETY_NAME_height%
Customisation for CAPTCHA text background and border colours

The background and border colours for CAPTCHA fields can be configured from Form assets. The code for this functionality has been graciously contributed to the Matrix CMS Package by Nic Hubbard.

Search Page: Exclude Root Nodes option

This option allows the assets specified as Root Nodes be excluded from the search results in instances where they would normally be applicable.

Metadata Date Field support for Triggered Scheduling of Set Future Permission and Status Actions

A Metadata Date Field configured to provide an ISO 8601 date (eg; 2009-02-20 17:00:00) can now be used as the schedule time for a future permission or status event within their respective Trigger Actions.

The interface to these Trigger Actions have changed slightly to remove redundant components while maintaining functionality. An optional offset is now specified at the bottom of the trigger action instead of against each applicable item.

Form Submission Action: Save as XML

Form Submissions can now be exported as an XML structure by associating the "Save as XML" action from the "Submission Actions" screen from the "Form Contents" of a Custom Form.

A server file path must be specified as a destination for the XML output. The output provided can be either "Simple" or "Complex" - the latter of which includes IP address and asset ID details. The values exported can also be configured here to be either the key or value component of each answer.

Custom Form: Extra HTML Attributes option for Submit and Reset buttons

Extra HTML attributes (eg; for custom styling, JavaScript code) can now be added to the Submit or Reset buttons in Custom Form assets. This optional HTML text can be added from the "Simple Formatting" section of the "Contents" screen.

Support for Persistent Database Connections

Persistent database connections may now be used for both PostGres and Oracle databases. The 'persistent' option should be added to the DSN array for connections in the db.inc configuration file to enable this functionality, as demonstrated below:

'db' => array (
            'DSN'        => 'pgsql:dbname=my_db;host=my_host',
            'user'       => 'db_user',
            'password'   => '',
            'type'       => 'pgsql',
            'persistent' => true,
        ),
...

If this option is not specified or set to 0 or false, non-persistent connections will be used as per normal operation.

Additional Changes and Bug Fixes

Core
  • Fixed Bug #3504: Moving Custom Form Sections
  • Fixed Bug #3511: Trigger to release all locks on logging out
  • Fixed Bug #3513: Locks not being update by the Top Frame
  • Fixed Bug #3528: Accessing URL with apostrophe Gives DAL error without 404 page
  • Fixed Bug #3533: Form question type tickbox list not upgraded when there is only one option set
  • Fixed Bug #3535: Missing Binoculars Icon
  • Fixed Bug #3536: Metadata can not be edited in simple edit layout by root node
CMS
  • Fixed Bug #3507: Custom Form - keyword for non existent question causes blank page
  • Fixed Bug #3537: foreach() error with custom form
IPB
  • Fixed Bug #3491: IPB username with single quote will fail to login
Search
  • Fixed Bug #3489: Search finding bodycopies when used with multiple root nodes
  • Fixed Bug #3494: Question Field option missing
Web Services
  • SOAP Server Page: XML response upon authentication failure