As you probably know as a Dynamics CRM professional, all entity customizations, javascripts and more can easily be exported and imported between systems. This is a really neat feature of Dynamics CRM since it relieves us a lot of tiresome and repetitive work of recreating lots of settings for each environment set up.

It is not uncommon for a project to involve more than 3 or 4 depoyments that need to be identically set up. Usually the following are used:
– Production environment
– Test environment
– Central development environment
– Distributed developent environment(s) – usually locally run VPC:s
– Educational environment

If care isn’t taken when creating customizations and exporting and importing the customization files it is not hard to imagine problems arising when the same entity has been edited by different people at more or less the same time. This can result in the several of the different systems not being identical and perhaps even dataloss or the worst possible case, a system might crash. Therefore it is very useful to define a strict path for all customizations and the distribution of all customizaton files.

We usually handle this by simply defining the central development environment as the customization-master. This means that all entity customizations are done on this environment only. Then customizations are exported by almost always exporting all customizations and importing into all other systems from this file. This will hopefully reduce the risks of creating environments that are non-identical or erroneous.

Gustaf Westerlund
Microsoft Dynamics CRM Architect