Blog

Three Words for Peace of Mind: Backup, Backup, Backup

October 8, 2015 by Michael Evangelista

A completed website represents many hours of meticulous programming, management of content, and painstaking attention to detail on the part of the site's developers. None of this is easily recouped, and for a professional organization, the loss of data, files or other essential assets can be catastrophic. For peace of mind, it is always recommended to set up and maintain a consistent reliable backup routine, from the beginning of the development process through the content creation and publishing phases and beyond.

Use Drafts, Save Often

Mura's content versioning system is automatic and easy to use. Content revisions are automatically saved each time a draft or published page is created, for easy access to previous versions of any Mura content item. It is highly recommended to take advantage of this system by saving frequent drafts when editing inline content or working in the site manager.

Related to the built-in versioning system, Mura also has robust approval chain and change set options, for granular management, sharing and revision of stored content. Both are worth investigating, especially for sites with multiple content contributors or scheduled content releases.

Site Bundles

One of the easiest and safest ways to preserve all of a site's contents - including templates, css and javascript theme assets, and all uploaded images or other files - is to generate a site bundle.

However, a site bundle is only designed to package a single Mura "site", not an entire installation. An exported bundle file may not contain all of the data created and managed by plugins, for example, nor will it contain any custom settings, which are stored in the settings.ini.cfm file, the database, or other global locations.

Another concern with site bundles comes into play with very large, image-intensive sites. The sheer volume of images in the bundled zip file may prove problematic when uploading or deploying the bundle again, triggering the server's timeout restrictions when unpacking the compressed contents.

For a smaller site, or simpler sites with few customizations, a site bundle is the ideal solution for easy backups, especially when stored locally, in a cloud file storage account, or somewhere else outside of the web root. (For more about creating and deploying site bundles, see this two-part series. )

Server-Side Backups

With a Mura site or any other web application, regardless of in-house backup strategy, it is always a good idea to make sure the hosting provider or server administrator utilizes a Constant Data Protection (CDP) backup plan, including occasional review and testing of the backup services, to ensure a reliable rollback of database or file contents on demand. In this case, an ounce of prevention may be worth many hours of work, client frustrations, costly rebuilding... and a pound of cure.

Code Versioning with GitHub, BitBucket, et al

When it comes to completely independent, off-site backups, services like GithHub and BitBucket provide a consistent, accessible means of storing and backing up a project's code, along with any changes made to the code base, often using integrated options found in many popular code editing applications.

While a git (or Github) repository won't natively track changes made inside the Mura site manager interface, which are stored in Mura's database, it is ideal for keeping track of any custom code, plugins, theme css and javascript, or any other changed or added files. A few very basic git commands, or menu options within an installed Github client or IDE, will render a complete set of backed up files in the form of a 'commit', which can be restored or reverted to as needed. (Database contents can actually be backed up and tracked for revision too, by periodically using a MySQL management tool to dump a .sql file containing the database contents, and storing that file as part of the code repository.)

For new developers, or those looking for better backup options for solo or collaborative projects, it is highly recommended to get familiar with at least the very basics of git versioning, or another similar revision-tracking system. Mura CMS itself is stored in a public git repository, with robust features for viewing, contributing and comparing core code, along with options to download the latest version, or view the various code branches being developed.

Backup More, Worry Less

Utilizing a reliable system and getting to know Mura's built in features will provide a stable cornerstone of operations for any creative team. Time spent explaining to clients, looking for past copies of files or data and scrambling for solutions can sap the life out of a development cycle and cause unacceptable down time in a live environment. A solid foundation and workflow are well worth having from day one.

Whatever the backup strategy, consistent development practices and backup systems will provide increased productivity, enhanced peace of mind, and better results every time.

More About These Features

Publishing Options: http://docs.getmura.com/v6/content-managers/publishing-options/
Approval Chains: http://docs.getmura.com/v6/content-managers/approval-chains/create-an-approval-chain/
Change Sets: http://docs.getmura.com/v6/content-managers/content-staging-manager-change-sets/create-a-change-set/

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