Transportable customizations
Part 6 of "11 things to know about customization"
Published: March 26, 2007
After you have defined the customizations for your organization, you can export an XML file that defines all those customizations. This file is designed to let you move your customizations from one Microsoft Dynamics CRM server to another. If you decide to install Microsoft Dynamics CRM on a new server, you do not have to manually re-create your customizations. You can import the XML definitions of your customizations. Microsoft Dynamics CRM MVP John O’Donnell (www.crowecrm.com) recommends exporting all customizations after any customizations are made to Microsoft Dynamics CRM. This exported file can be easily stored as a secondary backup.
You can export customizations for a single entity, a selected group of entities, or all entities to a single file. When you import entities, you can decide which of the exported entities you want to import.
Importing customizations
Importing is additive – this means that importing an entity that already exists on the target system will not create a new duplicate entity. However, if the entity has been modified through creation of new custom attributes or modifications of existing relationships – those changes will be added to that entity.
Importing relationships
When you export or import entities, be aware of how the entities are related. When you import an entity that has a relationship to another entity, you must import both entities together in order to import the relationship. If you import each entity separately, the relationship information will not be included.
Avoid overwriting customizations
It is important to remember what is included in the entity definition. When you import relationships, you are including the relationship behaviors and mapping. The entity definition also includes form scripts. Because the import is additive, you can import a whole set of customizations from another implementation and it will not create duplicate entities or attributes. However, any customizations to mappings, relationships, or form scripts will overwrite any existing customizations. When you are transferring customizations to a clean Microsoft Dynamics CRM installation, this is probably what you want. But if the system is already customized, you probably do not want to overwrite existing customizations.
If you are using import and export to move customizations between a production and a development environment, make sure that you always start by exporting a current version of your production customizations. Do not allow any customizations to be applied to the production system until the customizations under development are imported and published back on the production system. If this is not managed carefully, you may unintentionally overwrite some of your customizations. Microsoft Dynamics CRM MVP John O’Donnell (www.crowecrm.com) recommends the additional precaution of a full backup of the Microsoft Dynamics CRM database before importing customizations.