Blog Archives

Dynamics CRM & SharePoint Integration Overview

Dynamics CRM & SharePoint

Introduction

In October 2014 I will be giving a talk to the Geneva SharePoint User Group about the integration options between Dynamics CRM and everyone’s favourite document management repository.  It’s a rich subject with a lot of blog posts, Microsoft white papers and general articles and so here is a condensed version if you’re looking for a quick overview of the fundamentals of integrating the two – both the “out of the box” features and the possibilities for extending the functionality with custom code.

I have included a list of references at the end to draw them in to one place and my material for the presentation (including a PowerPoint overview) is available on OneDrive here: –

http://1drv.ms/WCEc08

Versions

First a word about the versions of SharePoint that are compatible with CRM: –

Dynamics CRM 2011 Dynamics CRM 2013
  • SharePoint Server 2010
  • SharePoint Server 2010 Online
  • SharePoint Server 2007
  • SharePoint Server 2007 Online.
  • Microsoft SharePoint Server 2010 SP1
  • Microsoft SharePoint Server 2013
  • SharePoint Server Online

Option 1: Do Nothing

Simply, if we do not perform any integration then SharePoint cannot access/benefit from any of the data in CRM and CRM cannot use SharePoint as a repository for its documents and the only option for working with files will be to attach them to CRM Activity or Notes.  Files attached in this way will, of course, not be searchable.

SUGOption1

Figure 1: Without SharePoint the only option is to attach documents to Notes/Activities.

Option 2: Out of the Box

CRM 2011 and 2013 add slick “out of the box” integration options to get CRM and SharePoint working together and these are configured via the CRM Settings > Document Management page.  For CRM 2013 online a pop-up alert appears at the top of the page nagging you to set this up.

Essentially you point your CRM at a SharePoint instance and select whether you want to create folders for each entity type or create sets of folders underneath a Contact  / Account parent node.  Whenever you then wish to associate documents with your CRM record, a SharePoint folder is created (if one does not exist) and the uploaded material is placed there.  A recent enhancement in the Spring 2014 release of CRM is that the SharePoint folder now contains the CRM record GUID to make this easily available to any SharePoint code.

To present the documents stored on SharePoint within CRM there is the free CRM List Control.  This gets installed on the SharePoint server (under Site Settings > Web Designer Galleries > Solutions) and presents the list of documents in a style consistent with CRM’s look and feel.  If this List Control is not installed then CRM simply renders an IFRAME to show the SharePoint contents.

With CRM 2011 and (I believe) 2013 on-premises you need to download and install the List Control yourself but if you’re working with CRM and SharePoint online then the List Component is not required and direct server to server communication can be enabled instead.

The List Components renders SharePoint document lists with familiar CRM look and feel.

Figure 2: The List Components renders SharePoint document lists with familiar CRM look and feel.

Option 3: IFRAMEs

Another nice simple option, you can expose CRM pages within SharePoint and vice-versa by simply setting up IFRAMEs and referencing the appropriate URL.  This is particularly useful when you want to deliver CRM Dashboards or SharePoint document lists that are not linked to CRM data.

Security considerations are important here t ensure that the authenticated user works across both sites.

IFRAME used for delivery of data.

Figure 3: IFRAME used for delivery of data within a CRM Dashboard.

Option 4: SharePoint Business Connectivity

SharePoint includes the Business Connectivity Services to allow SharePoint Team Sites to display and work with data from a range of other sources.  You’ll need the free SharePoint Designer to configure this but the basic steps are to create an External Data Source and set up the Lists and Forms that SharePoint will use to display the data retrieved.

I set up a demonstration for CRM 2013 on-premises and SharePoint 2010 by setting up a SQL Server External Data Source referencing the CRM database.  The only supported way to work with data within the CRM database is via the Filtered Views and so this method can be used to present Read-Only data but not to allow Updates and Deletions of CRM data from SharePoint.

Figure 4: CRM Data delivered as a SharePoint list via the Business Connectivity Service.

Figure 4: CRM Data delivered as a SharePoint list via the Business Connectivity Service.

Option 5: SharePoint Search

The previous example of using the Business Connectivity Services can be extended to set up a SharePoint Basic Search Centre relying on the External Data Source of a CRM database.  This is particularly useful if you want to search multiple entities within the CRM with SharePoint.

Figure 5: Creation of a SharePoint Search site working with CRM data.

Figure 5: Creation of a SharePoint Search site working with CRM data.

Option 6: Power BI

Although it strays a little from the subject of SharePoint and CRM integration, it is worth noting that Excel 2013 comes with an ORest connector that can be used to pull CRM data in to Excel for Power Viewm Power Pivot and Power Map visualisations.  Data Models can be built and data from several sources linked within Excel to provide a “mash up” of CRM and SharePoint data.

The final Excel containing the data model and its reports can either be uploaded to a SharePoint site document list and opened with Excel online or can be published to the dedicated Power BI site offered as a service via Office 365.

Power BI looks set to become then the quickest and easiest way to deliver reports using both SharePoint and CRM data.

