A Luminary project on Optimizely - two screens with man looking at screens

Why you should upgrade to Optimizely CMS 12

Upgrading to a new version of the Optimizely CMS can seem daunting. It starts making a lot more sense once you open the black box and see that the benefits can outweigh the development effort.

Ynze Nunnink

By Ynze Nunnink, 27 June 20224 minute read

The latest major update to the Optimizely CMS – version 12 – was released last year. There have been a lot of smaller updates and bug fixes since then. In this article I will talk about some of the core changes and what to expect when upgrading.

Microsoft .NET 5 and 6

The main selling point of a major update like this for developers is that the Microsoft technology that acts as a foundation to the platform is also upgraded to a newer, better version. With the release of version 12 the CMS runs on .NET 5, which started to fall out of fashion when Microsoft stopped supporting it in favor of .NET 6. Therefore Optimizely has added support for .NET 6 in version 12.4 of the CMS. 

The upgrade assistant

Manually upgrading a project codebase from .NET Framework to .NET 6 can be quite an undertaking. Therefore Microsoft created a tool called the .NET upgrade assistant that automates the upgrade process to help developers. Basically it can be used to create backups, convert configurations, update dependencies and even automatically change source code. 

Optimizely has created an extension to the upgrade assistant that helps with upgrading the CMS. When you run the upgrade assistant this extension will analyse your code and update references to CMS functionality. Unfortunately it does not mean that you can simply run the upgrade assistant and be done with it. The extension helps a lot but there is still manual labour required to fix up any changes that could not be resolved automatically. Nevertheless I think that creating the extension was quite a clever move.

Upgrade Assistant

Source: https://docs.developers.optimizely.com/content-cloud/v12.0.0-content-cloud/docs/upgrading-to-content-cloud-cms-12

Hosting

Thanks to .NET 5 the CMS can now run on operating systems other than Windows. It's great news for customers who will finally be able to run the CMS on their OS of choice, such as Ubuntu or Linux.

If you are using the DXP Cloud Services then this will likely not be of benefit to you because it leverages Azure services. Upgrading to Optimizely CMS 12 requires a DXP service environment migration to the latest version. We have to work together with the Optimizely Support team to initiate this upgrade, however the documentation states that we will be able to initiate this migration ourselves using a new tool in the PaaS portal.

Better performance

The performance in .NET 6 is significantly better than in its predecessors, so it comes as no surprise that the CMS upgrade also comes with some major performance gains. According to Optimizely we can expect 4x faster response times! Yes it has become a bit of a cliché in the web development space, but who wouldn't use such performance gains as a key selling point?

What about plugins?

It's fair to say that most Optimizely customers rely on third party plugins to provide enhanced features. The marketplace has a wide range of free and paid plugins. When it comes to SEO, Image resizing and service integrations, the CMS relies on these plugins to support technical requirements in a modular and cost efficient way. When the CMS is being upgraded, it is important to keep in mind what plugins you are using and whether they are compatible with the new version. Most plugins are available in Optimizely's NuGet server and the website lists the CMS version that is supported by each plugin.  

Installable packages developed by Optimizely are listed on their website including their upgrade statuses. So you can easily see which plugins are not upgraded, or even if they were removed/deprecated entirely. It can quickly give you an idea of the impact that a version upgrade will have on your installed packages.
https://world.optimizely.com/resources/net5/add-ons/

Migrated packages

Final notes

The effort involved with upgrading one or more Optimizely websites will depend on the amount of customised features, integrations, plugins and experience of the developers. The approach we usually take is that we first run the upgrade using the upgrade assistant, then assess the amount of development required to get everything back into shape. This approach helps to narrow down any time sinks.

A misconception is that doing an upgrade has a high cost for little business value, but it can actually play a big role in future development. Taking the opportunity to do a platform upgrade and when necessary invest in reducing technical debt will set the future development up to be more efficient and therefore less costly. 

Want to tap into the expertise of Optimizely's APAC Solution Partner of the Year?

Get in touch

Keep Reading

Want more? Here are some other blog posts you might be interested in.