Unless you've been living under a rock, then you're aware that support for Joomla! 2.5 is ending this week. With that means no new releases of 2.5 and you should already be planning your upgrade to Joomla! 3. Unfortunately, because of the difficult migrations that came about between Joomla! 1.0 and 1.5, then again from 1.5 to 2.5, this isn't exactly a topic many enjoy discussing, but the truth of the matter is that with proper planning, it is quite simple to upgrade an actively maintained site from 2.5 to 3 with little hassle.
Planning Your Migration
Earlier this summer, the Update Working Group was assembled to help make upgrades and migrations as simple as possible by providing ample materials to help site administrators properly plan and execute their upgrades. And the group didn't disappoint. The Why Migrate page on the documentation wiki has all of the basic information needed to help plan for an upgrade or migration. This includes considerations like server specifications, extension compatibility, the importance of backing up at every step, and a list of common issues or pain points that might be met during the upgrade process. Quite frankly, if you follow this information, you cannot go wrong.
Executing Your Migration
Planning the migration, while easily the most important step in the whole process, is only a small piece of it. After all of the research is done and the upgrade plan is prepared, it still must be executed. If planned properly, this should be a mostly painless process. Of course, things don't always go as planned and there may be some hiccups along the way. One solution is to search the Joomla! Forum to see if an issue like your's has happened before and find some tips from others who may have had to deal with it. Depending on your migration plan, you may have copied your data from an existing installation to a new installation, or you may have done an in-place upgrade through Joomla's core update component, and now that you're running on Joomla! 3, it's time to make sure everything is in order.
Updating, Configuring, & Testing
For many users, an upgrade from Joomla! 2.5 to 3 means they need to update their template. Maybe it's just installing an updated version of the template, or maybe they've chosen to use a new template for the newly upgraded site. The process of updating the template and reviewing your site post-upgrade can easily be the most time consuming step depending on your site's content, structure, and customizations. The second most painful part of the upgrade is in extensions; were all of your extensions Joomla! 2.5 & 3 compatible or did you need to follow special instructions to migrate them? Maybe an extension you were using isn't supported on Joomla! 3 and now you're needing a new extension? It's especially important to review all of your extensions post-upgrade to ensure your site is functioning as intended.
Practical Examples - joomla.org Upgrades
In the last few weeks, I've taken some time to upgrade a couple of joomla.org sites which were running Joomla! 1.5 and 2.5 up to the current 3.3.6 release. As the domain in general gets high traffic, the downtime for these migrations had to be kept to a minimum and the process transparent to site visitors (in fact, neither were offline longer than it took to run through the Akeeba Kickstart installer). Also during the upgrades, the sites were both tested on SSL connections and now only serve content over HTTPS.
Help Screen Server
Have you ever clicked the "Help" toolbar buttons in a Joomla! installation or used the "Joomla! Help" admin menu to look something up about using core Joomla! features? What you may not know is that data is being served from a Joomla! installation which is querying the documentation wiki and returning content formatted specifically for display in the CMS. Luckily, that is the only purpose for this installation so it had no content migration issues to be concerned with. However, it does have a custom component and template to serve the data and the site was previously a Joomla! 1.5 installation. The template was updated with relative ease as it is a stripped down template with styles specific to the rendered content, the component however needed a few updates to work correctly based on architecture changes that had occurred since it was written. I also took the opportunity to optimize some of the code and make use of core Joomla! APIs where previously third party tools had been used.
Joomla! User Experience
The other site I worked on was the Joomla! User Experience portal. This was a Joomla! 2.5 installation which has some content via the core Article Manager as well as a Kunena forum. As the Kunena install was being used out-of-the-box (any customizations were cosmetic and template specific) and it supports Joomla! 2.5 and 3 already, it caused little concern with the upgrade process. After being backed up to my offline local setup, I was able to update the site via the core update component and be up and running on Joomla! 3 with no hassle. The upgrade did mean updating the site template, which included shuffling some module positions and correcting some style conflicts between the template and Kunena, otherwise this was a smooth upgrade and was deployed without an issue.
BabDev Extension Upgrades
As noted previously, the extensions supported here are upgradable from Joomla! 2.5 to 3 without much hassle. The only extension which requires any extra post-upgrade attention is Podcast Manager, and the upcoming release will include a built-in migrator. For reference, the only functions of this migrator are to install the optimized template layouts for the Joomla! 3 Isis template and to add the database records needed to make use of Joomla's Tagging and Content History features; the core features of Podcast Manager work between releases without any extra steps.
Even though the examples I highlighted above are truthfully simple upgrades, my main point is that with proper planning and research, any upgrade can be done in a simple and expedient manner. Whether your site has an active forum with tens of thousands of users, or perhaps you have tens of thousands of content items on your site, or maybe your site is just a simple Joomla! installation to serve content from a third party resource, the fact is that upgrading between Joomla releases is easier than ever before.