Hybrid Search: Search Project Server 2013 Data using SharePoint 2013 Enterprise Search and Business Connectivity Services (BCS)

This article is for you in case you are a “Project Server and SharePoint 2013 Enthusiast” !!!

I have been working with SharePoint for some years, but this is the first time I decided to blog about something which talks about the integration points on SharePoint 2013 and Project Server 2013. 

The driving force behind choosing this particular topic is the two-fold:

Firstly, there is not enough information available as the product is pretty new.

Secondly, due to the immense changes those had happened to the DB Schema for Project Server 2013.

A code sample already exists in MSDN code gallery (https://code.msdn.microsoft.com/PS2010Search) which enables you to Search Project Server 2010 data using SharePoint BCS and FAST Search.

You can also refer to this blog by one of my colleague Christophe Fiessinger for more information.

Ok..coming back to the 2013 world...

With SharePoint 2013 and Project Server 2013 hybrid search configuration, I’ve configured the following service applications on the SharePoint 2013 side:

  1. SharePoint 2013 Search Service Application
  2. SharePoint 2013 Business Connectivity Service Application
  3. SharePoint 2013 Secure Store Service Application

I’ve also made some changes to the authentication mechanism for the BCS model. Instead of using the User Identity for accessing LOB Data, the new BCS models now will be configured to use Application ID defined in Secure Store service application and the user’s identity will be mapped with all the domain users.

For more information, download the step-by-step document along with the BCS Models and the PowerShell scripts.

You can download all the stuff from here or alternatively from my Sky Drive folder including the PowerShell scripts*

Disclaimer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By using the sample code you agree to be bound by the license terms below.

Any sample code is provided for the purpose of illustration only and is not intended to be used in a production environment. We grant you a nonexclusive, royalty-free right to use and modify the sample code and to reproduce and distribute the object code form of the sample code, provided that you agree: (i) to not use Microsoft's name, logo, or trademarks to market your software product in which the sample code is embedded; (ii) to include a valid copyright notice on your software product in which the sample code is embedded; (iii) to provide on behalf of and for the benefit of your subcontractors a disclaimer of warranties, exclusion of liability for indirect and consequential damages and a reasonable limitation of liability; and (iv) to indemnify, hold harmless, and defend Microsoft, its affiliates and suppliers from and against any third party claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of the sample code.

 

Below are some sample queries from this solution those you can test in your environment:

   

Search a particular project:

image

 

Search all the tasks those are Milestone tasks:

image

 

Search all the Active Resources:

image