Monday, November 15, 2010

Enabling Skill Search in Lync 2010

Lync not only allows you to search for people across your organization by name, but also by skillset.  This is great if I am looking for someone who is an SCCM expert or a Business Analyst.  I don’t always know who I am looking for, but usually know what kind of person I am looking for. 

Skill based search integrates will SharePoint 2007 and 2010.  It is not enabled by default in Lync server.  First let’s look at what is required on the backend to make this work:

  • Requires SharePoint 2007 or later with maintained MySites
  • SharePoint search center URL is provisioned via in-band settings
  • SharePoint must be published to the Internet
  • Requires full version of SharePoint – Windows SharePoint Services are not sufficient
To enable skill based search, a Client Policy must be configured and applied that configures the Lync client to look at the correct SharePoint URLs.  Let’s look at the different parameters that are used to configure the Client Policy:
  • SPSearchInternalURL and SPSearchExternalURL – the URL that Lync will use when the user is logged on either inside or outside the network when conducting a keyword search
Note: the SPSearchInternalURL and SPSearchExternalURL will follow the following format: http://<server>/_vti_bin/search.asmx
  • SPSearchCenterInternalURL and SPSearchCenterExternalURL  – the URL that Lync will display at the bottom of the client that will open up the native people search webpage hosted on the SharePoint site. This can be used to view more detailed results.

Note: the SPSearchCenterInternalURL and SPSearchCenterExternalURL will follow the following format: http://<server>/SearchCenter/Pages/PeopleResults.aspx

To enable these URLs, a Client Policy needs to be configured and applied.  Since I am choosing to make this feature available to everyone, I am going to use the Lync Global Policy that applies to everyone. 

The following commands are run to enable the Skill based search URLs:

Set-CSClientPolicy –SPSearchInternalURL http://<server>/_vti_bin/search.asmx

Set-CSClientPolicy –SPSearchExternalURL http://<server>/_vti_bin/search.asmx

Lync SS - skill url - markup
The following commands are run to enable the Search Center URL that will be displayed at the bottom of the search results:

Set-CSClientPolicy –SPSearchCenterInternalURL http://<server>/SearchCenter/Pages/PeopleResults.aspx

Set-CSClientPolicy –SPSearchCenterExternalURL http://<server>/SearchCenter/Pages/PeopleResults.aspx

Lync SS - peopleresults url = markup
The next time the Lync client is restarted, it will receive the SharePoint URLs through in-band provisioning.  You can verify that your Lync client has received the URLs by holding the Ctrl key down, right-clicking on your Lync system tray icon and selecting Configuration Information:

Lync SS - config info select
The SharePoint URLs are shown in the Configuration Information table:

Lync SS - Config Info - markup
Now back to the Lync Client.  In the search blank, we can enter in keywords to skills that we want to search across and select the “Skill” option:

Lync SS - client search - mark2
Notice the “View results in SharePoint…” link at the bottom of the search results.  Clicking this will take you to the native SharePoint People Search Center for a more detailed view of the results:

Lync SS - SearchCenter = mark
The new Skill Search integration between SharePoint and Lync is a powerful addition to the feature set.  As always, comments welcome.

UPDATE (2/22/2011) - Gus Fraser posted about a publishing the SharePoint URLs through TMG.  Be sure to check it out if this matches your scenario!

13 comments:

  1. Is it possible to do a skill search across federated users ?

    ReplyDelete
  2. I too feel that its really useful if i can search for skillset. Quite busy these days but surely implement it whenever i get time.I feel that it could be easily achievable and most usefull thing in organizations

    ReplyDelete
  3. What's wrong if Lync Client says "Sharepoint people search failed. Please try again later."?
    I tried the URLS I used in the CSpolicy in IE and pages come up, which leads me to believe the URLS I use are correct?

    ReplyDelete
  4. I had lots of trouble getting skill search to work in my environment. Continually getting the generic "Sharepoint people search failed. Please try again later." error message.

    I finally switched from pointing Lync at a SharePoint web application configured to use SSL, claims based authentication and Kerberos to another one which is not running SSL and uses classic mode / NTLM instead. Having done that it all started working straight away.

    Not ideal, but it works!

    ReplyDelete
  5. Thanks for writing this. It helped me get Skill Search working in my Lync 2010 / SharePoint 2010 environment.

    ReplyDelete
  6. than for writing all of this step, but I can't log in without joining the domain. All of my client in my LAN all use wireless when we try to join domain it is impossible to log in as the domain user. how can I do need. getting help!

    ReplyDelete
  7. It seems like skill search could be built into AD and not require SP. Skill search is really a good feature in large organizations as the author said often we know what we need we just don't know who we need.

    ReplyDelete
  8. Warning for foreign SP installs, in Central Admin, you shoud create a copy of the local people scope and name it in english "People"...

    ReplyDelete
  9. Replies
    1. Re-run the above commands but substitute $null for the SP URLs.

      Delete
    2. correct me, "Set-CSClientPolicy –SPSearchInternalURL $null" ?
      I will remove it, because always prompt password for access this SP link.

      Delete