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 https://www.razl.net/download.aspx
- 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.
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:
- Media Library
- 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!
Some questions :
– Can this be scripted? Could I use this tool to automate syncing some specific paths?
– Any idea about the speed? Sitecore’s api is terribly slow for doing bulk copy, so I wonder if this tools might have it’s own implementation to speed up the copy proces.
Yes, this can be scripted. I believe starting in RAZL 3.0. As for the speed it was pretty efficient. It did take some time but I got most of everything I need done in 6-8 hours moving over templates, system, layout, media library, and content.
I don’t see any option on the website to download a trial version or license.
You are correct. This was an error on my part where I believed that there was a trial version for download. It turns out you have to purchase a copy and there is not trial version. I modified my blog post to now reflect that. Thanks Stijn and I apologize for any confusion.
Due to the nature of the product, Razl doesn’t have a trial version. Instead it comes at a very cheap, one-off price per license.
As for scripting, that has been around since v2.5, but has had some fantastic performance improvements in V3.0.
To learn more about Razl, you can view the Youtube videos, here:
And to find out more about the features and performance improvements made in V3.0, you can check out these videos: