Dynamics 365 Customer Engagement Deep Dive: Creating a Basic Plug-in Author: Joe ‘The CRM Chap’ Griffin Website: crmchap.co.uk Twitter: @joejgriffin © Joe Griffin
Introduction Aim: To demonstrate how to create a simplistic plug-in from start to finish for Dynamics 365 Customer Engagement Video will be intentionally "quick and dirty", to emphasise the straightforwardness of working with plug-ins within the application and to emulate a real life scenario as best as possible. Accompanying blog post will contain this slide deck and completed solution files for reference purposes. Assume no previous experience, but some knowledge of Visual Studio, C# and Dynamics 365 Customer Engagement/CRM is preferred © Joe Griffin
Dynamics 365 Customer Engagement Overview Previously known as Dynamics CRM, a “Customer Relationship Management” application developed by Microsoft. “Modular” system, enabling organisations to: Manage sales qualification processes Provide full case management functionality to customers Integrate with external features, such as Portals, Voice of the Customer, Office 365, Exchange Server etc. Customise the application extensively, either within the interface or via code. And more! Cloud based with on-premise version available © Joe Griffin
Understanding Plug-Ins Plug-ins are custom code assemblies that are deployed to D365CE to perform custom business logic using either C# (recommended) or Visual Basic .NET. They are created as Class File projects within Visual Studio. Free version can be downloaded here: https://goo.gl/sffc0S Using the application assemblies, you have full access to a variety of operations within the application – CRUD operations, Lead qualification etc. Getting started with plugin development depends on which version of the application you are working with: For versions 8.2 and lower, download the SDK: https://goo.gl/iZDNoK For version 9.0 +, use NuGet to download assemblies/tools: https://goo.gl/DZYBCf © Joe Griffin
C# Overview C# is an object-orientated programming language developed and maintained by Microsoft as part of the .NET framework. Can be used to develop anything from simplistic console based application through to fully featured desktop/web applications. Developers who have worked previously with C, C++, JavaScript, Java or PHP should have no trouble in learning how to develop code in C#. Microsoft offer a number of online tutorials to help get you started with writing your first C# application: https://goo.gl/auvfCv © Joe Griffin
Creating a Plug-in: Scenario The Problem: When users create Contact records within the application, the name values are often not entered in the correct format. For example, “Jane Smith” is often written at “jane smith, “JANE SMITH” or “jane Smith”. These name values are used to populate electronic/direct mail campaigns and have to be cleansed manually to ensure a professional appearance when sent. The Solution: Develop a Pre-Validation Plug-in on the Contact entity to format name values correctly (“Camel Case” formatting) before they are saved into the database. The plugin should execute whenever a new Contact record is created or an existing one is updated. © Joe Griffin
Demo © Joe Griffin
Plug-in Recommendations Always should be used as a last resort, particularly if the same functionality can be achieved from within the application (e.g. Business Rule, Workflow). Remember the default timeout for Sandbox plugins (2 minutes) Useful to have a “template” class file that can be re-used. Stick to a clear naming convention to indicate the type of plugin, the entity it is targeting and at what stage of the pipeline it executes on. Store your code within a Git repository to enable code change rollback and team collaboration. © Joe Griffin
Thanks for watching! Be sure to… Leave any questions in the comments Follow me on Twitter (@joejgriffin) and tweet any suggestions for future video content Subscribe to the channel to be notified when new videos are uploaded © Joe Griffin