Wednesday, July 13, 2011

Integrating CRM 2011 with SharePoint 2010 for Document Storage

Integrating CRM 2011 with SharePoint 2010 for Document Storage

You can now configure Dynamics CRM 2011 to store documents in SharePoint. The integration is fairly simplistic, using an IFrame under the bonnet, but it is nevertheless effective. These instructions show you how to set it up technically, but the configuration that is correct for you will depend on your situation.
For the instructions below I used a locally hosted instance of SharePoint Server 2010, and an instance of CRM 2011 online.
Installing the Dynamics CRM 2011 List Component

Download the component from
In SharePoint 2010 Central Administration, go to Manage Web Applications, select the web application you wish to use and click on “General Settings”. Set Browser file handling to permissive for the web application:

Navigate to the folder where you downloaded CRM2011-SharePointList-ENU-amd64.exe, and double-click it.
In the Open File – Security Warning dialog box, click Run.
To accept the license agreement, click Yes.

Select a folder to store the extracted files, and click OK.

The following files are extracted:
Open your browser.
In the address bar, type the URL of the site collection on which you want to install the Microsoft Dynamics CRM List component.
Click Site Actions, and then click Site Settings.
Under Galleries, click Solutions.
On the Solutions tab, in the New group, click Upload Solution.
Click Browse, locate the crmlistcomponent.wsp file, and then click OK.

Click close.
Make sure that the Sandboxed Code Service is running:

On the Solutions tab, in the Commands group, click Activate.
This did not work for me. To get the solution to activate the following procedure was needed (from
On the server, click Start | Administrative Tools | Services.
On the Services dialog, scroll to SharePoint 2010 User Code Host.
Note the full user name in the Log On As column. You will need this information later.
Open SharePoint Management Shell.
Enter the following at the command prompt, including all punctuation.
(Get-SPManagedAccount –Identity “username”).Sid.Value
Replace username with the name you obtained above. E.g., CorpDomain\ServiceAccount
This will return the user’s SID (Security ID), which you will use in a later step.
Open the registry editor and navigate to:
HKEY_USERS\SID you obtained earlier\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing
Be sure the State key value is set to 0x00023e00.
Restart the sandboxed host service on all servers on which it is to run. It cannot hurt to do an iisreset as well.
Another known cause is that SharePoint is trying to check for certificate revocations at You can redirect these attempts by adding the following line to the end of the hosts file located at C:\Windows\System32\drivers\etc:
This must be done on all servers running the sandboxed host service. Then restart the service on all these servers. It cannot hurt to do an iisreset as well.
Add .htc extension to the list of the allowed file types

The steps mentioned here are required only if you are using Microsoft SharePoint Server 2010 (On-Premises).
You must be a SharePoint administrator or a farm administrator to be able to do the following steps:
Copy the AllowHtcExtn.ps1 script file to Microsoft SharePoint Server 2010.
In the Windows PowerShell window or in the SharePoint Management Console, run the command: AllowHtcExtn.ps1
Example: AllowHtcExtn.ps1 http://mywebapplication

Configuring the connection

You can now go into CRM in Outlook (or the browser based version) and click on “Settings” then “System”, then “Document Management”.
From here you can set up the mapping between SharePoint in one of two ways. The easy way (shown below) creates a folder hierarchy for you, based on CRM entity types and names.

If you wish to though, you can set explicit mappings for each CRM entity through to a specific SharePoint location.
Which of these is correct for you will depend on how you intend to use SharePoint and the amount of documentation that you anticipate storing.
Now when you go to an entity in CRM you can click on documents in the left panel and interact with your documents in a SharePoint library, all from within CRM.
Note: To get Outlook integration to work it may be necessary to add the CRM web site to “Trusted Sites” in Internet Explorer.


Top 10 technical questions you should be asking before upgrading your customer to SharePoint 2010

Before doing anything else i mean upgrade, you need to ask your customer a few simple questions just to make sure you understand the situation (customer installed WSS 3.0 alone) so that you can make the right assessment. Please note: these are just general questions, in a full-scoped project you need to ask many more…


  • 1) Have you installed Windows SharePoint Services 3.0 Service Pack 2?
    If you are not sure go to Central Admin > Operations > Services and SharePoint Version will be displayed.
    • Why am I asking this question? You can only upgrade to SharePoint 2010 (any edition) if you have installed Windows SharePoint Services 3.0 / SharePoint 2007 Service Pack 2. You customer might not have this information so you will probably get only version number (e.g. You can „convert“ the version to actual service pack via this table.
  • 2) Are you planning to do in-place upgrade or there is another (new) server ready for SharePoint 2010?
    (in this case we are not doing Core Infrastructure so there will be different company installing OS)
    • Why am I asking this question? In case customer is planning to do in-place upgrade you need to make sure operating system is supported and bunch of other things like downtime, some other system that might be problem etc…
  • 3) Are you aware of SharePoint 2010 operating system requirements? You need Windows 2008, 64bit architecture and 8GB of RAM.
    • Why am I asking this question? Customers and other non-SharePoint Microsoft partners do not know about SharePoint requirements and they do not care. That’s okey! You need to double check these 3 things: Windows 2008, 64bit architecture and RAM amount! You can check the full list of SharePoint 2010 requirements here. Depending on company size they might need more than one server, check TechNet for more details…
  • 4) Can you install Windows 2008 R2?
    • Why am I asking this question? Although both Release1 (Windows 2008) and Release2 (Windows 2008 R2) are from same product family, R2 comes with number of improvements and it is much easier to install and maintain SharePoint installation on top of R2. If possible ask customer/partner to install R2. People are not always aware that R2 exists. In case you will be using Windows 2008 make sure it is fully patched.
  • 5) Did you install any 3rd party solutions, or some custom code?
    • Why am I asking this question? Well, if you are not doing in-place upgrade you will have to install these again and you need to make sure you have proper WSP packages to install.
  • 6) Did you use any of the Fabulous 40 templates?
    • Why am I asking this question? When upgrading these templates you also need to make sure these are installed. AFAIK there are no Fab40 version for 2010 at this time, and some of these might not work. I already had problems with Bug Tracking template, and chances are some other templates might not work correctly at this time…
  • 7) Do you use any non-English language packs?
    • Why am I asking this question? Well Microsoft didn’t release all the language packs for SharePoint 2010 at this time (e.g. Croatian language pack is still not available, and probably a number of “smaller language” packs are yet to be released). Make sure you have all the language packs you need.
  • 8 )  Are you using SQL Server or Windows Internal Database as backend?
    • Why am I asking this question? SharePoint 2010 now ships with SQL Express 2008(?) as default database (embedded) backend. SQL 2008 Express has 4GB per database limit, SQL Express 2008 R2 has 10GB per database limit while Windows Internal database (shipped as embedded with SharePoint 2007) didn’t have this limit. Your customer might have e.g. 100GB of data in a Windows internal database and you will not be able to upgrade database this big to SQL 2008/2010 Express.
  • 9) Can we use SQL Server?
    • Why am I asking this question? I always prefer to install on top of full-blown SQL (Check previous question too). Express is nice but some management tools like Maintenance plans, backup scheduling and some other stuff are only available in full SQL so always install on top of SQL if possible. If you plan to use SQL Server 2005 or SQL Server 2008 (not R1) make sure it is fully patched before installing.
  • 10) Do you have SharePoint licenses?
    • Why am I asking this question? You need to double check this! They might say they have but then they cannot find the proper key. Make sure they have the key ready before you start installing… You should also always use their image, not the one available on the Microsoft download site. Some Microsoft keys like VLK (Volume Licensing Keys) for some products cannot be activated on top of incompatible images. Always use keys provided by your customer and their installation images!
