Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best Practices for Concurrent CRM 2011 Development [closed]

What are the best practices for dealing with concurrent development in CRM 2011? What is the proper way to deal with changes to customizations by different developers?

Assuming that each developer has their own local dev environment and there is a community dev environment...

How do developers avoid overwriting each other's work when they "check in" / import their customizations with the community development server? How do developers avoid overwriting their local work when they "check out" / export customizations from the community server and then attempt to import them?

What tools are typically used to help automate this process?

like image 821
Paul Avatar asked Nov 05 '22 22:11

Paul


1 Answers

Here are a few best practices...

First, is simply the naming convention of web resources. At Customer Effective, we opted for cei_/{project}/{type}/{filename}.{extension}. An example would be something like cei_/BingMaps/html/multiLookup.htm. This way it is easy to find and we are consistent.

Now we don't typically team develop, but if you do then you will certainly want to use an SVN. We use an SVN but it's mainly for backups of the individual and referencing other members stuff.

Another best practice is to have a Dev/UAT/Prod environment. I would also strongly suggest having a Vanilla environment for those who would make a solution for more than one customer.

Lastly, never include a sitemap or ribbon inside of your unmanaged solutions. Instead have a single sitemap solution and a ribbon solution. Otherwise, the most recent unmanaged solution will overwrite the previous if they both share the entity ribbon.

like image 122
Paul Way Avatar answered Nov 11 '22 18:11

Paul Way