In this segment Girish and I talk about how Dynamics CRM integrates with SharePoint. We begin with a little guidance for where you might use one over the other and where they work well together. And they sure do go well together. “Separated at birth” is how I put it in the video. Girish’s demo shows a custom SharePoint page. Not many people know that SharePoint can be stylized using CSS to build sites that look nothing like plain vanilla SharePoint. This is a pretty good example of that.
We use a SharePoint List Web Part to pull data from CRM to show a list of CRM users and the hours from their time sheets. This was pulled directly from CRM using web services. We also show how could use that data to display a dashboard style gauge using Dundas Gauge for SharePoint. You can pull CRM data directly into SharePoint to build a dashboard. You can then pull that dashboard into the CRM web client (minus the SharePoint chrome). By pulling it into the web client it automatically shows up in the Outlook client. Speaking of Outlook; in the last segment we talked about customization but didn’t show the Outlook client so Girish gives us a quick tour of how that works also.
Each of the forms in CRM are URL-addressable. Girish puts that to good use in showing how you can pop a CRM form directly from within SharePoint. He also shows how CRM lights up automatically when you have Office Communicator installed leaving room for some interesting Unified Communication scenarios. We should probably do an episode on UC soon.
The segment wouldn’t be complete if we didn’t show some code. Girish built the list part using the Visual Studio Web Part project template. The code to pull in the time sheets into a list web part is about 10 lines of C#. The hardest part was doing the authentication. CRM provides a plug-able authentication mechanism and 3 different auth options out of the box. On-premise deployments will likely use Active Directory, while CRM Online uses Windows Live ID and finally if you’re deploying in a partner-hosted mode you’ll use form-based authentication. Girish shows how as an ISV you can build your application once and take all of those options into account. After that the code you write is portable across all the deployment options.