15

This is something I have been curious on for some time considering a few things.

How well is the "one click" upgrade going to improve prior to the EoL of Joomla! 2.5?

Right now we have a very low success rate on upgrading from 2.5, there are many compatibility issues that are not resolved with just the upgrade and requires a few manual edits to finish the process most of the time (problems with JHTML is the most common I see).

Now I say "problems" but I just mean that after the update things do not work as intended, this is in no way saying that the "update" component is broken.

I have looked around but only found the following:

http://docs.joomla.org/Joomla!_CMS_versions

http://developer.joomla.org/cms/roadmap.html

The first states that this coming December 2014 support for 2.5 will be dropped. The second states the roadmap for 3.x. However right now it is very difficult to upgrade out of 2.5, the bigger the site, the harder it is. I am not sure what causes some to succeed and some to not, in most cases we cannot isolate it to third party extensions directly (extension manager breaks and such from missing tables, and the extension manager is where you fix that).

This is where the true issue comes in with upgrading, if the site uses a massive database with something like sobipro, k2 or content builder, or just many articles/modules then the upgrade can fail much easier. Those cannot be removed, disabled or uninstalled either (ex: 4000+ items would be lost with an uninstall, at that point might as well remake the site then upgrade).

So is there any plan for improving the one click upgrade for 2.5 to 3.x to better accommodate the EoL? (like news posts or blogs) Weird question but I feel with how many 2.5 sites there are out there that are unable to upgrade it could be very worthwhile.

4
  • I've never heard of or had any issue when upgrading from J2.5 to 3.x. As a matter of fact, we recently upgraded our site to J3.3 with a fair amount of extensions, including K2, Community Builder and Kunena without any problems.
    – Lodder
    Jun 6, 2014 at 23:03
  • 1
    We have never had a true "no problems" success in about 10 attempts out of 80 2.5 sites we have. This question is just meant to see if there is any kind of plan to lower the errors (I know no number must be uninstalled to upgrade, I might post that answer myself about that as it makes it "look" like a core problem and is hard to see, not the only thing that can happen though). I mean for this question to hopefully bring together some different sources and problem solving for it. Jun 6, 2014 at 23:18
  • 1
    Jordan has a point. Upgrading is not that straight-forward all the times. This is not a problem for me, but it is for the average users who might get stuck after an upgrade will break their site, therefore this is a problem for Joomla, considering we are living at the years where "User-Friendly" and "Software that Works" are essential.
    – FFrewin
    Jun 7, 2014 at 2:21
  • I have also experienced more than a few upgrade problems, in fact, all my upgrade attempts with half a dozen sites gave me problems that I had to patch, after the fact, in various ways. I have discovered that most of these are caused by the use of mootools in extensions. This has caused the upgrade to break at some point, often just before updating the database. For sites that I, before the upgrade, replaced the use of MooTools, in every source it was used, with its 3.x version ("JHtml::_('behavior.framework');") seems to have worked flawlessly.
    – thoni56
    Feb 1, 2015 at 19:36

7 Answers 7

11

"one click" upgrade works very well for Joomla! 2.5 Core.

But your site may have several templates or extensions to be also upgraded.

I'm also planning a "June" migration of our main site. This is my plan:

  • Backup the main site and create a new test site
  • Review the system requirements for Joomla 3.x and make sure that your server environment meets those requirements.
  • Install and customize a new Joomla! 2.5/3 compatible template
  • Install and customize all Joomla! 2.5/3 compatible extensions
  • If some extension does not have a J3 compatible version, it has to be replaced with a new extension.... AND data has to be migrated (worst-case scenario)
  • NOTE: Previous steps can be executed off-line, tested, and at the end you can implement them in your current Joomla! 2.5 site to reduce the risk of one-day migration.
  • Update your development site with the latest live site
  • Final step: "one click" upgrade to Joomla! 3 on the development site
  • Test and check everything until it works Ok
  • Migrate the live site (or restore the latest development site snapshot on a new hosting.... just in case something goes wrong, and you have to re-activate the J2.5 site)
  • SUCCESS
1
  • 1
    Very nice explanation of a secure method to upgrade. I'm also taking the plunge in July and have been worrying about it for a while. After reading this I feel a lot better. Thanks =^D Jun 16, 2014 at 10:40
5

For upgrades from 2.5 to 3.3, I have had more luck doing a manual upgrade as well. For the versions, I will go up to 2.5.20->3.0.3->3.1.6->3.2.4->3.3.0.

