3aIT Blog

Joomla 1.5 is has now been out of support for some time. However, many sites are still running this version of the CMS. While it is tempting to just think "Well, the site is still working, so let's ignore this for now", there are now many known vulnerabilities in this version of Joomla. It is likely only a matter of time until a Joomla 1.5 site is compromised. Then the problem suddenly becomes urgent.

Even ignoring the security issues, Joomla is now a much stronger platform than it was 5 years ago with hundreds of new features and improvements.

Joomla is generally 3aIT's CMS of choice and we've been using it for a while. While upgrading current versions of Joomla is usually a simple process, Joomla 1.5 didn't have the auto upgrade features that new versions have. This is compounded by the fact that there were huge code and database changes between 1.5 and (what became) 2.5. This makes any upgrade from 1.5 potentially problematic.

While it's impossible to cover everything that may go wrong when performing an upgrade from Joomla 1.5, I'm going to cover the sort of things I look for when undertaking an upgrade

Prep Work

My first port of call is to look at the template the site is currently running. There were changes in how these need to be put together in Joomla 2.5+. Most notably, some of the objects and methods are called differently, and the template XML files were completely changed.

If you're working with a bespoke template, hopefully fixing this will be fairly straightforward if it has been coded efficiently for the website you're working with. If it's an off-the-shelf template, then updating this yourself may be more trouble than it's worth. You could find yourself spending many hours debugging features that were not being used anyway, but are now causing the site to malfunction. My advice in this case, look for an updated version of the template, or use this opportunity for a design refresh.

The other thing to check at this stage is all the third party components, modules and plugins that have been installed. Again, there were wholesale changes to how these are constructed between 1.5 and 2.5, and anything coded for 1.5 will not work after the update. Therefore, make a list of everything installed. then check through the extensions directory for updates to these that work with the latest Joomla version. You may find that an extension doesn't have a new version. In this case, unless this extension was providing something highly specialised, you should hopefully be able to find another that does the same (or better) job.

It is also worth a quick check at this stage that your hosting environment is up to running the latest version of Joomla, and either upgrade it (if that's within your power), or move elsewhere if it isn't.
With the prep work done, now it's time to get your hands dirty...

Performing the upgrade from Joomla 1.5

It should go without saying really, but the first thing to say here is NEVER TRY AND DO THIS STRAIGHT ON THE LIVE SITE! Performing this upgrade WILL break your site to some degree, and fixing this is not something you want to be doing at the same time as panicking! We have test servers for this kind of thing, but if that's not an option, at the very least create a copy of the site in a subdirectory, make a separate copy of the database for that to point at, then use that environment for testing.

The next question to ask is upgrading the original site actually the best option? While the jUpgrade component is a fantastic tool given the complications involved, it does mean that you're going to be left with a lot of legacy code and database tables in your install.

I sometimes find, especially for smaller sites, that the better option is to just start with a clean install of the latest Joomla, and then manually copy across the template + content. This way, you can perform the upgrade in a logical manner without having to deal with a load of errors.

If you are working with a large site, then the aforementioned jUpgrade is the way forward. One small thing to bear in mind here is that jUpgrade is only compatible with Joomla 1.5.19+, so you may have to update to the latest 1.5 version before installing jUpgrade. Bear in mind that you are pulling the data from your old install to a new Joomla install, so install jUpgrade on both the old site, and also install a version in a fresh copy of the latest Joomla version. Once installed, configured and run, it is, unfortunately, just a case of working through any errors you get one by one. Google is your friend here, and invariably it will take you to the Joomla forum where you'll usually find someone has already had this error and the helpful Joomla community will have solved it.

Once your template is working again, then work through the list of extensions that you made earlier, upgrading and replacing as necessary.

Then it's time for a final check. Test everything - especially anything that isn't just straightfoward text / images. Once you're happy that it's all working, go ahead and move the site live (making sure that you have a backup of the 1.5 site somewhere in case of emergency / for reference at a later date).

If you're struggling with an upgrade, or already know that you don't have the technical skills to commence this project but know it needs doing, 3aIT can assist you with your Joomla upgrade.