Figure 6: Exploiting CRM data within Excel for Power BI.

Figure 6: Exploiting CRM data within Excel for Power BI.

Option 7: Custom Code

Finally, the web service endpoints exposed by SharePoint and CRM can be used by custom code for bespoke integration.  CRM exposes both SOAP/WCF and ORest services and one thing to note is that if you’re planning to integrate CRM 2013 and SharePoint 2010 you’ll need to create your own proxy service in the middle as CRM 2013 is .Net 4.0 and SharePoint 2010 Web Parts only support .Net 3.5.

The CRM SDK contains sample code showing you how to programmatically work with the SharePoint entities within CRM.

Figure 7: C# Code executing against CRM to work with SharePoint data.

Figure 7: C# Code executing against CRM to work with SharePoint data.

Summary

The core intention is to use SharePoint as a document repository for CRM but the possibilities of working direct with Filtered Views in the CRM database (for on-premises), with Power BI and with the CRM SOAP and ORest web services means that SharePoint could just as easily be used to deliver CRM Reports or be a portal solution on top of CRM data.

For companies already using SharePoint as their key collaboration and communication tool, there are therefore plenty of options for bringing CRM “in to the fold” and making its functionality available.

References

Here’s a list of useful articles and references – everything you could possibly want to know about SharePoint and CRM!

Overviews & Introductions

http://www.microsoft.com/en-us/dynamics/crm-customer-center/manage-sharepoint-documents-from-within-microsoft-dynamics-crm.aspx

http://crmconsultancy.wordpress.com/2011/10/23/crm-2011-integration-with-sharepoint-taking-a-deeper-look/

http://blogs.msdn.com/b/crm/archive/2010/10/08/crm-with-sharepoint-integration-introduction.aspx

http://crmbook.powerobjects.com/system-administration/sharepoint-document-management/accessing-crm-from-sharepoint/

http://blogs.msdn.com/b/girishr/archive/2013/03/06/what-s-new-with-sharepoint-2013-and-dynamics-crm.aspx

http://www.slideshare.net/atulchhoda/sharepoint-2013-term-store-and-dynamics-crm-2013-true-love-story

Walkthrough of setting up CRM Online and SharePoint Online: –

http://blog.creative-sharepoint.com/2013/10/storing-dynamics-crm-online-documents-in-sharepoint-online/

http://msdn.microsoft.com/en-us/library/jj863709.aspx

http://blogs.msdn.com/b/girishr/archive/2013/05/13/connecting-sharepoint-online-and-crm-online-using-bcs-2013-edition.aspx

Blog Series on Various Integration Options

http://blogs.technet.com/b/anand_nigam/archive/2011/12/04/crm-2011-and-sharepoint-2010-integration-part-1.aspx

http://blogs.technet.com/b/anand_nigam/archive/2012/01/20/crm-2011-and-sharepoint-2010-integration-part-2.aspx

http://blogs.technet.com/b/anand_nigam/archive/2012/01/20/crm-2011-and-sharepoint-2010-integration-part-2-continued.aspx

http://blogs.technet.com/b/anand_nigam/archive/2013/01/26/republished-crm-2011-and-sharepoint-2010-integration-part-3.aspx

http://blogs.technet.com/b/anand_nigam/archive/2012/07/29/crm-2011-and-sharepoint-2010-integration-part-4.aspx

Shortcomings of Security Model

http://www.powerobjects.com/blog/2013/09/27/microsoft-dynamics-crm-driven-sharepoint-security/

Power BI in CRM

http://www.microsoft.com/en-us/powerBI/support/default.aspx?topic=getting-started

http://blogs.msdn.com/b/powerbi/archive/2013/12/19/dynamics-crm-online-in-power-query.aspx

http://blogs.msdn.com/b/crm/archive/2013/04/17/using-power-view-in-excel-2013-to-analyze-crm-data.aspx

http://blogs.u2u.be/u2u/post/2014/02/05/Dynamics-CRM-2013-and-Power-BI-for-Office-365-Part-1.aspx

Using BDC service within SharePoint to pull in CRM data.

http://crmconsultancy.wordpress.com/2011/12/15/integrating-dynamics-crm-data-into-sharepoint-2010/

http://www.concurrency.com/blog/sharepoint-2010-web-parts-and-crm-2011/

Calling SharePoint from CRM

http://bingsoft.wordpress.com/2013/06/19/crm-online-to-sharepoint-online-integration-using-rest-and-adfs/

Advertisements

Microsoft Exam MB2-703 – CRM 2013 Customisation

configuration-customization

Introduction

A few months ago Microsoft updated their set of four exams for Dynamics CRM to bring them in line with the CRM 2013 release.  Having done the original four exams in their CRM 2011 “flavour”, I took and passed MB2-703: Customising and Configuring CRM 2013.

This post then covers how I prepared, what sorts of questions came up and what material I used.

The Exam

The exam is the usual 48 questions of multiple-choice format with a passing level of 70%.  It concentrates on everything that can be customized and configured with CRM 2013 using the “out of the box” tools.  The full curriculum list is at the following link, and this should be your golden standard for what to study and your check list of knowledge just before going in to sit the exam.

