Utilities for Comparing Customizations and Transferring Configuration Data

Customization Comparison Utility
The Customization Comparison Utility allows you to take two exported customization files (either xml or zip) and display all the differences between the files. You can review any two valid customization files and also export the results to Excel for additional analysis or documentation needs. Similar to many source control systems, the tool displays to you the following:

  • What is identical between the systems
  • What has changed between the systems
  • Exists in the source system, but not the target
  • Exists in the target system, but not the source

This tool can be extremely handy when reviewing or validating a system for changes or alterations from a base or development system prior to importing a new set of customizations. Independent Software Vendors (ISV) can use this tool to help manage their version releases to existing clients’ systems. However, anyone using Dynamics CRM 4.0 with multiple environments (such as development, staging, and production) can quickly and easily log the differences between those environments for planning, troubleshooting, and documentation purposes. And since the tool merely looks at the customization files, it works for all deployment models, including CRM Online!

Configuration Data Utility
In most of our implementations, we use the power of Dynamics CRM entity extension capabilities to create configuration-based entities. This allows our clients to configure their system with data instead of requiring expensive and time-consuming code changes. One of the current dilemmas of this approach is when you need to apply your configuration data from one environment (such as development) to another environment (such as testing or production).

For instance, the Field Level Access example from the Programming Microsoft Dynamics CRM 4.0 book shows you how you can use a couple of custom entities with JavaScript to create a dynamic form. This approach allows a non-technical user to easily configure a form’s security with custom data. However, once this is properly configured, there was no easy way to get the setup data from our development environment to our production deployment. Currently, you would need to write your own methods to extract and import the data or use a combination of export to excel and import processes. Now those challenges are a thing of the past! Enter the Configuration Data Utility!

The Configuration Data Utility allows you to quickly and easily transfer configuration-based data in one Microsoft CRM organization into another organization with a few simple steps. The utility steps you through a set of wizard steps that has you select the custom entities that contains the configuration data you wish to export. Once complete, the utility will create a single data file with the exported data, ready to imported into the destination environment.
When importing the data, if the application finds records that already exist in the destination system, it will simply update all of the information in the existing record. If data is in the destination system but does not appear in the Export Data File, the record will not be changed in the destination system. Lastly, if relationships to other records exist in the imported data, the application will first resolve by GUID and if no matching GUID is found, it will resolve by the primary attribute of the related entity record.

Also note the following:

  • The entities in the destination system must have the same schema as the source data system.
  • You also have the opportunity to save this configuration file to be reused, saving you additional time for repetitive exports/imports.
  • The tool preserves the source system’s record id (GUID), which comes in convenient when referencing entities in Workflows rules. 
  • This utility IS NOT a replacement data migration tools and options out there. It is meant to migrate basic data setup between environments.
  • The import tool can be run in command-line mode, making it usable for installers as well.
  • At this time, the export/import tool is available for on-premise deployments only. However, since you have the source for this tool, you can quickly convert it for CRM Online.

Summary
These tools can be run on any machine (i.e. doesn’t have to be the CRM server) that has .NET 3.5 installed and access to the CRM environment. Each tool contains a full users guide (currently located within the main project folder). And as mentioned briefly above, Microsoft also provides the source code for each of these utilities, allowing you to further extend them to fit your own needs!

While these tools were developed with ISV’s in mind, they are extremely valuable for anyone implementing Microsoft Dynamics CRM 4.0. We have been using both internally for a few months now have been extremely handy numerous times.

Feel free to download these tools at:
http://msdn.microsoft.com/en-us/library/dd442453.aspx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: