All posts in Project Server

Project Server and Search – Part 5 User Experience

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:

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:

  1. Create a Result Type for the Project Tasks, a new one for Risks, etc.
  2. 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.

Summary

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.

 

Project Server and Search – Part 4 Business Connectivity Services

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:

Business Connectivity Services

The next and last option to get connected to Project Server data is using “Business Connectivity Services” (BCS).

BCS enables us to connect to 3rd party systems with any of these methods:

  • Direct database access
  • Web Service
  • oData Service

Although, from Search perspective, only reading the data is important, BCS can provide us complete interaction with the proper connection definitions and configuration, we can even write back to the data source (for example, modifying an entry). Of course, creating read-only connection is possible, and for Search it’s enough.

Obviously, this method works on-premises only, as we have to know the connection info to the databases. With this method, we can get connected directly to the Project Server report databases.

Steps of the configuration are:

  1. Create a Business Data Connectivity Service Application in SharePoint 2013.
  2. Create an External Content Type, pointing to the Project Server reporting DBs with SharePoint Designer.
    As a “side effect”, you’ll be able to create “External Lists” in SharePoint, in order to integrate your Project Server tasks, risks, etcetera into the SharePoint User Experience:
  3. Next, you have to create a content source for the External Content Type, defined above.
    Once the content source is done, you have to create a Crawl Rule to define the Crawler Account (if the Default Content Access Account doesn’t have full-read access on the Project Server database).
  4. Finally, do a Full Crawl.
  5. Check the results on the “Search” result set (they might be unattractive for now, but they should be there!):

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:””;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,”sans-serif”;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}

If you can see the Project Server tasks in the result set, then you are ready with the initial configuration.

In the last part of this series, I’ll demonstrate some tricks for UI enhancements. Stay tuned:

  • Part 5 (Dec 13, 2013) – User Experience

 

Project Server and Search – Part 3 Federation

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:

Federating Project Server Search

Federation as a feature is not new. It is available since MOSS 2007 SP2.

With this feature, we can use any OpenSearch 1.0/1.1 remote index to get results from. For example, we can use Project Server’s own index and can provide the items remotely. And if one searches for [Agnes], the result can contain my tasks directly from the Project Server’s index:

In SharePoint 2013, we can get this functionality by creating a “Result Source”. If our Project Server is on-premise, the configuration of Result Sources is kind of obvious.

If we have Project Server online (in Office 365), configuration of the Result Source need some more attention as we have to configure the two-way-trust between our on-premise SharePoint farm and our Project Server Online with SSO directory synchronization, etc.

But be aware, besides from being a very good option in hybrid environments, ”Federation” also has some limitations. For example, federated results cannot be aggregated with the other results. On the screenshot below, the main result set and “MS Project Tasks for ‘Agnes’” cannot be merged together. Also, if you have more federated locations defined, each one will be displayed separately.

In the next parts of this series, I’ll introduce one more way to connect Project Server Data to Enterprise Search in SharePoint 2013 (BCS) as well as some tricks for UI enhancements. Stay tuned:

  • Part 4 (Dec 12, 2013) – Business Connectivity Services
  • Part 5 (Dec 13, 2013) – User Experience

 

Project Server and Search – Part 2 Direct Crawl

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:

Direct Crawl

If our Project Server is on-premises and in the same domain as our SharePoint farm (or if we have two-way trust between the two domains), one of the easiest way might be to crawl the Project portal content as a remote SharePoint site.

For this, the only thing we have to do is to create a content source with our Project Server portal’s URL as the “Start Address”:

We also have to configure the content access account, by creating a Crawl Rule for this site:

With this option, we’ll have the Project Server items integrated into our SharePoint Search result set, with the full functionality (refiners, hover panel, etc.):

In the next parts of this series, I’ll overview some other ways to connect Project Server Data to Enterprise Search in SharePoint 2013 as well as some tricks for UI enhancements. Stay tuned:

  • Part 3 (Dec 11, 2013) – Federating Project Server Search
  • Part 4 (Dec 12, 2013) – Business Connectivity Services
  • Part 5 (Dec 13, 2013) – User Experience

 

Project Server and Search – Part 1

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

The Story

Last year, my Search Troubleshooting session was rated as the #1 and Nenad Trajkovski, Project MVP got the 2nd place. That was the time when we decided to make a session together this year – this is how the idea of our “Ms Search and Mr Project” session was born. The idea was to show how we can get the basic Project Server concepts (tasks, risks, etc.) and make available them to search in by SharePoint.

This kind of integration is very important, not with Project Server only, but with any kind of back-end systems. We have a lot of different systems, each storing different information, and your enterprise needs all of them. You have a lot of content (maybe you don’t even know some of them!) at disparate locations, structured and unstructured data as well. For example, you have documents, emails, CRM entries, project tasks and risks, database entries, etc. With search-based integration, you can create dashboards like “Customer Management” or “Project Dashboard”, but you also can view your open task aggregated from SharePoint and Project Server.

[slideshare id=28815782&w=427&h=356&fb=0&mw=0&mh=0&style=border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px;&sc=no]

The Background

In Project Server, we can create projects with resources, tasks, risks, etc. Everything is stored in databases and “Project Server” also has its own portal built on (what a surprise!), SharePoint technologies. The portal can be on-premises or in Office365.

The Project Server portal has its own Search solution that is a kind of “basic” Search. This can be customized on the UI (see the last part of this series), but we don’t have real “enterprise” search features – for example, we cannot crawl any other content sources therefore we cannot integrate our Project Server data into our enterprise data.

In the next parts of this series, I’ll overview how Project Server Data can be connected to the Enterprise Search in SharePoint 2013. Stay tuned:

  • Part 2 (Dec 10, 2013) – Direct Crawl
  • Part 3 (Dec 11, 2013) – Federating Project Server Search
  • Part 4 (Dec 12, 2013) – Business Connectivity Services
  • Part 5 (Dec 13, 2013) – User Experience