This is the full process:

  1. Download all those versions and unzip on local machine (here is a good resource: http://www.whitefirdesign.com/resources/joomla-release-archive.html)
  2. Backup using Akeeba
  3. Make clone site in subfolder using Akeeba Kickstart (make/use new database)
  4. In backend of website, uninstall "problem" extensions (see bottom of post)
  5. In FTP, upload all files from a new Joomla version except the /installation/ folder.
  6. In backend of website, go to EXTENSIONS->EXTENSIONS MANAGER->DATABASE, and hit FIX
  7. Then go to EXTENSIONS->EXTENSIONS MANAGER->DISCOVER, hit discover and install for anything it finds
  8. Go to ACL Manager (if you don't have, I highly suggest) and fix any ACL problems it finds. http://aclmanager.net
  9. Repeat process with next version of Joomla

After you get up to newest version:

  1. Reinstall "problem" extensions
  2. Backup new version
  3. Test site for problems
  4. Move original site into subfolder
  5. Move new site into root to go live

This whole process takes a long time because of the upload time for full versions, but it saves headaches.

For problem extensions, these are just ones that have caused issues during upgrades for me. My hypothesis is that the install package actually has different versions for J2.5 vs J3.3 so it gets confused when you upgrade. If anyone has found others, please let me know.

  • NoNumbers extensions (NN Manager, Cache Cleaner, Adv Module Manager, Modules Anywhere, etc)

These extensions can cause problems if not using the most recent release:

  • RSForm
  • JW AllVideos
  • RokBox
  • RSForm
  • Social Bookmarks
  • XMap
1
  • Blueflame forms is also causing problems.
    – a coder
    Dec 18, 2014 at 19:33
3

I wasn't able to upgrade directory from 2.5.7 to 3.2.0. I encountered various errors during these upgrades, sometimes not able to upgrade at all.

The upgrade path I had to take as:

2.5.7 → 3.0.1 → 3.1.5 → 3.2.0

Since then I've been able to upgrade normally. I'm running 3.2.2 and planning to upgrade to 3.3 shortly.

5
  • Upgrading is supported from the latest 2.5.x version (as of today it's 2.5.20!). From this version you can upgrade directly to 3.3.0. So instead of doing several mini-steps, you should have first updated your very old 2.5.7 to 2.5.20 and from there to 3.3.0.
    – Bakual
    Jun 7, 2014 at 16:09
  • It looks like YellowWebMonkey had the same issue from 2.5.20 though, see his answer for more details. Jun 7, 2014 at 18:03
  • I would personally be interested in the errors you get while updating directly from 2.5.20 to 3.3.0. Just speaking about core here, not 3rd parties.
    – Bakual
    Jun 8, 2014 at 15:00
  • I would say its hard to replicate if you have no issue, the same happens going from 1.7, moving to 2.5.1 first is almost error free but going straight to the newest was always problematic. I doubt its any fault of the devs, possibly some sort of timeout when applying the massive amount of SQL update files for all versions? If that is the issue perhaps the Joomla update should have a stand alone installer and install the updates in sequence, rather then apply them all at once (for core anyway). Just a random idea though, this answer game me an idea of where the fault could be, a "theory" only. Jun 9, 2014 at 16:33
  • I'll see if I still have a copy of our 2.5.7 database. If I can find it ill update the answer with the problems I've had. Jun 9, 2014 at 19:25
2

To answer the main question:

How well is the "one click" upgrade going to improve prior to the EoL of Joomla! 2.5?

There are no plans to improve it. It's working without issues for core. The template will liekly have to be replaced due to changed extension output. The other extensions need to be checked manually, it depends how they are built. It is possible to write extensions which work on both 2.5.15+ and 3.x with the same codebase. But one has to check that either by trying or by contacting the developer (or read their FAQ).

The only thing that may be improved in 2.5 is to add a pre-upgrade compatibility check. There was some work done for that but it stalled. Someone from the community would have to pick that up and bring it to an end.

1
  • The lack of compatibility check in 2.5 is one of the reasons you have to check PHP versions on upgrade platform. "one-click" updates from 2.5 to 3.2.*+ left many people with blank sites front and back.
    – BodgeIT
    Jun 7, 2014 at 14:42
2

Here is some useful information I have found on upgrading.

For one, if the website was originally in 1.6, then upgraded to 2.5 then even in the latest versions of 2.5 all extensions will still work. However to upgrade to 3.x requires a reinstall. This is because the differences in the "update" area means that if it was 1.6 then the update server will not properly read updates, so if it was a 1.6 component it, at least in most cases (I have seen this in DJ Image Slider and BreezingForms) will not update once its upgraded to 2.5.

So a manual upgrade of these extensions is needed at some point in its lifetime in 2.5. I believe depending on the extension there could be issues with the normal sql update as well, but just something to be aware of.

Sometimes extensions may be renamed or "renewed" which will cause Joomla to at times read it as a new component, leading to multiple entries of the same component, old and new. If you uninstall one it still uses the same database tables, so it clears them if you already installed them.

Idea: So one thing I would think would be useful in this case is an add on to the extension manager to check for extensions meant for older versions, to make them easily visible, this could be done by looking at the last update "date" and was it before a potential breaking change in Joomla if the current version is past that version.

Either way in the case of a site going from 1.6 to 2.5 then to 3.x at any point can force a reinstall that would therefore clear data.

Another Idea: If a "reinstall" were added beside update, using keeping track of the older version and its update server, or a custom url/upload to basically uninstall the component without clearing data. Then reinstall it while using the sql updates to update the database tables would be extremely handy.

I am using a site that was originally 1.6 as it would show these issues more often, it can happen with sites that started out in 2.5 as well.

This explains many problems that can come up from extensions that may have never upgraded to add compatibility to 3.x, plugins are the worst as even in the admin panel an error in those can make the admin panel unusable.

Yet another idea: The Joomla update manager can automatically disable all third party plugins other then some (like akeeba, since it tracks updates) then update. After it re-enables all plugins again but "checks" system plugins for errors. What I mean is it auto triggers various events with a try/catch to see if there is an error, if there is it disables and notifies.

Now this all assumes no core issues, which is what should not normally happen in an update.

The ideas I posted above is meant for the dev team, the rest is good information for anyone updating. The ideas I have put up should even be able to allow updates without uninstalling/disabling extensions first that could potentially add far more work to the process. With some additions to the already great updater, even full auto updates (kinda like wordpress) may be possible in the future.

1

I find there are so many things to consider with upgrading it simply cannot be considered a "one-click" process.

PHP versions are the first thing to consider. Joomla versions too...always upgrade to the final version in any tree before climbing the ladder to the next. Use Akeeba CMS Updater to select the updates you want to apply and from which branch.

Extensions are where it really gets hairy.

Using an extension like SP Transfer can reduce issues by creating a secondary site that can be pre installed at the new version with all components installed for that version and then pull all necessary data from database through.

This process is not for the general everyday user though.

More often than not I find some level of issue with the assets table and usually have to employ the diagnostics of ACL Manager to fix orphan or missing items in the table.

1

The procedure I use has evolved over about 40 diverse Joomla 2.5 to 3.x mini migrations. It's not exactly "one click" but helps to avoid the most common pitfalls. Most of the websites I look after are using RocketTheme templates and there are Joomla 3.x equivalent versions of the Joomla 2.5 templates which has reduced template migration issues for me but your mileage may vary.

  1. Check hosting environment is suitable for Joomla 3.x

  2. Run backup first!

  3. Uninstall any extensions that are not Joomla 3.x compatible

  4. Update to Joomla 2.5.28 if not already on 2.5.28 and update all third party extensions to the latest available Joomla 2.5 versions

  5. Disable "System - Remember Me" plugin

  6. Disable "System - Backup on update" plugin if Akeeba Backup is installed

  7. In Global Configuration, Set Error Reporting to "Development" (so errors are visible after the migration - if you miss this step you may have to use FTP etc to download configuration.php, edit it to enable messages and then upload the updated version via FTP etc which is a pain)

  8. Change Components -> Joomla Update -> Options to "Short Term Support"

  9. In Components -> Joomla Update, click on "Install the Update" to update from 2.5.x to 3.5.1, 3.5.1 to 3.6.5 and then 3.6.5 to the latest version. Clear the Joomla cache and purge the cache at Extensions -> Extension Manager -> Update, and try again if the update isn't offered. You may have to reauthenticate once or twice as session token updates are performed

  10. Change Components -> Joomla Update -> Options -> Update Channel to "Default" if it's not already reset to "Default"

  11. Reinstall the latest Joomla 3.x extensions over the top of any installed extensions especially ChronoForms and any ChronoForms Actions if you have any of these installed

  12. Clear the Joomla cache and your web browser cache

  13. In Global Configuration, set Error Reporting back to "None"

  14. Re-enable "System - Backup on update" plugin if Akeeba Backup is installed

  15. Re-enable "System - Remember Me" plugin

  16. Disable "System - Joomla! Update Notification" plugin to switch off Joomla update notifications (optional)

  17. Remove Joomla 2.5 templates (atomic, beez5, beez_20, bluestork)

  18. Enable version control in Content -> Articles -> Options -> Editing layout if appropriate (version control is disabled by default)

  19. Disable "Allow User Registration" at Users -> Manage -> Options -> User Options if appropriate (this was enabled as default in Joomla 2.5)

Step 11 is important to allow installation scripts to do any Joomla 3 specific steps that may not have been run when they were originally installed on Joomla 2.5.

Remember to update the PHP version if appropriate. See https://www.php.net/supported-versions.php for currently supported versions.

Not the answer you're looking for? Browse other questions tagged or ask your own question.