TL;DR: 1-2 times per year. But keep an eye on the release notes - you never know when there's an important bug or security fix.
Many customers have asked me this question in the past. They wish to stay up to date with the most modern features of Episerver / Optimizely CMS and want to ensure that their website is constantly running the latest version.
Optimizely release product updates about 3 or 4 times per month.
But, if Apple released a new smartphone every week, would you immediately go out and buy it?
The cost of an Episerver / Optimizely CMS upgrade
There is no fixed cost with upgrading Episerver CMS, as every update is different and, depending if it’s a major version upgrade, may introduce breaking changes.
If your website interacts with these breaking changes, then your code base will need to be updated too, and there might be some refactoring required.
When upgrading Episerver CMS, the following needs to happen:
Technical Audit
- First, a technical audit should be completed to identify all of the changes that have gone into an Episerver update, and a risk assessment will need to be completed to identify the risk of any of these changes causing problems within your code base or requiring some code changes to be made.
- You will need to check for any functionality changes that might mean certain features have become redundant or obsolete – but often these might remain in the code base and general a simple build warning. But these build warnings should not be ignored and they will come back to bite you one day.
Identity areas of particular risk
If your code base interacts with Episerver in any custom manner, this will be a risk area. For example, particular activities taking place on publish events, or custom find filters to narrow down search results, etc, will all need to be considered. ]
A list should be compiled so that particular attention can be paid to these areas during regression testing.
Complete the upgrade and code changes
- Next, you’ll need to complete the upgrade itself by following the process and making any of the code changes deemed necessary.
Complete a full and thorough website regression test
A full, end-to-end and through regression test of all of the websites functionality should be completed to minimise any risk, and particular attention should be paid to those areas that are particularly impacted which were identified during the technical audit.
Sense check Episerver functionality, too
You don’t need to complete a thorough test of Episerver functionality – this isn’t your code, and this is covered by automated test cycles that take place for every release. However, you should certainly sense check some of the most common operations:
- Create a new page type, and publish it.
- Create new blocks, add them to the page type, publish and check it renders okay.
- Test content expiry
- Scheduling of content publication and expiry
- Upload some media, add it to the frontend, and check that it renders.
- Complete a search either in the content tree on the left, or the asset pane on the right to check that episerver find still works as expected
- Check your project and configuration workflow still works as expected
- Manually execute some Scheduled Jobs – whether they are custom made scheduled jobs or the ones built into Epi, check the history tab and ensure that no errors are being returned back.
So, how often should I upgrade?
I always recommend to customers that once every 6 months as a minimum is a safe option. If cost saving is an important priority, once per year is also acceptable.
However, in between this time, a process should be put in place to proactively monitor the Episerver release notes. There is no telling when a security vulnerability or fix for a major issue could be included in a release – and as such, a risk assessment should be carried out at this point to identity if it’s worth doing an additional ad-hoc upgrade.