Recently, I had the honor to speak at the SharePoint and Project Conference Adriatics in Zagreb, Croatia. This week, I’ll demonstrate one of my topics in a 5-part series: Connecting Project Server Data to SharePoint Search. The outline will be:
- Part 1 – The Story, The Background and Search in Project Server
- Part 2 – Direct Crawl
- Part 3 – Federating Project Server Search
- Part 4 – Business Connectivity Services
- Part 5 – User Experience
User Experience is very important in Search. As you can see above, despite having the data indexed, it is not sure it can be helpful for the end users without some configuration and “massage”.
First of all, the properties of your Project items.As you can see on the screenshot above, the “Title” is very unappealing by default. There might be some other properties you’re interested in for example Assigned To or Due Date. For configuring these, we have to modify the “Search Schema” in SharePoint 2013. For example, for title, we have to add a new mapping to “TaskName”, as this is the name of this field in the Project DB.
After modifying the “Search Schema”, we need one more Full Crawl to include the modified values in the index. Once the Full Crawl is done, the UI will be a bit more user friendly showing the “Task Name” values in the result set:
You might be also interested in “promoting” Project Server tasks if someone is searching for tasks in SharePoint. This can be very useful if you use Project Server very heavily and you do real and heavy task management there. With a Query Rule, the result can be something like this:
Of course, with the same Search-Driven logic, you can even create a “My Tasks” dashboard where you aggregate the SharePoint tasks and the Project Server Tasks into the same UI providing a good overview for the users about their current tasks, what’s in late, what’s upcoming, etc.
The next thing, once we have the proper metadata ready is the Hover Panel that is displayed when the user hovers the mouse over a search result. On this panel, we can display more details. For example: “Duration”, “Percentage Completed”, “Assigned To”, “Due Date”,” Description” etcetera. These can be added by the following steps:
- Create a Result Type for the Project Tasks, a new one for Risks, etc.
- Create custom Display Template for these Result Types and add the proper metadata (that has been created and prepared in the steps previously).
Finally, let me show you one more integration option. With the features described above, we can also integrate “People Search” results with Project Server items (of course, other types of data joins are also available depending on your business environment. For example, in “customer search” with the related project status information, etc.) On the picture below, you can see my user in “People Search” with her open Project Server tasks integrated to the Hover Panel. For this, I modified the People Result Type’s Hover Panel Display Template.
As you could see in this series, there are several options to integrate Project Server data into SharePoint Server 2013 Search. In this article, I made an overview of the following options:
- Crawling Project Server portal
- Federating Project Server portal search
- Using Business Connectivity Services to get data directly from the Project Server database.
These methods can be useful for accessing other systems and databases as well.
Final Note: If you hit the limitations of these or need more customization, there’s one more, advanced option: a Custom Search Connector can be developed, on the top of the Search Connector Framework of SharePoint 2013.