Centralizing Project Detail Page Information: Centralized Links List

In a previous post, I talked about how to generate a centralized list of project status updates using nothing more than a custom list, InfoPath, a Query String Filter Web Part, and duct tape.  For this post, I wanted to talk about a couple more use cases for the same approximate model….i.e. a centralized information repository shared by all projects across a Project Server 2010 implementation. 

The more Project Server 2010 deployments I perform, the more I realize that this model is essentially the one size fits all solution to a number of information management needs.


This post will talk about using the same implementation model to deploy a centralized link list and a centralized document library.  Why would you want to do this, you ask?  Good question.  My response: count how many of the following items may apply to your particular Project Server implementation.

  • Not all projects are associated with a project workspace, or the ratio of projects to workspaces is not 1:1.
  • Projects have approval documents which may need to get posted before the actual workspace is provisioned.  Perhaps the workflow requires a workspace only after the approval documents have been scanned and loaded to the system.
  • Your project managers have SharePoint sites or external collaboration sites outside of the Project Server farm and would like to include links from Project Center to those sites.
  • You desire to surface a list or library within the PDP pages and therefore piggy back on the Project Center navigation interface by having users click on the project name and then the specific PDP page.

Creating a Centralized Link List

In this scenario, the organization does not maintain a single website for each project in Project Server.  Some projects may not have a site.  Some projects may be linked to sites that exist in other farms.  In an IT governance scenario, each project may represent a potential change for a specific application – where the application maps to a site, and each project maps to a document library on the application site.

The first step, as in the previous post, is to create a centralized list of links.  In the main PWA site, under Site Actions, select the option to View All Content.


Create a new Links List.  Select the More Options to opt the list out of the Quick Launch Bar.


Now click on the List Settings option.  We are now going to add a field to capture the Project Unique ID field (ProjUID).


Add the ProjUID field as a single line of text.


We now need to modify the input form for the list.  We will do that using the built-in InfoPath form editing functionality.


The default form should open.


Right click on the ProjUID row and select the option to delete it.  The field will still exist, but not show up in the form.


Add a button and configure it to trigger the Submit action.


In the Backstage View, publish the form back to the list.


Close InfoPath.  Navigate back to PWA.  Select Server Settings, and create a new Project Detail Page (PDP).


Once the page has been created, we will need to add three webparts to the page: a query string webpart, an InfoPath form viewer webpart, and the webpart for the custom list we created above.  The results should appear as below.


Now we configure the query string filter webpart and the InfoPath webpart.  Set the InfoPath webpart to display the customized form from the Master Links List.  Change the default Submit behavior to “Close the Form.”


Open the tool pane to configure the query string filter.  This filter will pull the ProjUID value from the URL of each PDP page when it is presented.  Enter “ProjUID” in the Query String Parameter Name field.


Click Apply.  Now, we need to connect the webparts.  The query string filter webpart will now perform two purposes: to populate the ProjUID field in the Master Links List, and to filter the displayed links at the bottom of the page based on the ProjUID field in the URL.


Configure the two connections.  The PDP should now appear as follows:


The PDP may now be used to track links to project sites.  When added to a project, here’s what it looks like…


..coming up next….deploying a centralized document library.

Centralizing Project Detail Page Information: Centralized Links List

