Monthly Archives: April 2011

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

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7&displayLang=en

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:

AllowHtcExtn.ps1

crmlistcomponent.wsp

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 http://blogs.msdn.com/b/sharepointdev/archive/2011/02/08/error-the-sandboxed-code-execution-request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request.aspx)

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 crl.microsoft.com. You can redirect these attempts by adding the following line to the end of the hosts file located at C:\Windows\System32\drivers\etc:

127.0.0.1 crl.microsoft.com

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 <Web Application URL>

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.

Back to PointBeyond web site

Best Practices Conference: Migrating Corporate Intranets to SharePoint 2010 – Session Slides

What a superb event the SharePoint Best Practices Conference was this year. It was a privilege to be involved, presenting my session on lessons learned migrating corporated intranets to SharePoint 2010. Here are the slides from my session.

Enjoy!

Ian

Back to PointBeyond web site

Powershell Script to set up Sharepoint 2010 Search Crawl Schedules

 Have you ever wondered how your SharePoint site search finds all the new content that you only added 20 minutes ago? The script below sets up the incremental and full crawl schedules. While you can do this through the UI,we find  this script quicker and it can also be used with a scripted install using AutoSPInstaller.

$ssaName =”Enterprise Search Service Application”

$context=[Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($ssaName)

$incremental=New-Object Microsoft.Office.Server.Search.Administration.DailySchedule($context)

$incremental.BeginDay=”25″

$incremental.BeginMonth=”1″

$incremental.BeginYear=”2010″

$incremental.StartHour=”2″

$incremental.StartMinute=”30″

$incremental.DaysInterval=”1″

$incremental.RepeatInterval=”15″

$incremental.RepeatDuration=”1440″

$fullCrawl=New-Object Microsoft.Office.Server.Search.Administration.DailySchedule($context)

$fullCrawl.BeginDay=”25″

$fullCrawl.BeginMonth=”1″

$fullCrawl.BeginYear=”2010″

$fullCrawl.StartHour=”2″

$fullCrawl.StartMinute=”30″

$fullCrawl.DaysInterval=”1″

$contentSource=Get-SPEnterpriseSearchCrawlContentSource -SearchApplication $ssaName -Identity “Local SharePoint Sites”

$contentSource.IncrementalCrawlSchedule=$incremental

$contentSource.FullCrawlSchedule=$fullCrawl

$contentSource.Update()

Back to PointBeyond web site

PointBeyond Team Day

This was no April fool! On the 1st of April, the PointBeyond team had a team day with a session on strategy overview, technical topics and awards presentations in the morning and clay pigeon shooting in the New Forest in the afternoon.

In the morning, Ian summarised for the team the strategic vision and the direction the company is taking.

Morning presentations

 

Three team members were awarded Amazon gift vouchers for passing exams.

Awards presentation

 

Awards presentation

 

We were also very pleased to welcome a new joiner who officially starts with us on Monday 4th April.

Luckily the weather held off so, earplugs and Barbour jackets at the ready, we finished off with a few rounds of clay pigeon shooting (which most of us seemed to enjoy!). We have to say boys seemed to comprehensively beat the girls, maybe that was because we were missing one of our female team members, but we are sure the girls will get their own back soon :)

Some of the PointBeyond team

Ian sorting out overdue debtors

Beware a loaded gun…

Back to PointBeyond web site