CRM Customization File Best Practices

Today I thought I’d share what I think are some best practices when working with CRM’’s customization files.

Procedure

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.

 

Location

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

Examples:

contoso-dev-sitemap-isvconfig-customizations-0820.zip

contoso-prod-all-customizations-20090820.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.

 

Unpacking

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.

 

Editing

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:

customizations-NEW.xml

After editing, this is the file that will, of course, be re-imported into CRM.

 

Conclusion

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.

Leave a Reply 0 comments