Control the list of Reports by Department in Project Server 2010 – Part 1

Scenario

You are using Project Server 2010 across multiple departments, and now have a long list of Reports in your Business Intelligence Center (as shown below). You would like to control the view of these reports for users, and ideally by the department the user belongs to.

clip_image002

In this scenario, you have few options.

Option 1

Create a folder or library for each department and place the department specific reports in those libraries, and manage permissions at the library or folder level, as shown below.

clip_image004

However, if there were any global reports, then you would need to create a separate folder or a library and manage them separately.

This approach is not bad, but could be some maintenance work to make sure all libraries are configured properly; access is controlled properly and so on.

So, what I want to blog about in this article is a way to control the list of reports that are shown to a user, controlled by the user’s department.

Here is summary of the approach:

· Use an External Content Types to surface the Resources and their Departments in a SharePoint list.

· Tag all the reports with one or more departments

· Use the Current user filter to filter based on both of the above.

Step 1: Create an External Content Type to pull the Resource Data

A step-by-step approach on how to create an external Content type from a SQL Server Table has been detailed in this article: http://msdn.microsoft.com/en-us/library/ee557243(v=office.14).aspx.

The only differences in our case would be that

1) you would point it to the Project Server Reporting Database
2) you could use the Secure Store Authentication, that you probably setup for the Report Viewers group to authenticate this as well.

So the settings would look something like this:

clip_image006

Make sure you have the appropriate permissions, on both PWA and SQL Server.

After Setting up the data connection, since we require the Resource Data, we will use the MSP_EPMRESOURCE_USERVIEW.

Setup the Read List and Read Item operations on this database. (please refer to the above mentioned article on how to do it). You do not want the users to have authority to update the Reporting database itself, so you would not set up the remaining operations.

clip_image008

While setting up the operations, the only fields we need are Resource Name, Resource NT Account and Resource Department. Resource UID will serve as the identifier, so you will need to include that as well.

clip_image010

Once you are done setting both the operations, you should see this in the SharePoint Designer View.

clip_image012

Go ahead and save the External Content Type.

Now the next step is to configure the permissions on the External Content Type. Or else users will receive an error.

To configure the security,

· Navigate to Central Administration >> Manage Service Applications, and select the Business Data Connectivity Services application

clip_image014

You will see the ECT that you just created. Select the item, and drop down the context menu by clicking on the small black arrow beside it, and select “Set Permissions”

clip_image016

Now select the appropriate AD group and related permissions. This is how I set up mine.

clip_image018

Step 2: Set up an External List

Now navigate back to SharePoint Designer, and select External List as shown below to create the external list.

clip_image020

Select the External Content Type you just created, and select OK. Provide a name and description on the next pop-up.

clip_image022

This creates the External List on the BI Center site.

clip_image024

And it should bring up something like this

clip_image026

In my next post, we will make use of this external list and add all necessary filters.