As Microsoft Dynamics CRM continues to evolve, the focus of Microsoft is to try to make the custom coding as less as possible. However, every now and then, there is bound to be some customer requirement that cannot be implemented without any custom coding. That's when plugins come to our rescue.
The main motive and skill that every Dynamics CRM consultant needs to enhance is to analyze the requirements correctly and categorize them categorically in terms of configurations and customizations. Other out-of-box configurations such as workflows and business rules should be explored before we accept the need for writing a custom plugin to meet the desired needs of the customer.
In plugin development, we will go through the following functionalities:
- Event execution pipeline: Through the event execution pipeline, one can get an idea about the different stages where plugins can be registered and the types of operations that can be performed using a plugin. Every action in Dynamics CRM results in a call made to the organization web service. The message contains business entity information and core operation information. These messages are passed through a standard execution pipeline or stages where it can be modified by any custom logic written by users. This custom logic is a plugin.
- Isolation modes: The plugin isolation mode signifies the level of security restrictions imposed on the plugin execution pipeline. The isolation mode is specified on the assembly level and not on the individual plugin step. When a plugin assembly is registered, it can either be registered in an isolated or sandbox mode, or in no mode. The sandbox is more secure and some actions are restricted.
- Plugin Development: Plugins are custom classes that implement the IPlugin interface. The class can be written in any .NET framework-compliant language, such as Microsoft Visual C# or Microsoft Visual Basic .NET.