I hope this will help you run your upgrade engagement. For full list of SharePoint 2010 upgrade resources check this post by Joel.

All SharePoint site template are not supports Multilingual UI (MUI)!

While demonstrating new and cool SharePoint 2010 features to a customer, I wanted to show how easy it is to switch languages on SharePoint 2010 sites, but I was surprised by the following error message:
Figure 1. - This site is based on a site template that does not support alternate languages.
So it seems there are OOTB templates which do not support alternate languages (Supports Multilingual UI). I did some PowerShell magic and here is the list of SharePoint site templates and an indicator that shows if template supports Multilingual UI or not.
Name Title Supports Multilingual UI
GLOBAL#0 Global template
STS#0 Team Site
STS#1 Blank Site
STS#2 Document Workspace
MPS#0 Basic Meeting Workspace
MPS#1 Blank Meeting Workspace
MPS#2 Decision Meeting Workspace
MPS#3 Social Meeting Workspace
MPS#4 Multipage Meeting Workspace
CENTRALADMIN#0 Central Admin Site
WIKI#0 Wiki Site
BLOG#0 Blog
SGS#0 Group Work Site
TENANTADMIN#0 Tenant Admin Site
ACCSRV#0 Access Services Site
ACCSRV#1 Assets Web Database
ACCSRV#3 Charitable Contributions Web Database
ACCSRV#4 Contacts Web Database
ACCSRV#6 Issues Web Database
ACCSRV#5 Projects Web Database
BDR#0 Document Center
OFFILE#0 (obsolete) Records Center
OFFILE#1 Records Center
OSRV#0 Shared Services Administration Site
PowerPointBroadcast#0 PowerPoint Broadcast Site
PPSMASite#0 PerformancePoint
BICenterSite#0 Business Intelligence Center
PWA#0 Project Web App Site
PWS#0 Microsoft Project Site
SPS#0 SharePoint Portal Server Site
SPSPERS#0 SharePoint Portal Server Personal Space
SPSMSITE#0 Personalization Site
SPSTOC#0 Contents area Template
SPSTOPIC#0 Topic area template
SPSNEWS#0 News Site
CMSPUBLISHING#0 Publishing Site
BLANKINTERNET#0 Publishing Site
BLANKINTERNET#1 Press Releases Site
BLANKINTERNET#2 Publishing Site with Workflow
SPSNHOME#0 News Site
SPSSITES#0 Site Directory
SPSCOMMU#0 Community area template
SPSPORTAL#0 Collaboration Portal
SRCHCEN#0 Enterprise Search Center
PROFILES#0 Profiles
ENTERWIKI#0 Enterprise Wiki
SRCHCENTERLITE#0 Basic Search Center
SRCHCENTERLITE#1 Basic Search Center
visprus#0 Visio Process Repository
SRCHCENTERLITE#1 Basic Search Center
visprus#0 Visio Process Repository
The list above shows all templates installed with English SharePoint 2010 Enterprise + FAST. In case you want to check your own templates, use the following PowerShell code:

if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
   Add-PSSnapin Microsoft.SharePoint.PowerShell;
#English only templates
Get-SPWebTemplate | Where {$_.LCID -eq 1033} | Select Name, Title, SupportsMultilingualUI
Write-Host "=========================="
#All templates
Get-SPWebTemplate | Select Name, Title, SupportsMultilingualUI

Ref. by