Support

Admin Tools

#38472 Upgrading from J3 to J4

Posted in ‘Admin Tools 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
3.10.11
PHP version
7.4.33
Admin Tools version
6.1.8

Latest post by wd5mush on Friday, 17 March 2023 06:39 CDT

wd5mush

Sorry to have to ask as I expect the information I need is somewhere on your site - I just can't find it!

I am making progress with the update of my site from J3 to J4, but am unclear as to how to deal with my Akeeba setup.

Fundamentally, if I install the J4 versions of Akeeba Backup and Admin in my 3.10.11 version of Joomla, they work OK?  I am very much dependent on Backup to allow me to roll back when I have a problem with other extensions.  The Extensions pre-update check is flagging up potential issues with a number of Akeeba items and I'm not sure how to proceed.

  • AkkebaStrapper
  • System - Akeeba GeoIP provider plugin
  • Akeeba Backup package
  • Admin Tools package

Advice would be appreciated!

Alan

 

nicholas
Akeeba Staff
Manager

Please read https://www.akeeba.com/news/1747-joomla-4-is-around-the-corner.html under "Before upgrading an existing site to Joomla 4".

Here's the simplified process for you:

  • On the Joomla 3 site, upgrade both Akeeba Backup 8 and Admin Tools 6 to their latest versions for Joomla 3.
  • Then install Magic Eraser (https://github.com/akeeba/magiceraser/releases). It will display an error; ignore it, it is expected.
  • Do whatever else you need to do to prepare your site for the upgrade WITHOUT touching our software.
  • Upgrade your site to Joomla 4 ignoring Joomla's misleading and wrong information about Akeeba Backup 8 and Admin Tools 6 being incompatible.
  • Log into the newly upgraded Joomla 4 site's administrator.
  • Go to Components, Akeeba Backup and follow the instructions on your screen to upgrade to Akeeba Backup 9:
    • Download and install Akeeba Backup 9
    • Go to Components, Akeeba Backup for Joomla (that's Akeeba Backup 9) and click on the Migrate button to import profiles and backups
    • Uninstall the Akeeba Backup 8 package extension
  • Go to System, Update, Extensions and reload the updates
  • There's an update to Admin Tools 7. Install it.

That's all.

Your major problem right now is that Joomla is lying to you, telling you that Akeeba Backup 8 and Admin Tools 6 are incompatible with Joomla 4. Unfortunately, we HAVE to mark them as incompatible in our update files, otherwise the Install from Web feature would install these older versions on Joomla 4 sites and wouldn't show the updates to Akeeba Backup 9 and Admin Tools 7, thereby having our Joomla 4 clients use old versions of our software. Doing it the right way, marking the old versions as incompatible with Joomla 4, Joomla 3.10 slanders our software, claiming that it's incompatible with Joomla 4 even though we are the first third party extensions developer to have created native Joomla 4 MVC versions of our extensions and provide a straightforward way to migrate from the old to the new versions of our software. Not to mention that I have written the literal book on Joomla 4 extensions development.

For what it's worth, I had foreseen these problems and expressed my concerns about them four times in the year preceding the Joomla 4.0.0 stable release. I was told by the production leadership of the Joomla project that I am stupid, crazy, don't know what I am talking about, Joomla would not actually do that, and that even if it did its users wouldn't be confused. As it turns out, I am not stupid and I know exactly what I am talking about. This was the umpteenth time I warned them about a problem long before it affected users, they derided me and stuck their head firmly into the sand, and the problem ended up affecting users exactly the way I said and for the exact reasons I had explained two to three years prior. At this point I've decided to give up trying to help. The end result will be the same (Joomla remains broken in easily fixable ways) but I won't have wasted countless hours, and my name won't have been dragged through the mud by simpletons who don't (or pretend to not) understand how the real world works.

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!

wd5mush

Thanks yet again Nicholas for your excellent support.

One related question.

If for some reason I need to roll back from J4 to J3 because of a problem, and I am able to access the Admin back end, will I be able to use the normal Backup restore process, or will I be best using KIckstart to install the previous version?

nicholas
Akeeba Staff
Manager

This is also answered by the documentation (this information first appeared in our documentation in 2010, when Joomla 1.6 was in beta):

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.

So, no, you should neither use the backend nor Kickstart to restore your Joomla 3 site on top of Joomla 4. It won't work.

You need to keep a copy of your backup archives, remove the Joomla folders, then use Kickstart to restore the backup archive. During restoration, on the Database page, you should set "With Existing" to "Delete same prefix". This will get rid of Joomla 4 tables which, if left behind, would make it impossible for you to upgrade your site again to Joomla 4.

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!

wd5mush

I'm gradually getting there with this.  It is a truly painful process - not Akeeba in particular, just the whole exercise.  I do wonder how many people will be put off using Joomla and build new site from scratch using a different CMS or just leave the current site unsupported beyond August.

I have taken on board what you say regarding the warnings given out by the upgrade checking system.  However, I note three Akeeba plugins that I have installed and active that I suspect are obsolete.  Before I uninstall, could you please confirm it will be safe to do so (please excuse the formatting!)

System - Akeeba GeoIP provider plugin Site Plugin 1.0.6 2014-11-20
AkeebaStrapper Site File 2.5.4 2016-03-19
AkeebaStrapper Site File rev6FF3F78-1420207870 2015-01-02 17:11:10
  •          

nicholas
Akeeba Staff
Manager

> I note three Akeeba plugins that I have installed and active that I suspect are obsolete. Before I uninstall, could you please confirm it will be safe to do so (please excuse the formatting!)

All three extensions are safe to remove.

The GeoIP plugin was discontinued in December 2019, when MaxMind changed their licensing and rendered it obsolete overnight.

The Akeeba Strapper plugin was discontinued nearly a decade ago. It was only used to provide Bootstrap 2 styling to Joomla 1.6, 1.7, and 2.5 so that we could have a single package which would also run on these versions besides Joomla 3.x (natively using Bootstrap 2).

> I do wonder how many people will be put off using Joomla and build new site from scratch using a different CMS or just leave the current site unsupported beyond August.

This was also a question a decade ago with the Joomla 2.5 going end of life and people having to migrate to Joomla 3. Those who went to a different CMS came back 2–3 years later because they discovered that the grass isn't greener on the other side, and the costs are far higher. I'll get to that later. These are not a lot of sites and they are seldom, if ever, builds of any complexity.

There are several sites which will never be updated, just like we still see some Joomla 1.5 and 2.5 sites in the wild. These are the sites which never really had the budget to exist, have nearly zero relevance and visitors, and are simply left to rot. In my experience that's about 20% of the sites out there at any given time.

What I have observed is that when a new major Joomla version is released, 20% of the sites are migrated within the first six months. These are the simple sites, operated by enthusiasts. The next 40% comes over the next year and a half. Another 20% is migrated the year following the end of life of the previous version. If you consider that the refresh cycle for sites is 2–3 years it makes perfect sense.

And yes, the migration to Joomla 4 had indeed been a pain. To be fair, Joomla 4 was a MASSIVE update to Joomla 3. If it didn't happen, the code base would have reached an inflection point right about now which would necessitate abandoning it altogether. It was a necessary step to get rid of a lot of legacy code dating back to 20 years ago when Mambo 1.0 was released and which would no longer work with PHP 8. It was also an opportunity to build a more stable foundation which would take Joomla to the next 10 years and beyond.

What made things very complicated is that most extension developers didn't bother migrating their software to it until well after Joomla 4 was released. We actually started adapting our software since Joomla 4.0.0-Alpha2 released in November 2017 and completely rewrote our software with the brand new Joomla 4 MVC in the year preceding the Joomla 4.0 release. When Joomla 4.0 was released all of our software except Akeeba Ticket System was 100% native Joomla 4 MVC code, and Akeeba Ticket System was fully compatible with Joomla 4.0 (and rewritten soon afterwards). If everyone else had done the same the migration would not have been anywhere near as messy.

The other major problem was that Joomla 3 lasted way too long. Nine long years (mid-2012 to mid-2021). There are a lot of developers who had actually abandoned their software around 2013–2015 but are still selling subscriptions, doing the bare minimum to keep their existing software functional. These extensions will never be migrated to Joomla 4 but their developers will not come clean and say it because this will disrupt their rent-seeking, leeching relationship with the community of Joomla users. It took a year and a half after Joomla 4's release for people to reluctantly understand this truth, something that I had been saying since 2016 and was repeatedly called an arsehole or worse for doing so (I guess I am an arsehole for calling out the actual arseholes who charge 3x to 4x as much as we do to do sod all with their software, harumph!).

This led us to today where people are trying to plan their site migration at the eleventh hour, with imperfect information due to no fault of the Joomla project itself. It's the fault of unscrupulous 3PDs who either couldn't be arsed to make a migration plan before Joomla 4 was released, or have abandoned Joomla but won't say so just to ensure they collect rent for doing sod all. These people are the reason why Joomla major version upgrades have historically been hard and dissuaded people from continuing to use Joomla.

FWIW, the same happens in WordPress, but you won't hear about it because most plugins are free of charge and the old, insecure, unmaintained plugins keep working (or at least not breaking) until a PHP version update breaks them, at which point the site owner discovers to their horror that the plugin they're using has not been updated in six years. But nobody complains because what would they complain about? That something they got for free is abandoned? Meanwhile, paid plugins cost 10 times as much as Joomla software, per year, per site, and there's a much more compact paid software market meaning they won't get out of business. So, yeah, you get some assurance but the site that cost you ~300 Euros per year to run on Joomla will cost you 3000-5000 Euros per year to run on WordPress. Ouch.

Back to Joomla, the good thing is that the next major version, Joomla 5.0, will be a minor update. For real! It will be a lot like going from Joomla 3.4 to 3.7. Further to that, Joomla 4.3 (and all x.3 releases) will be LTS (Long Term Support) which means they receive bug fixes for a year and security fixes for another year, for a total of two years of additional lifetime beyond the "regular" six months. If with these "soft" major version upgrades there are still 3PDs who can't be bothered to support the next major Joomla version within at most 6 months of the x.0 release you will know for a fact they can't be trusted and you should not use their software.

Sorry for the really long reply. I am basically the Joomla lorekeeper at this point. Feel free to ask me anything about Joomla's history :)

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!

wd5mush

Now all up and working.  Been a bit of a marathon sorting out extensions but site now running on live server under J4.2.8

Thanks, as always for your help.

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!