views:

395

answers:

5

The shop that I am working part time with is new to Microsoft CRM. I just want to survey what projects have developers done to the system to extend its capabilities.

+1  A: 

I did some work with CRM 3.0. My work enhanced the program and turned it into a Document Management app, where you could scan and upload documents based on a case, contact, customer, vendor ect. The .NET SDK back then could of used a bit more work, but I hear with newer versions of CRM it has gotten better. CRM allows for attachments but not at all levels, more at the case level.

Joshua Hudson
This is the top priority from what I've heard.
MarlonRibunal
A: 

We extended 3.0 to send text messages rather than email. There are tools available (for 4.0 at least) to do that now, though.

We also extended it to push service appointments through to Exchange, as due to the workforce being mostly mobile they did not have the CRM client for Outlook.

Donnelle
+1  A: 

I (and others) have implemented a LINQ query provider for the web service layer http://www.codeplex.com/LinqtoCRM.

friism
+1  A: 

I can break the work I did into four sections:

  • Tailoring - Simple field level changes. A lot of this is just making sure the fields and language suited the business I was developing for.

  • Customisation - More complex changes, generally needing JavaScript and maybe ASP.NET. Some examples would be to use an IFrame and pass values to it from a CRM form. The IFrame would then do interesting things like mapping, charting or give you buttons to do other things. For buttons I would often times use JavaScript to replace the outerHTML in the HTML dom of an IFRAME to show a button rather.

  • Integration - using .NET to connect MSCRM to other systems. Connected it to Great Plains, Speech Server, SCOM (was called MOM back then), custom LOB systems etc... One interesting one I did was to develop a SSIS component that wrote into MSCRM via the web services.

  • Reporting - Building reports. In reporting services and in Excel. Excel made for great dashboards because of the dynamic update nature of it.
    I have a few (war) stories up at http://www.sadev.co.za/taxonomy/term/7 if you are interested.

Robert MacLean
A: 

Two other major areas of development not yet mentioned are plugins and custom workflow assemblies.

Plugins allow you to intercept many of the messages that CRM processes to insert custom logic. The possibilities this gives you are endless because you can intercept all kinds of messages including Create, Update, Delete, and even Read!

Custom workflow assemblies are assemblies that you register with CRM that integrate with CRM's workflow UI. Often times, they perform simple tasks that are useful when modifying form data. Other times, they are more complex like sending status reports.

Screenshot of the custom workflow assemblies registered in an environment

Custom workflow assemblies are always listed beneath the native options. In the screenshot, everything below "Stop Workflow" was added via a custom workflow assembly.

Polshgiant