locked
customization source control strategies? RRS feed

  • Question

  • Hello - What type of source control strategies do you use to manage your customizations?  Are you aware of any specialized software used to manage CRM customization changes in a multi-user environment or do you use a custom source control solution?

    Wednesday, April 10, 2013 7:27 PM

All replies

  • Hi,

    The main challenge is around the customisations that can't be kept as a separate file outside crm - namely entities, attributes, forms, views etc.

    The Approach I use is as follows:
    1. I keep as much as possible in TFS
         a. I use the Developer Tool kit to organise web resources, Silverlight, Plugins and workflow assemblies.
         b. When developing JavaScript web-resources, Fiddler or a ‘redirect stub’ is used to ensure that the Javascript is loaded from the local disk whilst developing. Once finished, the files are all checked in to TFS
         c. An msbuild script is then used to build and deploy webresources and assembles from the build server on a regular schedule or on demand as needed. Developers should NEVER be adding these TFS artefacts to the master server – it should only be done by the build server.

    2. Artefacts that are not in TFS are the usual configuration items – Entities, Views, Forms, Roles, Ribbon Customisations, Workflows etc. All these are held on a ‘master’ organisation that devs must make changes to centrally. The build process exports the solution and checks it into TFS with every build. Before any changes are made, I use a ‘semaphore’ process where the Developer emails all the team members notifying them of the change so that no one makes a change to the same component at the same time.

    3. The solution on the master configuration solution is versioned by the build process (<Major>.<Minor>.<Build>) and then can be import into UAT/Production by getting the latest from Source control –  or exporting it anew.

    4. Developers get the latest solution on a regular basis and import into their own development server and perform a Build/Deploy on the CRM Developer Toolkit Solution

    hth


    Scott Durow
    Read my blog: www.develop1.net/public     Follow Me on Twitter
    If this post answers your question, please click "Mark As Answer" on the post and "Mark as Helpful"

    Wednesday, April 10, 2013 9:51 PM
    Answerer