25 May 2011 Last updated on 16 January 2012

Introducing System Restore Points for Joomla!

Picture this. You are working on your site all day. After updating a bunch of content and settings, you decide to upgrade a component. So you do... and it's a train wreck! Suddenly your template is misaligned and some pages throw infernal errors. Your deadline is in a few hours. Your last backup was two days ago. Panic? Yes! You will bust your deadline and you'll be spending one more day trying to fix everything. Fun? No.

Now picture this. The same thing as before. However, your site automatically took a backup of the component's files and database contents before the upgrade. Once you spot the problem, you smile, click on a button and everything's back to their last known good state. No panic and you'll still make your deadline.

The first scenario is something that has happened to all of us at one time or another. No matter how much I preach about the need of frequent, tested backups –and never doing changes on a live site without taking a backup first– we are humans, lazy and careless creatures. I have done the same thing myself, but thanks to my frequent backups I only lost a day's work. It wasn't very fun and I did bust my deadline. But it bugged me deeply for years. I just needed something better.

And this is how we get to the second scenario. Automatic backups of an extension, right before an update is installed. Sounds like science fiction, doesn't it? It's not that hard. Microsoft Windows does that before applying any system update. It's called System Restore and it's awesome, especially when an update blows up your system. It's too bad Joomla! doesn't have something like that. Or does it?

Without further ado, we are proud to announce that Akeeba Backup 3.3.a1 and above will include a new feature called System Restore Points. Its operation is completely transparent to you. Just install an updated version of a component, module, plugin or template through the standard Joomla! extensions installer. Akeeba Backup will see that and automatically take a backup of the extension being updated. Got into trouble? No problem! Just go to Akeeba Backup, click on Administer Backup Files, click on Restore Points, find the one which was just taken and click on Restore. Ta-da! Disaster averted! Let's make this even better. It's included even in the Core (free) version and is 100% compatible with Joomla! 1.5 and Joomla! 1.6!

There's only one catch. Some extensions need to supply a list of their non-standard table names and extra extensions bundled with their components. If you are a developer, take a look in our developers' documentation for more information. It's a simple addition to your XML manifest that takes 10 minutes to write – and can save the bacon of your users. What are you waiting for, go read the documentation!

If you are just a user, you can either wait for our official 3.3.a1 release next week or preview the future with our latest developer's release.

Nicholas K. Dionysopoulos
AkeebaBackup.com, Lead Developer