If you want to copy items like templates, renderings or placeholders in between environments then you can use TDS (Installing And Configuring TDS For Sitecore) to make your life a lot easier.
Deploying content between environments can be a lot more complicated and tricky, especially during upgrades. If you have content editors working on the current database, while in the background you branch off with an upgrade version to upgrade and test, ensuring no content is lost will make everyone in the business happier.
Another common example is needing to pull the latest data from production back into your local Sitecore instance to try and test something. Completely blatting your dev database for the production database can be tedious and non-practical.
If you have faced any of these scenarios and want a better approach then, Hedgehog developments, Razl might be worth investing in.
My Experience With Razl
Tasked with performing an upgrade from Sitecore 6.5 to Sitecore 7.2 I started researching approaches that would allow me to:
1. Have confidence during the upgrade no content was lost. In the environment, 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
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)
Razl is very similar to any diff program, so if you have ever used SQL compare, Beyond compare or even basic SVN merge tools you will be familiar with it. 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
You can download a trail, or buy a license. When you purchase a license, your key will be sent to you over email.
How To Use Razl
Using Razl is quite straight-forward, but, there are a few basics you need to understand.
If you have used diff tools before, then after opening Razl it should look familiar. You have a left and right content pane to make the comparisons and a toolbar at the top.
When you click on one of the ‘Create new Connection’ buttons, the Connection dialog 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.
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 differences.
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.
In here you can decide if you want Razl to perform the copy then, or you can 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, for example, will result in an error. When moving content in Razl, you should try and roughly follow this process:
- Media Library
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.