Blog

Steps for a Safe Update to Mura 6.2

June 9, 2015 by Steve Withington & Michael Evangelista

Since the advent of Mura CMS as an open source project in 2008, the development team and user community have continued to improve and update every aspect of the system's functionality. While it is quite possible to maintain a site built on any version of Mura, it is highly recommended to keep the "Core" updated as bug fixes, enhancements, and security updates are released.

Mura's live update feature provides real time updates, patches and version upgrades.

"Automatic" Updates

One of Mura's most robust and important features is the "automatic" update system, which connects every Mura CMS installation to the core code base, allowing for seamless application of all enhancements and version updates using built-in options within the Mura administrator. This doesn't actually happen by itself, as it does require a super administrator to perform the action. The term "automatic" refers to not having to manually update files individually on the file system.

While it is usually safe to simply select the options for updating the Core and Site Files to apply small updates and patches at any time, there may be some additional steps which could be taken when updating from a previous version, especially if you run into issues when attempting the update.

About the Mura "Upgrade Path"

Mura's file structure is intentionally divided into what are considered "update safe" directories and those which should not be altered for any reason. For example, Mura's display objects may be safely modified by placing an altered copy of the original in the "custom" directory. In this case, when a "Site" update is performed, the original display objects may be safely updated while the modified version would not be affected.

For more about these update safe locations and best practices, see the Mura 6 Documentation for a listing and explanation of safe files and locations.

Steps for a Safe Update

At the time of this article, the current Mura CMS version is 6.2. This specific version introduced some core changes which, while not inherently incompatible with prior versions, may require following the additional steps below to properly update itself:

1. Backup Files and Database

As with any major file or database operation, it is always recommended to back up your database and site files. Many web hosting companies will provide backups and file or database restoration from same, when needed, at little or no cost. However it is also recommended that the developer make a complete copy of the Mura web root and database for safekeeping before performing a major version update.

2. Replace index.cfm File

For older Mura instances, especially Mura installations which originated prior to version 6.1, the root index.cfm file may need to be manually updated. To do so, copy the contents of the following link into the file at {MuraRoot}/index.cfm in your Mura installation: https://raw.githubusercontent.com/blueriver/MuraCMS/develop/index.cfm

3. Replace AutoUpdater

To assure proper compatibility with the update process itself, replace the contents of the file at {MuraRoot}/requirements/mura/autoUpdater/autoUpdater.cfc with the version located at:
https://raw.githubusercontent.com/blueriver/MuraCMS/develop/requirements/mura/autoUpdater/autoUpdater.cfc

4. Reset Global Version

Open the {MuraRoot}/config/ directory and delete the file at {MuraRoot}/config/version.cfm.
This file will be automatically generated again as part of update process.

5. Reset Site Versions

For each site within the Mura installation, delete the file at {MuraRoot}/{SiteID}/version.cfm.
(For example in the "default" mura site, the file would be located at {MuraRoot}/default/version.cfm.)

4. Reload Mura

Log in to the Mura Site Manager using any superadmin level account (for example, the 'admin' user account created at site setup) and select the option under Settings > Reload Application to refresh Mura's application cache.

7. Adjust Server Request Timeout

To avoid any problems caused by long running requests when updating numerous files to the latest version, a long request time out setting is highly recommended. If direct access to the ColdFusion or Lucee administrator is not available, assistance from the web host or server administrator may be required.

For Adobe ColdFusion: log in to the ColdFusion Administrator and find the setting under Server Settings > Settings, titled "Timeout Requests after seconds". Note the current value and change it to "3600" or higher, saving the change. This can be changed back to the original value after completing the Mura update.

For Lucee and/or Railo: in the Lucee or Railo Administrator, find the setting under Settings > Request titled "Request Timeout". Be sure this is set to a large amount of time, such as 1 hour or higher. Again this can be changed back if altered here, once the Mura update is complete.

Stay logged in to the CF administrator, keeping the site open in a separate tab or window, because you'll need to do something else after the next step.

Setting a long request timeout assures uninterrupted file operations when working with slow connections or large numbers of file updates.

8. Update Core Files

From the Mura administrator, select the option under Settings > Update Mura Core. Click "Yes" to confirm that files have been backed up before proceeding, assuming you've followed step 1 above. When updating from any pre 6.2 installation, this operation will take quite awhile to complete. 

Logging in as a superadmin user provides access to the Mura Core update option.

9. Clear CF Cache

To avoid complications due to cached CFML output or class files stored in the server memory, it is recommended to clear the template and component cache.

For Adobe ColdFusion: in the ColdFusion Administrator, browse to Server Settings > Caching and click the buttons labeled "Clear Template Cache Now" and "Clear Component Cache Now". 

For Lucee and/or Railo: in the Lucee or Railo Administrator, browse to Settings > Performance/Caching, and click the buttons labeled "Clear Page Pool Cache", "Clear Include Cache" and "Clear Component Paths Cache".

Clearing the component and template cache forces a clean reload of the site after the version upgrade.

10. Reload Mura

Select the option under Settings > Reload Application to repeat the refresh of the Mura application settings.

11. Confirm Core Update

At this stage, the Mura CMS core update should be complete. The current version should be visible in the Mura Site Manager under the "Version" option. 

Mura's core and site version are easily accessed from the Site Manager.

12. Update Site Files

Once the core files have been updated, one additional step is required to update the files within each Mura site. First, select the site in question from the sites menu, then select the option under Site Config > Update Site. Click "Yes" to confirm that site files have been backed up before proceeding. The site's files will automatically be updated to the latest version. Repeat this for each site in the list, or use the Multi Site Version Update feature to update all of the sites at once (doing so will not list the files that have been updated though).

A site's files may be updated separately , after applying a new version to the Mura core.

Additional Tips and Troubleshooting

In the event of any errors during or after the update process, make a copy of the full error details before making any changes. This information is useful when troubleshooting, even if the decision is made to restore the files and database from the backups.

In some cases, a plugin may have compatibility issues and cause an error after updating the Mura core or site. To avoid these potential plugin compatibility problems, plugins may be temporarily disabled by browsing to Modules > Plugins in the Mura Administrator, and unchecking any of the site assignments for each plugin, saving the settings. Once the update is complete, these plugins may be enabled again via the same method. If the plugin is not compatible, you may need to contact the plugin author/creator for a fix.

More About this Feature

Also see Mura CMS v6 Documentation:
Mura File Structure & Core Files
http://docs.getmura.com/v6/back-end/file-structure/mura-core/
Staying on the Mura Upgrade Path
http://docs.getmura.com/v6/front-end/customizations-staying-on-the-upgrade-path/

Further documentation for Mura CMS developers and content managers is available at docs.getmura.com
Learn more about Mura's powerful features and flexible options at www.getmura.com.  

Comments

Post a Comment

Required Field