The Sitecore Upgrade 6.5 to 8.2 - part 1

I will take the ring Sitecore to Mordor 8.2 – though I do not know the way.

My newest project consists of taking an outdated Sitecore 6.5 project, dust it off and prepare it for the future as a Sitecore 8.2 project. Since a complete rebuild is out of the question I’m left with two options; migrate or upgrade. In case the analytics data can be dropped, Sitecore recommends migration. This would mean creating a clean 8.2 solution and bringing in the code, items, config and other good stuff.

The other, longer, way is to upgrade. Since the Express Migration Tool only supports projects in version 7.2 and up we’ll have to upgade manually. At least until we reach 7.2 and can use the tool.

Below you may find my preliminary plan to tackle such an upgrade. The first part consists mainly of mapping out the current situation and determining risks and breaking changes in between versions.

Upgrade preparation plan

  • Identify state of all environments (which version/branch of the solution is deployed where
  • If possible deploy latest version everywhere (preferably done with original dev)
  • Identify custom code and which parts of sitecore it plugs in to (together with original dev)
  • Identify configuration coupling: which files need to be changed and which can be used as a whole (together with original dev)
  • Set up a (manual) test plan for smoke testing site in each intermediate version
  • List deprecated functionalities of each intermediate version to determine code to be modified
  • List modules that need to be upgraded/replaced
  • List prerequisites for each intermediate version
  • Choose appropriate windows and SQL server version
  • Run a link checker before any new upgrade to check for any extra problems.
  • Decide which errors can be ignored (but should be documented) until reaching the final version
  • Discuss upgrade strategy with Sitecore (sharing as much info as possible from previous steps), they might have a few tricks up their sleave for this.

High level upgrade strategy

  • Stop development
  • Clear publishing and event queues. set longer timeouts in web.config
  • Shrink and rebuild db indexes
  • Update all environments with production content (take care not to loose not deployed development)
  • Upgrade to version x
  • Backup analysis and upgrade reports and logs
  • Test, compare to x-1 and backup version x
  • Deploy version x to staging or whatever temporary QA site
  • Have key users verify version x on staging or whatever temporary QA site
  • Upgrade to version x+1
  • … repeat until version 7.2 (or whichever version is supported by then)
  • Use Express Migration Tool
  • If possible destroy webforms and replace with MVC

This is only the beginning, a lot of choices have to made and discussed with the client. stay tuned for the next exciting episode of The Sitecore Upgrade