Microsoft CRM is CRM answer from Microsoft Business Solutions.
The whole conception behind CRM seems to be different. In case of traditional CRM software (Siebel, Oracle) - the application was designed with platform independence in mind. Microsoft CRM is dedicated to Microsoft technology and so deploys all the Microsoft tools: Windows Active Directory, Microsoft Exchange 2003/2000, SQL Server, Crystal Reports Enterprise, Biztalk server, Microsoft Outlook, Internet Explorer, Microsoft Great Plains as backend, etc.
If you are software developer, database administrator or web designer who is asked: how do we customize Microsoft CRM - we are giving you directions in this article.
1. Microsoft CRM SDK - this is software development kit with C# and partly VB.net code samples - it is supported by Microsoft Business Solutions technical support. It is based on web service calls, if you are C# .NET developer - you are excellently positioned to do this type of customizations. This is the preferred modification scenario and this should be easily upgradeable customization. VB.Net examples will be available soon.
2. Legacy SQL Data integration. This is also easy and safe. If you have SQL database, sitting on the same or linked SQL Server - you can create 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 MS CRM SDK
3. Legacy ASP integration - this is somewhat more sophisticated. You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS. The trick is - you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service.
4. Microsoft Exchange Programming. Microsoft CRM has Exchange connector - which moves CRM incoming email to MS if it has GUID in its subject. You can alter this logic (for instance - move email 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 - you need some COM+ objects creation and VB programming experience.
5. Direct SQL touch - in #4 above I described you the scenario with MS Exchange handlers - this would be ideal world if MS CRM SDK does the job. But - in real world this is not always true - you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc). This is not supported by MBS technical support - but you can rescue to this technique if you have to get job done.
6. MS CRM Customization tool - this is rather 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
7. Crystal Reports - feel free to create Crystal report - tables and views structure is self explanatory. Try to avoid the temptation to create your own SQL view or stored procedure in MS CRM database, instead - create custom database and place your view and stored proc in it.
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Texas, New York, Colorado, Georgia, Florida, Canada, UK, Autralia and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.