World is now on Opti ID! Learn more

Per Hemmingson
Oct 1, 2008
  13059
(0 votes)

EPiServer CMS R2 Upgrade experience

Early this morning we took on the task of upgrading http://world.episerver.com to latest release of EPiServer CMS R2, with the motto that we should run our own web sites on the latest release of EPiServer CMS. Usually people in the community wait untill the first Hotfix or Service Pack is relased before considering an upgrade, I like that strategy too.
But I'm damned if I do and doesn't get paid if I don't... :-)

Joking aside, I thought I share some experiences. There are several breaking changes, and this time it breaks! From breaking changes document:

  • DataFactory.GetPage method does no longer give an Unauthorized Exception when loading an page that the current user does not have access to.
  • EPiServer.Core.IPageStore has been removed.
  • EPiServer.DataFactory no longer implement EPiServer.Core.IPageStore, EPiServer.Core.IPageStoreStatistics.

A long story short; You have a problem if you are using EPiServer.Security.AccessLevel in your GetPage() methods. For example DataFactory.Instance.GetPage(blogStart.ParentLink, AccessLevel.NoAccess);
This will give a "method not found exception". So before doing the actual upgrade you need a plan.

 

Test

Plan for worst case scenario and how to deal with it. If there is an error in the upgrade process make sure you can rollback, Don't put all eggs in one basket.

Be prepared is the road to sucess, and test is the key. Have as identical copy as possible of your live web site. Install the new Installation manager and do a test upgrade. Usually the upgrade is done in 5 sec without problem.

Create a checklist

I made a small checklist with all the major components that we have at the episerverworld web site,

  • Forum (original from demo templates, then customized by Research)
  • Blog (from demo templates)
  • download,
  • Developer support form and webservices,
  • CRM connector
  • Custom Scheduled jobs
  • Buglist
  • External modules
  • etc.

Then test the functionallity of your web site and check of that your components work.
We had to recompile Blog and Forum eventhandlers, blog syndication scheduled job among other things due to the breaking change in IPageStore.GetPage().
There were a few external modules from EPiMore Partners that we had to remove untill they are R2 compatible. We also use EPiServer.Blog.dll from the demo templates which is not yet R2 ready. It will be released soon as I wrote in the developer forum, however I'm fortune to have access to the source code so in this case I could just check out and recompile needed assemblies.

 

The actual upgrade

I usually do not like reading documents like installation instructions, system requirements and breaking changes. I think I'll manage anyway, well this morning I was doomed.

First of, you need .net 3.5 SP1 for the new manager to install. That will take about 10 minutes. A nice coffee break.
Then you can install the manager. I choosed to install the necessary application files and then restart the server (I had too).

Finally now to upgrade. Start up the manager click upgrade from SP2 to R2 (where is sp3?). Found the bug "#14916 Cannot upgrade when site is installed in different volume than the installation manager".
Meaning, the website must be in the same volume as the manager. Also you cannot choose in which volume to install the manager, it will take the "program files" path.
Solution, Install a new SP2 site with the old manager in same volume, copy over our sitefiles and hook up the database. Then upgrade. ->Success! :-)

Post upgrade items

Open your checklist and test everything again.
Check that your scheduled jobs are working. Since the services were moved and reinstalled.
If you have custom things in Util or UI folder make sure they are at the new place (Virtual path folder, e.g. C:\Program Files\EPiServer\CMS\5.2.375.7\application\UI).

If you want you can clean up your bin folder from obsolete episerver assemblis as well the redirects in web.config

  • EPiServer.WebParts.dll
  • EPiServer.Workflows.UI.dll
  • EPiServer.ContentChannelService.dll
  • EPiServer.SchedulerSvc

 

Conclusion

Despite the breaking changes the development team has done a great job with this release and the new installer. There are several benefits of upgrading your site to the second editon of EPiServer CMS 5. New functionallity described in articles by Roger Wirz and Lena Spegel, as well as several blog posts on the subject.

Just don't take the upgrade lightly, its more work and changes than upgrading between service packs.

Oct 01, 2008

Comments

Please login to comment.
Latest blogs
Make Global Assets Site- and Language-Aware at Indexing Time

I had a support case the other day with a question around search on global assets on a multisite. This is the result of that investigation. This co...

dada | Jun 26, 2025

The remote server returned an error: (400) Bad Request – when configuring Azure Storage for an older Optimizely CMS site

How to fix a strange issue that occurred when I moved editor-uploaded files for some old Optimizely CMS 11 solutions to Azure Storage.

Tomas Hensrud Gulla | Jun 26, 2025 |

Enable Opal AI for your Optimizely products

Learn how to enable Opal AI, and meet your infinite workforce.

Tomas Hensrud Gulla | Jun 25, 2025 |

Deploying to Optimizely Frontend Hosting: A Practical Guide

Optimizely Frontend Hosting is a cloud-based solution for deploying headless frontend applications - currently supporting only Next.js projects. It...

Szymon Uryga | Jun 25, 2025

World on Opti ID

We're excited to announce that world.optimizely.com is now integrated with Opti ID! What does this mean for you? New Users:  You can now log in wit...

Patrick Lam | Jun 22, 2025

Avoid Scandinavian Letters in File Names in Optimizely CMS

Discover how Scandinavian letters in file names can break media in Optimizely CMS—and learn a simple code fix to automatically sanitize uploads for...

Henning Sjørbotten | Jun 19, 2025 |