Question

I'd like the ability to compare differences between Sitecore instances without having to get the serialized files down to one machine and then perhaps automate the process. I was wondering if this is possible using Sitecore Courier? Or can anyone suggest any open source tools for this.

Looking through the code I noticed there was a SnapShotProvider. Has anyone used this to compare differences between packages rather than serialization folders and knows whether this works?

Thanks

Ian

Was it helpful?

Solution

I have also used RAZL and would recommend it, and as Sean states in the comments esp over spending any time coding something yourself given the license fee is cheap even compared to half a day of development time. If you know exactly where in the content tree your changes likely are then you can easily navigate there (or look up changes in using the history engine panel) and sync changes back and forth. You can find some product demos on Youtube.

One drawback I found with RAZL was comparing a lot of nested items at once. Previously I have serialized data on the servers, brought it down to a single machine and just compared the serialized content folders using WinMerge (making sure to compare sub-folders and view in tree mode). Comparing this way may also prove to be quicker when dealing with large or big data (e.g. Media Library) since you are not having to constantly request items for every action. It's the same amount of data transfer, it's just you can run serialization over night if required therefore all data is "pre-requested". The downside to this method was that entire "files" were compared, so a small change on a single field ("updated date" for example") meant I would have to manually check the changes. In RAZL you can exclude individual fields from the comparison if needed.

I've used Sitecore Courier as well on previous projects, but not for creating difference packages. Regardless, you will need to serialize the content and move it to an instance at some point since it essentially compares 2 disk locations. Personally I think it's meant more for developers than for content authors. See this blog post for usage but it could be used to quickly weed out all the changed items into a single package. It also has the advantage over the previous method of being able to detect field level changes.

One final option I can think of is the Velir Published Item Comparer module. Normally it would be used to compare master and web db but there is no reason you could not add a connection string entry for a different Sitecore instance and compare that instead. This works on an item by item basis (so could be slow) but I know that the Velir Suite Suite module also utilises the Item Comparer and is able to display gutter icon in the Content Editor tree when items do not match.

It really depends on your exact requirements but I hope that helps.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top