• Published
  • 5 min

Migrating between EPiServer 4-5-6 is as easy as 1-2-3 (part 1)

Well, at least sometimes. However, it's likely that you'll encounter a few challenges along the way. This post provides a reference collection and a general overview of the required steps. Part 1 of 2.

See also: Migration between EPiServer 4-5-6 is as easy as 1-2-3 (part 2), which covers the actual migrate/upgrade process, along with some additional references for code migration and troubleshooting.

Overview: 

This is really a massive subject which cannot be easily summarised in one blog post. However, there are lots of good sources of information out there which I have tried to collect and structure, and throw in a few comments based on my own experience. Hopefully this might serve as a good starting point for those who are about to begin the upgrade/migration process.

Note: This post applies to EPiServer 4.60 and above. If your site is pre-4.60, I'd recommend that you start from scratch instead :-) It is assumed the reader is familiar with EPiServer Manager, EPiServer Deployment Center and installation/use of the various separate EPiServer versions. This post does not cover areas like filesystem converting, post-migration configuration or code migration (handling breaking changes).

 

EPiServer versions overview

(Final releases only, no Release Candidate versions)

 Release  DLL version  Download / Docs  Installer  Migration tools
 .NET ver  System Req's
 4.60  4.60.0.165  [D/L] [Inst] [Rel] [Tech]  Manager 1.2    1.1, 2.0  [Req]
 4.61  4.61.0.83  [D/L] [Inst] [Rel] [Tech]  Manager 1.3.2    1.1 SP1, 2.0  [Req]
 4.62B 1)  4.62.0.469  [D/L] [Inst] [Rel] [Tech]  Manager 1.3.3

Migration Tool 1.1.0.38 3)

[Documentation]

 1.1 SP1, 2.0  [Req]
 5 R1  5.1.422.4  [D/L] [Inst] [Rel] [Tech] [Brk]  Manager 2.0.18.1    3.0  [Req]
 5 R1 SP1  5.1.422.122  [D/L] [Inst] [Rel] [Tech]  Manager 2.0.19.4    3.0  [Req]
 5 R1 SP2  5.1.422.256  [D/L] [Inst] [Rel] [Tech]  Manager 2.0.19.10    3.0  [Req]
 5 R1 SP3  5.1.422.267  [D/L] [Inst] [Rel] [Tech]  Manager 2.0.19.10    3.0  [Req]
 5 R2 2)  5.2.375.7  [D/L] [Inst] [Rel] [Tech] [Brk]  Deploym.Center

 Migration Tool 1.1.0.38

[Documentation]

 3.5 SP1  [Req]
 5 R2 SP1  5.2.375.133  [D/L] [Inst] [Rel] [Tech]  Deploym.Center    3.5 SP1  [Req]
 5 R2 SP2  5.2.375.236  [D/L] [Inst] [Rel] [Tech]  Deploym.Center    3.5 SP1, 4.0  4)  [Req]
 6  6.0.530.0  [D/L] [Inst] [Rel] [Tech] [Brk]  Deploym.Center    3.5 SP1, 4.0 4)  [Req]

D/L = Download | Inst = Installation instructions | Rel = Release notes | Tech = Technical notes | Brk = Breaking changes | Req = System requirements

  • 1) Because of a bug in the original 4.62 release, the patched 4.62B version was released shortly after, and should be considered the "official" 4.62 version.
  • 2) Up until CMS 5 R1 SP3, EPiServer versions were installed through the EPiServer CMS Manager. Each new version replaced any previous versions (requiring uninstallation of the old version of the CMS Manager).
    From CMS 5 R2 onwards, EPiServer versions are installed through the new Deployment Center. Each new version is installed as a plugin module to Deployment Center, which means that several versions of EPiServer CMS can co-exist in the Deployment Center.
  • 3) The Migration Tool from EPiServer is used to migrate from 4.62 to CMS 5 R2. After CMS 5 R2, upgrading is performed using the Deployment Center.
    (There was also a Migration Tool RC1 version with works from 4.62 to CMS 5 R1, but this is now obsolete and should be disregarded.)

 

Upgrade vs Migration

EPiServer-wise, there is a slight difference between the terms "upgrade" and "migration". In general:

  • Upgrade is a smaller operation that can be done "in place", i.e. the changes are applied directly to the existing site. The option to upgrade is usually available when moving between minor versions (e.g. 5 R2 to 5 R2 SP1).
  • Migration requires both a source site (the existing one) and a target site (a new site using the new version, to which the old data will be converted and imported). Migrating is usually required when moving between major versions (e.g. 4 to 5).
    This process consists of two separate parts:
    • Database migration (updating the database structure, stored procedures etc, transferring pagetypes, properties etc)
    • Code migration (copying the files from the old site to the new one, then rewriting code to handle breaking changes)

However, in both cases it might be necessary to rewrite some code or configuration because of breaking changes in the DLLs or database structure (check the Tech Notes section for each version).

 

The fastest route from EPiServer 4 to 6

Everyone knows that the fastest way to beat Super Mario Bros (Nintendo 1985) is to warp from world 1-2 to 4-1 and then 4-2 to 8-1, kick Bowser's a$$ and have the Princess safely home in time for tea.

Similarily, the fastest way to migrate from EPiServer 4 up to EPiServer 6 is the following sequence:

  • 4.62 to CMS 5 R2 (using Migration Tool 1.1.0.38)
  • CMS 5 R2 SP2 to CMS 6 (using Deployment Center)
    (Sadly, there is no Princess waiting for you when you get there, but you might find a happy customer.)

With any luck, you should be able to skip the CMS 5 R1 versions completely.
If your site is any other version than the above mentioned, you will have to upgrade to the nearest version using the appropriate CMS Manager, Migration Tool or Deployment Center - see above table.

 

General tips

  •  Seems obvious, but plan ahead - especially in a production environment. Some installations require rebooting the system, check with server admins.
  • Observe which Windows Server / SQL Server / IIS / .NET versions are required to install the respective EPiServer releases. Are these compatible with your server environment? Can you install these yourself or is a third party required to do the installs?
  • Most EPiServer installations require a Windows user account with local admin privileges, It might also be a good idea to obtain an admin account login to the SQL Server.
  • Always back up site and database before attempting upgrade. Sooner or later, backups will save your life/job - keep them secret, keep them safe.
  • If possible, try to have site and database located on the same machine (either on your dev computer or on the production server) when performing the upgrade. This will minimize a few of the possible risks (the database connection is especially vulnerable to errors during the upgrade).
  • Have valid licenses ready before upgrading/migrating. Remember, the order process might take a bit of time and you don't want to cause unnecessary downtime on the web server.
  • If upgrade fails, always rollback from backup to avoid mismatches in database versions, evaluate errors, then retry. You did make backups, didn't you?

 

See also: Migration between EPiServer 4-5-6 is as easy as 1-2-3 (part 2), which covers the actual migrate/upgrade process, along with some additional references for code migration and troubleshooting.