Support

Akeeba Backup for Joomla!

#21508 #21480 – Deprecated features - Restore points

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by nicholas on Friday, 21 November 2014 11:30 CST

JB2U
EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 2Mb, please upload it on your server and post a link to it.

Description of my issue:

Even though restore points are being deprecated in the next stable issue, will Akeeba still automatically take a backup before installing a new extension or update? That alone is useful, even if restoration (if necessary) has to be done manually.

Good luck with taking the bugs out of the RC!

tampe125
Akeeba Staff
Hello Jenina,

The restore points feature is very hit-and-miss. It was created back in the Joomla! 1.5 days when a few assumptions were mostly true:
  • All extensions store their data in their own tables. These days extensions implementing ACLs, categories, tags or content versioning also store data in Joomla! core tables, in a way which doesn't allow us to separate this data from core data – or from third party data.
  • Table names have predictable prefixes or can be provided by the extension developers. The developers who didn't follow the "prefix is the same as the extension name" norm never bothered to supply this information and Joomla!, despite initial thoughts to the contrary as can be seen in the sample XML manifest files, never forced developers to explicitly declare the naming pattern of their extension's tables.
  • One installation package = one extension = one XML file. Now we have the "package" type extension with multiple extensions inside it and the file, library and language extension types without an actual extension included.
  • The installation path is predictable. This was and is still true for (most) templates, components, plugins and modules. It is not true for all of the other extension types.
  • All extensions are installed through the Joomla! extensions installer, using a web browser. Nowadays we have the extensions updater and, most importantly, third party services and CLI scripts doing this. There is no way to offer a unified way of taking restore point backups.
  • If you replace the files of an extension with those from a previous version the extension will still work. With the advent of autoloaders and RAD frameworks this is simply no longer true.


There is no solution to most of these issues. For those which can be solved, the solution is not consistent. We cannot guarantee that SRPs will work reliably. In fact, we can only guarantee that they will most likely fail. This is despite the amount of time and effort I've put into it. Some things can simply not be done. I think the SRP feature was ahead of its time. Perhaps Joomla! 4 –whenever it's released– will include a similar feature. The last time the Joomla! project discussed the extensions updater we all agreed we need separate staging and deployment steps when installing an update. The staging step could easily be converted to a backup step using a plugin. It remains to be seen if the project will agree to implement this new updater method. Until then, SRPs are pretty much dead in the water...

It comes down to this: when a feature misbehaves and cannot be fixed to conform to our very high standards we have no other option than to remove it. Remember the Akeeba Backup Lazy Scheduling plugin? It's the same story.

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

JB2U
That's just a copy and paste of the previous ticket - that wasn't my question.

So restore points are gone. But that doesn't automatically imply that Akeeba can't be made to automate a backup when a new extension is installed or an updated is installed. That (without restore) is still useful.

Question: Why can't an automatic backup be triggered each time a new extension is installed, even though a restore point isn't created, just a normal .jpa backup file?

Even that would be a useful timesaver.

tampe125
Akeeba Staff
As I wrote above, there isn't a reliable way to understand when an extension is installed:
Nowadays we have the extensions updater and, most importantly, third party services and CLI scripts doing this. There is no way to offer a unified way of taking restore point backups.

The best thing you can do is to manually take a backup when you know you are going to install or update any extension.

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

JB2U
That's what I used to do before switching to Pro ... it's the key feature I need. So that is a major disappointment. Realise it's a Joomla issue as much as anythinng, but It really does make life with Joomla a much bigger pain than it used to be.

nicholas
Akeeba Staff
Manager
Well, when SRPs when reliable back in the Joomla! 1.5 days it was a killer feature. Now? Not so much. How many of the SRPs you've taken have you restored? And, most importantly, did it really work? I doubt that you can respond positively to the latter. Some of the most popular extensions (according to JED) we've tried failed to restore properly when using System Restore Points. It's not a reliable feature. For us, this is unacceptable. We want our software to work every time and protect our clients, not play Russian roulette with their data.

As for what you should be doing: take daily (or more frequent) backups. Before updating a bunch of extensions always take a backup. If you are extra paranoid take a backup, restore on a different development site/subdomain, test the extension updates on this clone and when you're satisfied that everything works also install them on the main site.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

JB2U
I have more things to do with my life than make backups - that's why the (apparently false) comfort of restore points was so reassuring. And yes, I already run offline live backups on the same server (v important) but with different domain, database, etc, of all my Joomla sites to test new extensions on. The point is I was under the impression some of the pressure was off with Akeeba Pro - when it isn't/wasn't so I could restore more easily even if I did have another backup. Luckily I've never had to actually do a restore - because I reallly am so careful anyway....

Hope somebody somewhere works something out. This is a much needed function in Joomla.

BTW, if you have root access on WHM, you can set automatic backup points and restore from there. That's my other fall back. But you stand to lose a couple of day's data when you do that, so you still need some kind of as-close-to-realtime backup as possible.

Ho hum.



nicholas
Akeeba Staff
Manager
I have more things to do with my life than make backups - that's why the (apparently false) comfort of restore points was so reassuring.


That's exactly my first major concern. It was a false comfort. However, I agree with you that you do have more important things in life than backing up your site. That's why you can automate the backups. I'd be the last person on the planet to tell you that you need to log in to your sites day in and day out to take backups.

The point is I was under the impression some of the pressure was off with Akeeba Pro - when it isn't/wasn't so I could restore more easily even if I did have another backup. Luckily I've never had to actually do a restore - because I reallly am so careful anyway....


This was the other major concern. What I observed was that when an update goes awry you are very likely to NOT be able to log in at all to your site. What's the point of having a partial backup which may or may not restore if you can't even restore it? Not to mention that it may or may not solve the problem...

Hope somebody somewhere works something out. This is a much needed function in Joomla.


Yes, thank you, that's what I've been saying for the past four years :) A few months ago I wrote a specification on how updates should work. Without going into tiresome details, my concept was based on the idea of having separate upload - extraction - staging - deployment steps. If the deployment fails the installation can roll back. It won't break the site because the extension is disabled before it's deployed and re-enabled afterwards (WordPress is doing that too). If Joomla! has a staging step we can write a new SRP plugin which hooks at the post-staging point and puts the live data into an installable ZIP archive, let's call it the "fall-back ZIP". If the deployment succeeds but the new version breaks the site it will be possible to disable the affected extension and install the fall-back ZIP. Since the fall-back ZIP is an installable package which undergoes the same staging-deployment process the prior state of the site will be preserved.

This is a MAJOR task. It will definitely not be undertaken before Joomla! 4.0 since it breaks backwards compatibility (extensions will have to provide much more information about their installation than they currently do). Will it be implemented? I have no idea. It's not up to me to decide.

BTW, if you have root access on WHM, you can set automatic backup points and restore from there. That's my other fall back. But you stand to lose a couple of day's data when you do that, so you still need some kind of as-close-to-realtime backup as possible.


It's even worse. You will also lose days worth of emails as well and the rabbit hole goes further down. The upside with up-to-date Akeeba Backup archives is that if you are really willing to do some more work to prevent data loss, you can. It has happened to us, it took me about 30' to restore the latest backup on a test server and exclude the database tables with the data I wanted to preserve, but there was no data loss whatsoever on our site. That was extremely important, considering how many subscriptions we have per day and the huge impact losing one or more subscriptions would have.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!