In this tutorial, you will learn how to copy content between Sitecore environments using a tool called Razl. If you want to copy Sitecore items like templates, renderings or placeholders in-between environments then you can use a tool called TDS (Installing And Configuring TDS For Sitecore) to make your life a lot easier. TDS does not support content, so what do you do?.

No one wants to manually copy content between different environments, as the process is tedious and error-prone. There are loads of reasons why you might need to copy content. Sitecore upgrades can take months. Content editors will still create content in production. If you need to branch a database to upgrade it, ensuring no content is lost between the different versions will make everyone in the business happier. Another common reason why you might need to copy content is pulling the latest data from production back into your local Sitecore instance. Completely blatting your dev database for the production database can often be non-practical, having more fine-grained control over what is copied can be very beneficial. If you have faced any of these scenarios and want a better approach to content management in Sitecore, Hedgehog developments, Razl might be a good investment for you

My Experience With Razl

recently, I was tasked with performing an upgrade from Sitecore v6.5 to Sitecore v7.2. I wanted to try something new, and I decided I wanted to design a workflow that allowed me to:

  1. Have confidence during the upgrade no content was lost. In this platform, a lot of content was synced between a CRM and Sitecore. This sync updated the product category on the site and couldn't be turned off for a long period of time. I wanted to improve this product data process

  2. Minimize the content freeze duration that my client would need

  3. 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)

After doing some research, Razl seemed like it would allow me to tick all three boxes, so I thought I would give it a try. Razl is a diff tool for Sitecore. Razl is very similar to any normal diff program. If you have ever used a tool like SQL compare, WinDiff, or Beyond compare you will be familiar with the interface. Razl allows you to load two different Sitecore trees from different websites and then do a diff against them.

How To Purchase Razl

Razl cost $149 dollars and be purchased from here. Although it is worth noting that Razl may only be activated on one machine at any given time.

sitecore_razl

You can download a trial version, so like me, you can test it meets your needs before buying it. When you purchase a license, your key will be sent to you by email. Activating it is dead simple

How To Use Razl

Using Razl is quite straightforward, however, there are a few basics you need to understand.

sitecore_razl_1

If you have used diff tools before, after opening Razl it should look familiar. You have a left and right content pane to make the content comparisons and a toolbar at the top for some options.

sitecore_razl_2

When you click on one of the 'Create new Connection' buttons, the Connection dialogue will pop up. In here you need to add in the name you want the connection to appear in Razl. If the website is a live database, then I'd recommend setting the 'Read-only' property.

sitecore_razl_4

Next, you need to decide how you want to connect to your websites. If your websites are on the same box, or you have file share access, then a 'Direct' connection is the easiest option. If you don't have access, then you will need to generate a Sitecore package that you can install using the Sitecore package installer on the box that you want to connect to. In case you are worried about security, Razl will also create an uninstallation package so you can remove all the files after you have made the comparison.

How To Compare Sitecore Tress With Razl

After you connect to a website with Razl, as you can see below it is pretty straightforward to clearly see the content differences between environments.

sitecore_razl_3

Pulling or pushing between environments is as simple as pressing the left, or right arrows in the Sitecore fields pane. Doing this will add a transfer command into the Task List pane. Here you can decide if you want Razl to perform the copy immediately. You can also opt to batch the commands and perform them all at the same time. Like Sitecore itself, the order in which you transfer data can be important. If you try to export some content before a template has been created, this will result in an error. When moving content in Razl, you should try and roughly follow this process in terms of ordering:

  • Templates

  • System

  • Layout

  • Media Library

  • Content


Razl is very easy to work with. If content merging is a hot topic in your project and you have multiple Sitecore database instances that must be merged from time to time, Razl can save a lot of time and merge errors. Happy Coding 🤘