Support

Site Restoration

#39667 Cannot restore Joomla 4.3.4 from 4.4.0

Posted in ‘Site restoration’
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

PHP version
n/a
CMS Type
Joomla!
CMS Version
4.4 / 4.3.4
Backup Tool Version
9.x
Kickstart version
n/a

Latest post by nicol on Friday, 20 October 2023 09:50 CDT

nicol

I have the same error described here: https://www.akeeba.com/support/site-restoration/39051-class-joomla-plugin-content-fields-extension-fields-not-found.html - however it isn't a 4.x to 3.x restoration that that's the problem but a 4.4.0 to 4.3.4 restoration, which I wouldn't have considered 'major'.

I attempted the restoration to downgrade one extension that had caused problems since upgrading but now the site is completely inaccessible front and back. Any help gratefully received.

System Task
system
The ticket information has been edited by Nic Wistreich (nicol).

nicholas
Akeeba Staff
Manager

Joomla! bumps the major version when extensions can no longer work without at least an extensive number of modifications. When extensions are expected to (mostly) work, it's a minor version bump.

However, this does not mean that a minor Joomla! version bump does not have major changes in the core files and their layout on disk. Joomla! 4.3 to 4.4 has pretty major changes on account of Joomla! 4.4 back-porting code from Joomla! 5 to be a “bridge” version which allows a developer to write a mostly Joomla! 5 native extensions which will also work in Joomla! 4.4. This includes very major changes in the files handling plugin events among other things. 

This is not the first (or the last) time this happens to Joomla!. For example, Joomla! 3.7 was definitely a very major update — and I would even argue that it should have resulted in the major version being bumped as well.

The same was true for Joomla! 2.5 compared to its predecessor Joomla! 1.7 (if you remember, Joomla! went from 1.7 directly to 2.5). In this case nobody noticed because the major version component changed, even though the update from 1.7 to 2.5 was meant to be a “minor” version update.

Do keep in mind that I had already documented this a long time ago: 

Do not try to overwrite one Joomla! version family with a different one. Overwriting a major version with another (e.g. restoring a backup taken on Joomla! 3.7 on top of a site running Joomla! 2.5 or vice versa) or between different minor versions (e.g. restoring a backup taken on Joomla! 3.7 on top of a site running Joomla! 3.6 or vice versa) will NOT work. Joomla! moves files around between minor and major versions. Since the backup does not delete files not present in the backup archive this will end up with Joomla! being "confused" and malfunctioning. In these cases you should delete the existing files and folders (except, perhaps, user generated content) before restoring the backup. You can safely restore a sub-minor (path-level) version on top of another. For example, you can safely restore a Joomla! 3.7.5 site on top of a Joomla! 3.7.3 site or vice versa.

https://www.akeeba.com/documentation/akeeba-backup-joomla/restoring-backups.html#general-guidelines

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!

nicol

OK.. so what can I do? I seem to have gone from slightly broken J4.4.0 to a completely unusable something else. Can I get back to the slightly broken J4.4.0?

"In these cases you should delete the existing files and folders (except, perhaps, user generated content) before restoring the backup."

If I delete the files I would do the restoration with Kickstart?

Or are you suggesting I create a J4.3.4 from fresh files, then try to login and run the restoration inside that? At this time the full restoration process went thru, so what is my database and file structure? a 4.3.4 dbse with a more confused file structure?

nicol

I've just tried locally using the backup archive to create a new Joomla 4.3.4, install Akeeba 9.x and then run a restoration.

I get very quickly "Extraction of the backup archive has failed. The last error message was: The archive file is corrupt, truncated or archive parts are missing".

If I use Kickstart on the same archive it extracts a lot more but then gives the same error while trying to extract "/libraries/omnipay3/vendor/symfony/http-foundation/Test/Constraint"

nicholas
Akeeba Staff
Manager

Your backup probably consists of multiple files with the extensions .jpa, .j01, and so on. You need all of these files to restore the backup.

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!

nicol

My backup is a single JPA archive - 530mb. When I extract it with Kickstarter, what's inside doesn't look a Joomla base directory but I wonder if it's everything custom that sits on top of a regular Joomla install?

I've got as far as figuring out that the error is related to this file: https://github.com/joomla/joomla-cms/pull/40640/files#diff-5a03c2c5b76be4071e6a675ccc4af5204deee207ff08aa055487b0161fc66c61 - which exists in 4.4.0 but not in 4.3.4. So my first thought is to replace /plugins with the Joomla 4.3.4 plugins directory…

What I'd like to know is if the dbse is now Joomla 4.4.0 and throwing errors because the file system is 4.3.4 or if it's the opposite - the dbse is 4.3.4 but the file system is all/partly 4.4.0? Any pointers to figuring that out?

nicol

Have resolved it.

Am writing up my fix in case anyone else ends up clicking upgrade and assuming that Akeeba's 'backup on upgrade' plugin would flag if the backup can't actually be used - and only discovers this after breaking their 4.4 site when trying to restore. In this situation my file structure & dbse seemed to be half J4.4.0 and half J4.3.4.

  • Get a version of Joomla 4.3.4 from https://downloads.joomla.org/cms/joomla4/4-3-4 - extract
  • Zip the /plugins directory
  • Rename the /plugins/ directory on the broken site to something (e.g. /_A_plugins)
  • Upload the zipped fresh plugins directory and unzip
  • The site is working again!
  • Log in, and run the upgrade to Joomla 4.4.0
  • Rename the new J4 /plugins directory to something (e.g. /_B_plugins)
  • Rename the old plugins directory (/_A_plugins) to `plugins`
  • Test. At first that didn't work and I had to disable an Akeeba plugin and retry, then it worked.

 

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!