http://www.microsoft.com/learning/en-us/exam.aspx?id=mb2-703

Preparation

The main resources I would recommend are: –

1)      If you can get hold of the official course material for this exam from the Microsoft Online Courses (MOC) site then this is the best source of training.  It includes eleven student PDFs for each of the main topics and also PowerPoint and lab exercises.  Working through this is the best way of preparing as questions on the exam should limit themselves to what is covered on this course.

2)      There is a new Customization guide within the CRM 2013 Implementation Guide and this is also a great resource for learning about customization options and restrictions.

3)      Any notes and material related to the older CRM 2011 Customisation exam – MB2-866 – are useful as background material as the new exam will continue to test feature that have not changed between CRM2011 and CRM2013 such as Business Unit organization, Security, customizing Views etc.

4)      If you’re still hungry for more after that then email me and I’m happy to pass on the notes I made (although they are rather rough) to show you exactly what I considered important.

5)      Finally there is no substitute for playing with a trial CRM 2013 online version and the tablet/smartphone application (if you have a device) to test out some of the new features and work through the labs from the MOC material mentioned at point 1.  Have a hunt around for useful blogs covering the new features if you want to go a bit deeper.

Points Covered

As a general pointer, the following sorts of questions came up a lot for me during the exam and are mentioned on the curriculum link: –

1)      Make sure you know how business units are organized and what happens when you deactivate a business unit, what happens to users belonging to that Business Unit?

2)      Know what inherited security roles are and how they behave when Business Units are reparented.

3)      Know the different types of Views within CRM 2013 and particularly the new view type Associated View.  Know what fields you can include within a view and the restrictions on sorting and specifying field as searchable.

4)      Know how views can be used in sub-grids to provide data and how the sub-grids themselves can be set up for lists or charts.

5)      Know how responsive design works with respect to tabs, columns and sections and how the same screen might get rendered on tablets and smartphones.

6)      Know some of the restrictions for the tablet application – how many dashboards can you have, can the user change forms, how do long complex forms get rendered?

7)      Know about the different types of relationships between entities within CRM 2013 and the differences between native and manual many-to-many links.

8)      Know the restrictions on relationships, the difference between parental and referential and how these get configured within CRM.

9)      Know what aspects of entities you can enable and disable and which ones can’t be disabled once they are turned on (Notes, Activities, Business Process Flows etc.)

10)   I didn’t get any question on Access Teams but since they are a new feature it would be wise to study these.

11)    Understand how Business Process Flows work, how they interact with security and how many flows you can have for an entity and how CRM reacts if you swap between flows.

12)    Understand how Dashboards are used, what you can place on a dashboard and how they render on tablets.

13)    Be comfortable with the use of managed and unmanaged solutions, what the difference is, how you create a managed solution and what you can use the version numbering for.

14)    Understand how to create a private chart from a public one.

15)    Understand how auditing works within CRM, how and where it is enabled and how the system behaves if you turn it off temporarily.

16)    Understand the difference between global and local options sets and how these might behave when you have set up mappings between two entities that both use an option set.

17)    Understand field level security and how it behaves across all platforms that CRM can be delivered on.

18)    Know your way around Quick Create and Quick View forms, what they are used for, where they get accessed from within CRM and constraints about using them.

19)    Know about the new Lync, Email, Ticker and URL formats for the Single Text field.

20)    Understand the use of and restrictions surrounding Business Rules, where and when you would use them, what you can do with them.

 

Conclusion

In summary, for anyone that has already taken the CRM 2011 Customisation exam then I think the Royal road to success with MB2-703 is to have a relatively quick refresher on the customisations features you’re already probably very familiar with from CRM 2011 before concentrating on the new features that CRM 2013 introduces (Quick Create/View Forms, Business Process Flows, Business Rules, Tablet Application, Associated View etc.)

For anyone approaching this exam without the CRM 2011 background then the Microsoft course along with some dedicated time playing with the CRM is essential.  There were lots of questions concerning how you achieve certain customisations within CRM and that sort of thing is much easier to remember if you have actually walked through doing it yourself, rather than simply reading about it in a more abstract manner.

Finally good luck and take heart, my experience was that the questions were clear and concise with little ambiguity so not too difficult if you’re prepared thoroughly.

Kev Notes

Here are the notes I made during my own preparation, I hope they are of use to you.

MB2-703KevNotes

URLs for Connecting to CRM 2013

What URL?

I had a bit of difficulty confirming this recently as a web search did not turn up much, a bit surprising given how fundamental this information is.   I must have missed something obvious in the CRM 2013 SDK or other online sources but for connecting to a CRM 2013 online instance I believe the following URLs give the location of the discovery service.

Location Instance type URL
North America Office 365 crm.dynamics.com
EMEA Office 365 crm4.dynamics.com
APAC Office 365 crm5.dynamics.com

Here is the original MSDN article for CRM 2011: –

http://msdn.microsoft.com/en-us/library/gg328127.aspx