Monthly Archives: November 2015

Upgrade strategy for Sitecore using RAZL

Tasked with performing an upgrade from Sitecore 6.5 to Sitecore 7.2 I was researching ways to 1) minimize the content freeze that my client would endure and 2) easily integrate the changes from the production databases into my locally upgraded databases (initially pulled down from production at the start of the upgrade process). I knew that RAZL from TDS could help with this but I had never used it before and an automated process of merging content changes especially between and upgraded database (7.2) and a legacy version (6.5) was suspect at best for the process to not work at all or fail.  After a bit of learning the product, I was amazed at how simple and easy the process was and I was able to merge the changes all the way through saving me a bunch of time.

Below are simple steps to performing a merge with the tool and some key points to make your life easy with RAZL:

  • Download the latest version and get a license at
  • When you open up RAZL you will need to setup 2 connections of which should be local on your machine.  So for me I had to initiate a content freeze with the client, setup another site in 6.5, pull down the backups of the production databases, and then configure my 6.5 Sitecore instance to now use these fresh databases. My first connection is my locally upgraded Sitecore instance (7.2) named Local.Master. My second connection is a vanilla Sitecore instance (6.5) named LocalProd.Master with the most updated content changes from production.
    RAZL Connections

    RAZL Connections

    Once the sites are configured in IIS and setup in RAZL you can then start the merging process.

  • Using this bit of documentation from TDS on RAZL for comparing items you can see what is same, different, deleted, and moved. Being that there are additional fields in one version and not in the other there will always be a difference even after the merge takes place. However, in 2 databases of the same version the double arrows should go away after you perform a merge.
  • When I started the process I was unable to merge anything and thought that the process would not work.  I kept getting an error message stating that the parent item was missing even if I clicked on the top-level sitecore item and tried to merge. This was because I was not going in the correct order for merging.  As a key point, the correct order is below for merging:
    1. Templates
    2. System
    3. Layout
    4. Media Library
    5. Content
  • Once I went in that order the error never appeared again.
  • Now, I wanted to not just merge one item at a time, I wanted to merge an item and it’s children to make it really easy.  This was not readily apparent as I thought that I would have to click on each item and merge…oh what a nightmare that would be!  However, when I right-clicked on an item, there was an option for “Get All From Right”, which I hovered over and then I clicked on Merge.  That was able to merge an entire parent and it’s children. Take this as a key point as well.

Upgrades are almost always a mundane and meticulous task for Sitecore developers. Finding a way to make things more simplistic and easy is the approach I like to take, and RAZL has helped me with this.  Hopefully, you can make use of this awesome tool for your Sitecore upgrades and day to day Sitecore duties as well.  A must have for your Sitecore toolbox.  Happy coding!