During the creation of my Audit program I became very familiar with Post Callouts and the whole SDK model. Now that Microsoft Dynamics CRM 4.0 has moved us to Plug-ins, the model changes a little bit and I think actually becomes a little easier than the Microsoft Dynamics CRM 3.0 callout model. The implementation of a plug in compared to the implementation of the callout model is basically the same – where the differences are is mainly in the registration process.
With Microsoft Dynamics CRM 3.0 the registration was done through the callout.config.xml file. If someone came alone after you and messed up that file – NO callouts would fire until it was fixed – making it not as stable as you would like. With 4.0 all of the registration is done to the database and one plug-in does not affect any other plug-in.
I was struggling to get a rather complex Plug-in to work, so I went searching on the Internet for help. I found this great blog post at http://blogs.msdn.com/crm/archive/2008/05/12/testing-crm-plug-ins.aspx that is the basis for this post.
In this post and the linked MSDN downloadable code it points to is a simple example of how to test a plug-in. The posts clearly state that there is room for expansion in the code as well as some potential gotcha’s that fall under the buyer beware column. It comes REAL close to acting just like CRM calling your plug-in – but not quite exactly.
In the process of trying to make the code work I found that there was, as usual, a pretty decent gap between my skill level and the expectations of the author. I can figure almost anything out (ok, probably not anything) with a decent head start. I have never taken a class in anything .Net so as a result I am missing some of the core foundation blocks that occasionally give me fits. Visual Studio 2008 is one long way from Visual Basic 3! But I eventually figured all of this out enough to make it work and then expand on it for this blog.
All of the in depth instructions for how to debug a plug-in using this application is located within the code itself. All you need to do is to save and download the zip file and then open up the solution in VS2005.
I hope you will find that this post will help you to explore the world of plug-ins – mastery of them is key to understanding the full capabilities of CRM 4.0!