13 thoughts on “Centralizing Project Detail Page Information: Centralized Links List

  1. Daniele says:

    Hi Andrew,
    i know is an old post but is the first time i try to use this solution, and i can find how to automatically insert the Project Name in a custom field of the Master Link List filtering a dataconnection added to the form taking data from the Project Reporting DB.

    I red all your post about Infopath, PdP and ECT but i can find the right way.

    I’d like that when a user insert a link, the system auto compile the Project Name so i can use that in the Master Link list for reportin or other..

    I try to add a dataconnection to the MasterLink form but i’m not able to find the right way to make the ProjUID (of the form) filter the data connection (PWA Reporting) and insert the Project Name in a relative field in the form.

    Can you kindly suggest me a solution?



    1. The easiest solution is just not to use the project name but the project UID as a field. Then, I only surface the list on the PDP – which filters by ProjUID using the Query String Filter and a reference to the URL.

      If you want the project name, you’ll have to build the data connection in InfoPath, then build a rule to query the data connection and return the project name when the ProjUID is entered.

      Why do you want the project name as a list field?

  2. Daniele says:

    Hi Andrew,

    i’m back to tell you that after trying again and with more attention to your blog posts, i found the solution. (I asked you the same in the post “Capturing the Project Narrative with Project Server 2010 – Weekly Status”… maybe sorry for “spam”).

    As explained in the other one post, i want the project name as a list field so i can go to the “Master list” and identify different entry for different project (avoiding to translate the ProjUID and avoiding to ask a user to insert the Project Name in the form).

    I was not able to find the right procedure to “build a rule to query the data connection and return the project name when the ProjUID is entered”!

    But finally:
    1) i create the custom list with the ProjectUID and a Project Name field (and “Last period” and “Next Period…”).
    2) I set the rule 1 in the datafield ProjectUID (custom list field) to “Query using data connection: MSP_EPMProject_UserView.
    3) The rule 2 in the datafield ProjectUID (customlist field) to “Set a field value” in the queryfield ProjectUID (custom field)
    4) The rule 3 in the datafield ProjectUID (customlist field) to “Set a field value” in the datafield Project Name (custom field) with this formula: @ProjectName[@ProjectUID = ProjUID]

    5) Using your explained webpart configuration, FINALLY when i open the PdP page in the Project i find automatically compiled the Project UID and the Project Name and when i submit the form all field are compiled.

    It was my first time with InfoPath at this level.

    Thank you very much for your help with all your posts that are greats.

    Daniele Palmitesta

    1. Mara Dooley says:

      Hi Daniele –

      I am a SharePoint/Project Server/InfoPath newbie trying to duplicate your query of the MSP_EPMProject_UserView data connection. Can you please reply with the specific steps you used to create the Data Connection in InfoPath that accesses the MSP_EPMProject_UserView data? My InfoPath form can read the data because my Windows account has read permission on the SQL database, but of course when I publish the form to the Project Server site the form throws an error when it tries to access the data connection.
      How do I make the connection work?
      Thanks for your help –

      1. Mara Dooley says:

        That post did clear some things up for me and I was able to get the InfoPath form and PDP working the way I wanted.

        But the page does not work for other user accounts. My Windows account has read access to the SQL reporting database, but my users do not have read access to the database. Do I need to give all users read access to the SQL database so the InfoPath data connection works for them? Or can I leverage Secure Store Service or PerformancePoint?

        I apologize for my ignorance about the security in SharePoint/Project Server. I’m trying to educate myself, but I have been unable to find any reference/training materials that explains clearly how this works. If you have any suggestions I would be most grateful.

      2. I’m pretty sure that the accounts would need access to the database. You could limit their access by only granting a view of a table or custom view, I suppose. As there are no training materials, you’re pretty much limited to blog posts and trial and error unfortunately.

  3. Alireza says:

    Hi Andrew,

    Thanks a lot for your great technical weblog, however I couldn’t load images of screenshots.

    I would be appreciated If you could guide me about my following concern:
    “Filling enterprise custom fields in MS Project Server 2010 via MS Info path form and managing it’s data”

    I need to fill data by form. saving results of some calculated fields in particular database for reusing.

    All the best

  4. bruno says:

    I Andrew, my customer have a Project server 2003 with a VBA button in their Project Professional that is used to capture and update Project Information. Things like budget, phase, project number, project sponsor, and many others. I can see they have this button. They also have the Website which list all projects . Now we are implemeting 2010 from scratch. They do not want to use the Button using VBA any longer. The main goal is: “How to allow project managers to edit “project information” quickly in Project Server 2010. I was thinking in use PDP with Project Details field. We have created all required information as custom fields (just like to 2003 version). Just trying to sort out now how to accomplish the milestone. Another key point is, this must be available for all projects. Can you comment ?

    1) Create a PDP for all projects with the required project information that they can update periodically.
    2) Have the Project list(centralized links list) of this article which will list all the projects in one screen

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s