MySource Matrix Resources

Main Content

Upgrading MySource Matrix from v3.12 to v3.14

Introduction

This guide will help you upgrade an existing MySource Matrix version 3.12 installation to version 3.14.

This upgrade requires you to have access to:

  • update the MySource Matrix source code
  • run database queries on the MySource Matrix database
  • edit the MySource Matrix configuration files

This guide assumes that your MySource Matrix installation is located at /home/websites/mysource_matrix. Please change any commands to the appropriate location if your installation is located elsewhere.

This upgrade guide is based upon upgrading from the stable version just before the first 3.14 stable release - that is, from version 3.12.3 to 3.14.0. For upgrading earlier versions of Matrix, it is recommended that you upgrade to at least version 3.12.3 before upgrading to 3.14.

If your system contains the commercial or premium modules, please contact Squiz for updated versions of the modules before proceeding with the upgrade.

The modules must be upgraded at the same time as the core system.

Major version upgrades require you to delete all previous rollback data from your system. Rollback data is incompatible between major versions.

Ensure that you have a current backup of your existing system and rollback data before upgrading.

Stop Editing

No editing should be taking place during a major version upgrade. Before starting the upgrade, first ensure that all editors are logged out of the system.

Backup

Before starting any upgrade, always backup your MySource Matrix installation. See the MySource Matrix backup management guide for information on how to backup your MySource Matrix system.

Delete Stale HIPO Jobs

During a major version upgrade, stale HIPO jobs should be removed from the system. Log into the MySource Matrix administration interface as root user and go to the HIPO Herder screen. Lock this screen and delete all HIPO jobs that are listed. Note that there may not be any stale HIPO jobs in the system.

Clear the MySource Matrix Cache

There are some changes to the way the MySource Matrix cache is stored. You should clear Matrix's cache from the Cache Manager before starting the upgrade.

Disable Rollback

At this point, you need to ensure that rollback is disabled before continuing. For help with disabling rollback, see the MySource Matrix rollback management guide.

Disable Cron Run script in Crontab

If you use the Cron system, you will have set up an entry in a Crontab file. It is most likely that it would have been set up for the user Apache runs as, however this depends on your system configuration.

As the user the Crontab entry was installed to, run the following command:

$ crontab -e

Find the entry for Matrix, and add a hash ("#") to the front of the entry to comment it out:

# */15 * * * * php /home/websites/mysource_matrix/core/cron/run.php /home/websites/mysource_matrix

Get the New Source Code

Now, you need to update the MySource Matrix source code. You can find out how to download the latest stable version of MySource Matrix on the installation page.

Once you have downloaded the source code, you need to replace the existing code with the newer version. This will not reset any configuration options or remove any content from your system.

These steps assume MySource Matrix is installed at /home/websites/mysource_matrix and that a tar.gz archive with the new source code exists within /home/websites
$ cd /home/websites
$ mv mysource_matrix mysource_matrix_3-12
$ tar -xzvf new_source.tar.gz
$ cd mysource_matrix
$ cp -r /home/websites/mysource_matrix_3-12/data .

Full System Upgrade

First, the system's installation scripts should be run to ensure the asset types and language translations are up to date.

Please note the extra run of the compile_locale.php script. This is required for the upgrade of existing Payment Gateway assets, as it uses a translation to fill the content of its bodycopies.

$ php install/step_02.php /home/websites/mysource_matrix
$ php install/compile_locale.php /home/websites/mysource_matrix
$ php install/step_03.php /home/websites/mysource_matrix
$ php install/compile_locale.php /home/websites/mysource_matrix

Move Form Submissions to Submissions Folder

Beyond this point, the actions required to perform the upgrade may take a long time on larger systems. To minimise disruption, those upgrading systems with a large number of assets (especially if Custom Form assets or a large amount of metadata are used) are advised that an off-line upgrade may be preferable.

Custom Form Submission assets now live within a "Submissions" folder, located beneath the Custom Form's "Form Contents" asset. New Submission assets are created within this folder, but previous submissions need to be moved to the Submissions folder using a script.

Run the following from the root of your MySource Matrix installation:

$ php scripts/upgrade_form_submission_linking.php /home/websites/mysource_matrix

Deny Public Read Access to System Management Folder

These queries should remove any inadvertent public read access that may have been granted to certain parts of the System Management folder on recent clean installs, as well as remove any permissions with a user ID of zero (which have not made sense since the introduction of the public user):

DELETE FROM sq_ast_perm
    WHERE userid IN (
        SELECT assetid
            FROM sq_ast
            WHERE type_code IN ('public_user')
    ) AND assetid IN (
        SELECT assetid
            FROM sq_ast
            WHERE type_code IN (
                'log_manager',
                'system_management_folder',
                'search_manager'
            )
    );

DELETE FROM sq_ast_perm WHERE userid = '0';

COMMIT;

Reset Rollback

Only run this step if your system has rollback enabled. If your system does not use rollback, you can safely skip this step.

Rollback entries should be reset between major versions. For instructions on how to reset rollback, see the MySource Matrix rollback management guide.

Re-enable Cron Run script in Crontab

You can now re-enable your MySource Matrix system's entry in the Crontab in the reverse manner as you did to disable it: by editing the Crontab file and removing the comment (#) from the front of the entry.

Re-enable Rollback

If you needed to disable rollback at the beginning of this upgrade, you may now re-enable it. For help with enabling rollback, see the MySource Matrix rollback management guide.

Review Ecommerce Form and Payment Gateway Assets

If your system contains Ecommerce Form or Payment Gateway assets, your system requires special attention when being upgraded. This is due to major upgrades to the functionality and changes to the way these assets work. Please contact Squiz for further instructions.

Regenerate Metadata Schemas

Due to changes made to the way metadata is stored, all metadata schemas must be manually regenerated (through the Details screen of the metadata schema). Failure to do this may result in metadata information being missing from the front-end.

Upgrade Complete

The upgrade of your MySource Matrix system from version 3.12 to 3.14 is now complete.