Tuesday, April 21, 2015

Microsoft SharePoint and Dynamics CRM -- Better Together: Part 4

Dynamics CRM Strengths

This post focuses on the strengths of Dynamics CRM -- the next in the series on the strengths of SharePoint. This blog is an excerpt from an InfoStrat white paper

Relational Data

While SharePoint’s strength is unstructured content such as documents and web pages, Dynamics CRM is often better for structured, relational data.  SharePoint provides some features to get you closer to relational behavior, such as lookup columns in lists and site columns, but other key relational features are missing.

Several years ago my company embraced SharePoint for generating customer proposals.   It was great to store drafts, collaborate on documents, and track calendars.  We added metadata to the document library to show the type of proposal, name of customer, and other pertinent information. 

We ran into problems, however, when we want to run more sophisticated reports on sales activity, to match security permissions to account territories, and other features that are common in a CRM system.  Consequently, we implemented Dynamics CRM in order to track sales and marketing activities, but kept SharePoint as the repository for proposal documents which require document management features such as alerts and version control which are not available in Dynamics CRM. 

Dynamics CRM 2013 and 2015 versions added better support for aggregation on forms, a feature that reduces the need for reports in some instances.
Centralization and Standardization
Dynamics CRM excels at promoting consistency and shared standards that are centrally administered.  Unlike SharePoint, Dynamics CRM applications have a centralized data model so that the attributes are the same for an entity for all users. The security model and the user interface of Dynamics CRM are better suited to central administration than list objects in SharePoint which are under the control of site owners. 

Data Import and Export
Dynamics CRM comes out ahead of SharePoint in this category with its import utility and the ability to export from custom views, despite some SharePoint import and export features relating to Excel and Access.  Dynamics CRM provides a wizard interface to map data fields on import, and batches imports so unsuccessful imports can be undone.  Dynamics CRM is supported by mature third party import tools for importing and synchronization with other data sources as well. 

Contact Management
As contact management is at the core of Dynamics CRM, this one is not really a fair fight.  Straight out of the box, Dynamics CRM is a powerful contact management solution, while the SharePoint contact management template is crude by comparison, and lacks the most fundamental features (duplicate checking, field formatting, field validation, multiple addresses, links between contacts and organizations, mail merge) you would seek in contact management.

SharePoint offers a site template for contact management which implies that SharePoint provides a viable contact management system.  Unfortunately, in this case, SharePoint does not deliver.  The SharePoint contact management site template contains merely a handful of fields, and lacks the ability to track contact activities such as phone calls, meetings, or letters.  The SharePoint contact management template contains no reports.  You would be better off to track your contacts in an Outlook public folder than in the SharePoint contact management template. 
Case Management
Like contact management, case management is at the core of Dynamics CRM, and a large number of features are included out of the box such as case intake, escalation, a knowledge base, queues, and case management reports. Government agencies use case management for delivering services to constituents in areas such as health care, social services, and many more. SharePoint offers no analogous capabilities out of the box, but third party add-ins are available for some case management scenarios.

Marketing and Outreach
Dynamics CRM contains powerful features to contact people by generating emails, perform mail merges, and generate phone call lists.  Dynamics CRM helps you manage marketing campaigns and track expenses as well as responses to the campaign. Since contact management is the core of Dynamics CRM, these features are mature and rich.

To match even one of these functions in SharePoint would require significant custom development.   The only feature that comes close is the ability to send an email to members of a SharePoint site. 
Security Model
Dynamics CRM has a fundamentally different security model than SharePoint, as shown in Table 2.  It embodies the concept of an organizational hierarchy which segments data horizontally and vertically.  Dynamics CRM also relies on the concept of record ownership and assignment.  For instance, a sales manager can see all the opportunities that belong to the sales reps who report to her, but the sales reps cannot see one another’s records.  When a new opportunity is received, it may be assigned to the appropriate sales representative with the built-in Dynamics CRM feature Assign. 
 

Architectural Element
SharePoint
Dynamics CRM
Organization hierarchy
Does not exist, only site hierarchy
Represented in CRM administration
Row level security
Supported by exception in list objects
Supported by default and mapped to CRM user roles
Field level security
Requires workaround
Role Based
Page/Form Security
Included
Role Based Forms
Permission inheritance
By default by may be broken
By default, user may reassign record ownership
Security administration
Difficult to view across SharePoint farm
Centralized

Table 2. SharePoint and Dynamics Security Models

Dynamics CRM has a security model that includes the idea of an organizational hierarchy as well as individual record ownership.  For instance, you can have two divisions of a company that use the same data model and functionality but do not share data with one another.  Sales accounts may be divided into territories, and managers assigned to a group of account executives.  This means that all records associated with an account, such as contacts and activities will be visible to people with rights to that account. 

SharePoint has a security model that resembles Windows file system permissions, but with a twist.  A document library (or another list object) has permissions that flow down from the parent site.  Items in the list object inherit permissions as well.  Only if inheritance of permissions is broken can individual item permissions be set. 

SharePoint has a security model which offers its own richness and complexity, but in some ways is better suited to content management and web sites than to line of business applications. For instance, security permissions and roles may be inherited from a parent site or the inheritance may be broken to allow custom permissions.  SharePoint has no paradigm comparable to Dynamics CRM for modeling an organization, nor does it support the concept of record ownership as defined in Dynamics CRM.

While Dynamics CRM 2015 has field level security, SharePoint requires custom development to achieve this feature.  

Dynamics CRM allows you to easily view permissions by entity for each user role. The permissions for each entity are quite granular, and are enforced in conjunction with record ownership.  

No comments: