Today I thought Iâ€™d share what I think are some best practices when working with CRMâ€™’s customization files.
When exporting customizations for either edit (ISV.Config or Site Map ) or transport, I always save them to disk so I have a reference copy of the customizations.
Pick a specific folder on your system an always store your exported customization files there. It helps to always have your customizations in a central place should you need to revert or refer back to a previous version.
File Naming Convention
Over time, Iâ€™ve developed the following convention to help me organize my export files:[organization]-[dev/prod]-[entity]-customizations-[date].zip
If I am exporting all customizations, I just use that for the entity name. Since I rarely export customizations for specific entities besides the SiteMap and ISV.Config, I donâ€™t usually have to worry about having too long of a file name.
If you are working on a development team, you may also add your name ( or email alias ) to the file name so everyone knows who saved the customizations.
If I need to edit the exported customizations, I will first unzip them into a folder with the same name as the .zip file so that I can edit a copy of the customization file. This also gives me a reference copy of the file should I need it later.
If at all possible, use Visual Studio to edit the customization.xml file. This will prevent possible illegal formatting that will prevent CRM from reloading your customizations.
Now this is probably a duplication of effort, but the first thing that I do after opening the file in Visual Studio is perform a Save As operation, giving the new file the following name:
After editing, this is the file that will, of course, be re-imported into CRM.
Well, thatâ€™s about it for today. While most of what Iâ€™ve shared is pretty much common sense, I thought Iâ€™d write about it so that people just starting have a starting point when working with customizations.
If you have your own best practices, Iâ€™d love to hear them.