Microsoft CRM Custom Development: Plug-ins and Add-ons
Microsoft Dynamics CRM is one of the most popular CRM systems. One of its competitive advantages is its flexibility to extensions and modifications with its settings as well as its programming tool
In MS CRM it is possible integration with external systems,
such as Accounting applications, Document management, Call Centers, email servers etc.
It is often the case, when you have to do custom programming, as existing settings and adding custom tables and objects directly in MS CRM user interface do wonderful job, but still have their limits. In those situations CRM technical consultants deploy plug-ins and/or Extensions, often referred as Add-ons
1. Plug-In – this is external business logic, which could be integrated into Dynamics CRM to redirect documents, master records or results of the business logic into CRM. It is common practice to deploy MS CRM objects custom event handlers
2. Add-On – this is typically separate programming project, extending CRM, where you can introduce new entities (beyond the custom tables, available directly in CRM) – via Microsoft CRM SDK programming
All the entities and structures are stored in MS CRM in the database. Plug-ins and Add-ons have to be realized via CRM SDK programming. MS CRM SDK is API for developers, allowing you to manipulate objects in CRM. In theory it is possible to work directly with MS CRM Database insert and update bypassing CRM SDK. However this approach is not recommended, even for your company in-house customizations. And this is prohibited, when you do custom add-ons or plug-ins for external MS CRM customers, as you will need to register your MS CRM module with Microsoft Business Solutions. The advantages of deploying MS CRM SDK include the fact that SDK programming gives you direct inclusion into MS CRM user security realm
Plug-ins and Add-ons are >Net assemblies. As Software developer you deploy Microsoft Visual Studio for programming, compiling and final project builds. It is common to use C# or VB.Net programming languages. We will give you more details on Microsoft CRM SDK programming and projects maintenance in Visual Studio in the following publications
If you are planning to work on new Microsoft CRM user forms – it is important to make their design matching targeted MS CRM version. At this point MS CRM SDK doesn’t provide design compatibility instruments. Some of MS CRM software developers have better luck in interface look and feel replications, some of them do not. But, it is recommended at least to try to match current MS CRM version user interface design patterns
If you are planning to become Microsoft CRM ISV, offering out-of-the-shelf Add-ons and plug-ins – you will face the questions of Installation key generation and module licensing. You may consider several ways – first approach is when you require the customer to purchase the same number of Custom module license keys as the number of MS CRM users. Second approach is more flexible, where you link your license key to specific CRM user, who is in reality your extension user