How often do you log into an Umbraco site and see the speech bubble telling you a new version of Umbraco? In this article we’ll look at what’s involved in an upgrade to the latest version of Umbraco and what are business benefits?
The effort involved in upgrading Umbraco often depends on a number of factors – the size and complexity of your site as well as which version of Umbraco you’re going from and to. The biggest factor that affects the cost of an upgrade is the differences between two versions.
If your site is currently on Umbraco 4.7 with large portions of the site written in XSLT and you want to move to Umbraco 7 then considerable work will be needed to move the existing XSLT components to MVC based views, partial views or macros. But of course, the size and complexity of your site is an important factor; large sites with a complex hierarchy of DocTypes and DataTypes will take more effort to upgrade.
In a recent upgrade of SportsLeaders.org from Umbraco 6 to Umbraco 7.2 we found that the bulk of our time was spent resolving the impact of changes to uComponents datatypes that the site previously relied upon - on smaller sites this may have been less of an issue but as their site is well over 2500 nodes with around 50 DocTypes the upgrade was more complex than we had initially hoped.
Why bother with the upgrade process?
If you’re an Umbraco confidence user, or your site was supplied by an Umbraco Gold Partner then keeping on top of the upgrade cycle can ensure that the site maintains support from the Core Team. But even if you don’t pay for support from the core team, maintaining the site on a recently supported version of Umbraco will make the process of getting help and support from the community easier.
You also benefit from enhanced features when you use a new version of Umbraco. Umbraco 7 is faster than previous versions of Umbraco and features a new responsive back-end that makes it possible for you to edit your site on tablets and larger mobiles, it features a search driven content editor to make it easy to find content and a new list view for managing large volume content sections. The killer feature in Umbraco 7.2 is the responsive grid editor – which makes it much simpler for site editors to maintain a flexible grid-based responsive website.
As a rule we don’t upgrade client sites to new versions of Umbraco unless there is a significant security threat affecting their version, or a fix to a bug they suffer or a new feature that they will benefit from. Other than that we will undertake an upgrade of Umbraco during a refresh or adding of a significant new feature.
What’s involved in an upgrade?
It entirely depends on your current version of Umbraco. If you’re on a recent version of Umbraco with a very simple site and few plugins the upgrade process may be very simple. If you’re on a very old version of Umbraco with lots of custom plugins and complex functionality then the upgrade process will be much more involved.
Plan the upgrade
During the planning stage we do a complete site audit to identify the impact of the upgrade. Our key questions include:
- Are all the packages used on the existing version work on the target version? In the Sports Leaders upgrade we found that a package used heavily (DEWD) wasn’t supported in V7.
- Are there any changes to datatypes used? Again we made use of a number of uComponents datatypes in Sports Leaders that weren’t supported in v7.
- Does the site have any custom code that is affected? For example, the membership API fundamentally changes in v7, which necessitated wholesale changes to the members area of Sports Leaders
We tend to run a dummy upgrade on separate instance of the site to be upgraded, in order to produce a detailed implementation plan of the changes required. We will incorporate any necessary code updates into this instance, and also publish any needed content updates, e.g. when datatypes have to change.
We will also install the updated Umbraco binaries, we tend to do this using Nuget now. We then run the Umbraco installer to update the database, and finally log in and republish the content, and make any necessary content changes.
Once the dummy upgrade has been successfully setup, we destroy this, then do a side-by-side upgrade. We freeze all content changes on the live environment and take a copy of the current live environment, then re-execute the upgrade implementation plan on the copy. We undertake our standard go-live testing, and the clients can go onto the upgraded site (using dummy URLs) to undertake their user acceptance testing.
Once the shadow copy is upgraded and fully tested, we swap the domain name across to the copy, and bring it back online removing the content freeze. This is then the upgrade over, and time for us to review and close out the project.
If you would like help or advice on upgrading your Umbraco site then contact us.