Virtual Developer Workshop: Containerized Development with Docker
Looks like Microsoft CRM is becoming more and more popular, partly because of the Microsoft muscles behind it. Now, it is targeted to the whole spectrum of horizontal and vertical market clientele. It is tightly integrated with other Microsoft Business Solutions products, such as Microsoft Great Plains, Solomon, and Navision (the last two are in progress).
If you are a developer who is asked, "How do we customize Microsoft CRM?" read this and you will have the clues on where to look further.
- Microsoft CRM SDK: This is a software development kit with C# and partly VB.NET examples. It is supported by Microsoft Business Solutions technical support. It is all Web services-based calls. If you are a C# .NET developer, you are excellently positioned to do this type of customization. This is the preferred customization scenario and this should easily be an upgradeable customization.
- Legacy SQL Data integration: This is also easy and safe. If you have a SQL database setting on the same or linked SQL Server, you can create an ASPX .Net application and simply integrate it into CRM. You can place it on the navigation bar or menu in isv.config. Please refer to the MS CRM SDK.
- Legacy ASP integration: This is somewhat more sophisticated. You have to deploy an HTTP handler to be a middle party between CRM, which is .NET based and ASP, which is legacy IIS. The trick is that you have to have an INI file with security settings to penetrate into MS CRM with proper credentials, calling a Web service.
- Microsoft Exchange Programming: Microsoft CRM has an Exchange connector that moves CRM incoming e-mail to MS if it has GUID in its subject. You can alter this logic (for instance, move e-mail to CRM if it doesn't have GUID but it is from the sender who is contact or account in MS CRM). Refer to MS Exchange SDK onsyncsave event handling. Then, simply apply some MS CRM SDK programming.
- Direct SQL touch: In #4 above, I described the scenario with MS Exchange handlers. This would be an ideal world if MS CRM SDK does the job. But, in the real world this, is not always true. You have to do direct flags correction in a CRM database (like making an Activity closed, moving e-mail attachments/octet streams, and so forth). This is not supported by MBS technical support, but you can rescue to this technique if you have to do the job.
- MS CRM Customization tool: You can feel free to use this. This is rather an end-user tool and we don't describe it here. Read the manual. We've described above the options to use when this tool doesn't do the job.
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies, a USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Texas, New York, and Florida with locations in multiple states and internationally (www.albaspectrum.com), he is a Dexterity, SQL, C#.NET, Crystal Reports, and Microsoft CRM SDK developer.