Monday, December 7, 2009

Customization Best Practices

Just came across this list of custmization best practices to follow in the CRM SDK 4.0.10.
Using Custom Entities and Attributes
ISV solutions can save data by using:
• Custom attributes on existing entities
• Custom entities
• A separate database
• Use entity rename to make system entities more meaningful
You should use a unique prefix for custom entities and attributes. For example, use an abbreviation of your company name to avoid conflicts with other ISV add-ins.
Using Isv.Config.xml
Microsoft Dynamics CRM ships with a sample configuration file in the wwwroot_Resources folder. To prepare for installation of ISV add-ins you should rename this file and then create your own configuration file. By doing this you will not confuse the sample UI changes with the UI changes you need for your customization.
ISVs should merge changes into the existing ISV.Config file and not overlay the existing configuration file.
When Do I Add vs. When Do I Customize an Entity?
You should customize a system entity, such as the account entity, rather than replace it because there are many built-in features that you would have to recreate. For example, the account entity has lookup fields to associated customers. You can use the entity rename feature to make the system entity more meaningful to your business.
When Do I Use a Workflow .NET Assembly?
Workflow rules cannot create an instance of an entity. You can use a .NET assembly to do this.
When do I use plug-ins vs. workflow?
As a developer who is interested in extending or customizing Microsoft Dynamics CRM, you have several methods of performing your tasks. In addition to adding client-side JavaScript code to a form, or adding custom ASP.NET page, you can choose to write a plug-in or create a custom workflow by using the Web interface that calls a custom workflow activity. But how do you decide when you should use a plug-in or when you should use a workflow? The technology that you choose depends on the task that you have to perform.
For example, you must use a synchronous plug-in if you need to execute custom code immediately before or after the core platform operation executes and before the result of the operation is returned from the platform. You cannot use a workflow or asynchronous plug-in in this situation because they are queued to execute some time after the core operation executes to completion, and so you are not guaranteed when they will run. On the other hand, if you want to add custom functionality to Microsoft Dynamics CRM Online, only workflows are supported because you cannot add your DLL to the server.
You can read the entire article at:

1 comment:

  1. Microsoft Dynamics CRM is a best CRM software for customer relationship management system that drives sales productivity and marketing effectiveness through social insights, business intelligence, and campaign management in the cloud. Improve your productivity and reach business goals with Microsoft Dynamics CRM Solution.