The Joomla release cycle
Before we begin, let's clear up some of the main points around updating and migrating so that we understand what we are talking about when we refer to migrating. The Joomla project has a clearly defined release schedule which is time-based as opposed to being feature based.
This means that new versions are released at specific time intervals, rather than being released when new features are ready (which can take a very long time - like in the case of Access Control Levels in Joomla 1.6). Effectively this means that if a new feature is going to be added into the next version it must be ready, working and tested by the deadline for that release - the release will not wait for features.
The Joomla project like many other software development projects maintains two types of releases:
- Long Term Support (LTS) release
- Stable branch
- No new features
- Supported for 18 months
- Recommended for commercial sites due to stability and longevity of support
- Short Term Support (STS) release
- Development branch
- Implementation of new features, may include significant changes to interfaces and layouts
- Supported for 6 month cycles
- Generally not recommended for commercial sites due to the number of new features implemented and short support cycle which means frequent updates
There are many reasons for maintaining two versions, including:
- Allowing Joomla to respond to developments in technology quickly
- Giving developers the opportunity to see what is coming in future stable versions and update their extensions and templates well in advance, while maintaining backward compatibility
- Giving web developers and designers the opportunity to work with the latest advances in technology potentially before the next stable release
- Providing clearly defined timescales for new versions
- Allowing the deprecation of old versions which are no longer viable to be actively supported
Updating or migrating?
For people who are not closely involved in the Joomla community it might be confusing when you hear people talking about updating or migrating, so let's clarify what the two terms mean, as they are often used interchangeably.
Updating your Joomla website
Updating generally refers to making incremental updates within a major version. An example might be updating from 2.5.15 to 2.5.17. The first two numbers are the same so we are just doing an incremental update within Joomla 2.5.
These updates are very important and must be carried out regularly, as they often fix security holes or bugs which could cause you problems.
Extensions also have updates which should be managed in the same way and should be updated regularly.
Migrating your Joomla website
Migrating generally means moving between major release versions - for example moving from 2.5.x to 3.x. You will often see the notation 'x' used in this way, which means 'any number can go here' - its basically a placeholder. In this case we are saying moving from any version of Joomla 2.5 to any version of Joomla 3 is considered a migration. The same would be true of going from any version of Joomla 1.5 up to 2.5 or 3.
This is called a migration because moving between major versions of Joomla often involves structural changes to the database and significant changes in the codebase (what is running under the hood to make your site work) - which will often necessitate changes to your template and any 'bolt on' extensions that might be in use on your website which might be components, modules or plugins.
Migrations can be pretty simple but they are often quite complex and time consuming, especially if the site has a lot of extensions and customisations.
When should I update my website?
Updating to incremental versions of long term support releases (for example from 2.5.16 to 2.5.17) should be carried out as soon as the release is made available (after you have done a backup, tested the backup, and checked it on a development area).
These updates do not introduce new features, they are bug fixes, security patches, and sometimes code improvements.
Updating in this way should not cause serious problems - should being the operative word here.
The key take-home point here is
always take a backup, always test your backup, always update on a development area.
I have taken the short route before and just hit update without backing up first only to have the update stall or a problem arise which necessitated reverting - and without a tested backup you end up in a world of pain.
“But that takes ages!” I hear you say! Yes, you’re right. That’s why we provide support contracts at a sensible monthly rate, because we have to do this every time we update a site. It takes time.
Believe me, it takes about 10 times longer and infinitely higher stress levels are involved if you do an update, it breaks, and you don’t have a tested backup to roll back to.
When should I migrate my website?
This is a difficult question to answer because it’s not a case of ‘one size fits all’.
Migrating one website might be a simple process, but migrating another might take weeks.
While it might seem like everybody else is using the latest and greatest technology and you’re stuck in the slow lane, it is important that you treat the migration of your website like any other business decision - strategically and with careful planning, rather than making an impulsive decision and jumping into a migration which may end up taking you much longer than you expected.
As we know that Joomla! has a time-based release cycle, you can be pretty sure that every 18-24 months you will need to plan for refreshing your website.
Making the decision of when to actually carry out the migration process really depends on the following factors:
Is there a pressing need to migrate?Write down what this need is, to clarify it in your mind (and in your budget!) - like any business decision make sure that it’s based on a sound need, and not a greed! As a geek I’m often drawn by the latest shiny new gadget and technologies, but ask yourself is it really needed?
Are all your extensions available in the version you’re migrating to
- Do they have a migration path?
- Do you have any customisations which will need re-implementing?
- Do you have a current license to download the latest version if commercial?
All of these points are really important. Migrating Joomla often means very significant changes in the core code - which means that the bolt-on extensions you use will probably stop working.
There is absolutely no point in migrating your website until such a time that all your extensions support the version you are moving to, and provide clear instructions on how to move your data from the existing version to the new version.
If you have customisations to your extensions - which might be as simple as templates or style changes, or as complex as custom-written integrations and (hopefully not!) core hacks, you will need to bring in somebody with sufficient experience to update these customisations for the new version.
Finally, if you are using commercial extensions, make sure that you have a current license - you will need to download the latest version, and therefore you might need to budget extra to accommodate renewing licenses.
Is the template you’re using available, or have you budgeted for developing a new one?
More often than not, migrating your website is an opportunity to embrace new technologies. For example, Joomla! 3.x brings responsive web design to the forefront, allowing you to create a website which functions on all sizes of screen.
Templates do the ‘display’ part of your website, so this is often where you will need to focus attention to ensure that your new site is taking advantage of the latest technologies.
We generally recommend revisiting your website template every 12-18 months, so it’s worth considering whether you are going to migrate your existing template or go for a redesign - it’s an ideal time to redesign your website, but you will need to ensure that you plan for the graphic design and template design in your budget.
Do you have the time to commit?This is where most people fall down when planning a migration - budgeting the time it takes to complete a migration. If you are doing the migration yourself, you need to be realistic about how much time and energy you can put into this process.
If you’re only able to pick at it here and there, it is going to be a very long and drawn out process, and might be more sensible to outsource to somebody who can get the job done in a couple of weeks so that you can get on with running your business.
Whatever route you take, make sure you have a good chunk of time to put towards seeing the migration through to the end.
Is now the right time to change your website?
For some sites, there will be clear times when it is simply not feasible to make significant changes to your site. Retail sites for example should not consider making considerable changes in the run-up to high-sales periods such as Christmas.
Timing may also revolve around your staff - are the people who look after your website able to revisit their training to use a new interface? Have they got the time to learn a new system?
Migrating your site should fit in with your overall business strategy, allowing you to make the most of the investment. Ensure you plan media activity when you launch the new site to tell the world about your shiny new website!
If you're migrating to a Short Term Support (STS) release, do you have the resources to keep up with frequent updates?
I have previously been called out for saying that Short Term Support releases should not be used for live sites, so I’ll qualify that by adding that they should not be used on live sites which do not have the resources to properly test and update the site at least every two months.
The reason for this is that using a Short Term Support, new features and fixes are released much more frequently than Long Term Support releases, and they can sometimes introduce bugs.
If you are running a business in which the website is an important asset, it’s vital that the site does not go down and that your core features do not break. If you wish to operate using a Short Term Support release of Joomla!, it is absolutely imperative that you have a development environment in which you can test updates before they are applied to your live site (you should do this anyway, but it’s even more important when using a STS release in my opinion).
Significant updates will come regularly, so you will need to have the resources to go through this process on a regular basis.
Do you have the technical know-how to carry out the migration, or will you need to bring in a Joomla Specialst to help you with all or some of the migration?This is perhaps the key point in terms of strategic business planning. If you don’t have the technical expertise yourself, or in-house, you will need to bring somebody in to manage the migration process.
Any business will need to budget for this expense in advance, and find a partner who is able to work with you to migrate the site. Experienced developers will more than likely have a lead-time, and therefore this will need to be factored into your timescale.
I hope that this has given you a good idea of the decision-making process through which you can identify when and if you should migrate your Joomla! website. I have prepared a spreadsheet which you can access here which gives a basic structure to plan your migration - please feel free to make a copy and use for your own purposes: