Creating a My Projects View

With the expansion of Project Server 2010 to include enhanced capabilities in browser-based project creation, I have found many organizations hard pressed to manage the sheer numbers of projects that now appear in the Project Center view.

This post documents a quick and easy view that may be created within the Project Center view to filter projects on only those projects where the user is the owner, essentially creating a “My Projects” view.

This technique is based on two assumptions:

  1. Your organization, like many organizations, allows project managers to see all projects read-only – or at least all projects within specific parameters.
  2. Your organization is using a more or less default security model (whatever that means).  Let’s say that your security model isn’t too crazy and hopefully is compatible with this configuration.

Create the View

Navigate to the Manage View option within Server Settings.

image

Make a copy of the Project Center Summary View.  Note that I like to prefix any custom view with a “*” and the company name.  This allows me to easily identify the more commonly used views.

image

Take the view out of every category but the My Projects category.

image

Confirm Security Settings

For the next step, we’re going to review the My Projects security settings as applied to the Project Manager group.  Within Server Settings, navigate to the option to Manage Categories.

Click on the My Projects category. 

image

Note the default settings for the category.

image

Uncheck two of the boxes so the settings look like this.

image

Note that this may have some unintended consequences as the Team Members may be using that category to view projects to which they have been assigned.  If you believe that changing this security model may have a significant impact on your organization, simply copy the My Projects category in the beginning and then follow the same instructions.

The end result should be a filtered list of personal projects within the Project Center view.

Creating a My Projects View

Critical Path Offering Free SharePoint Webinars

If you’ve been following this blog of late, you may be interested in this series of free webinars offered by Critical Path Training, one of the most respected SharePoint training outfits in the world today…

http://www.criticalpathtraining.com/Schedule/Webcasts/Pages/default.aspx

Relevant webinars that I spotted:

  1. Using InfoPath and SharePoint Designer 2010 to Manage List Forms (4/14)
  2. Customizing the Appearance of External Lists (5/12)
  3. Create Powerful Pages Without Code (6/16)
  4. Examine Business Information in SharePoint (6/23)
Critical Path Offering Free SharePoint Webinars

Creating a Centralized Document Repository with External Content Types

The last couple posts I’ve written have focused on using External Content Types (ECT), a feature delivered within SharePoint 2010 as part of the Business Connectivity Service.  This post continues that discussion with an example of creating a shared document repository across multiple projects within Project Server.

I discussed a different type of implementation of similar functionality in a previous post.  in that example, I used an attachment-enabled list to allow users to upload documents via the Project Detail Pages (PDP).  From a user perspective, this would involve navigating to each individual project within the Project Center, navigating to the correct PDP, and then uploading the document.  Similarly, to review the documents, you would have to navigate to each project.

This post is slightly different.  Suppose you needed to perform a batch upload – you had a couple documents for each project that you wanted to upload in a single interface.  ….or suppose that you needed to see all of these documents in a single library, despite the fact that they may be attached to different projects.

image

My guess as to the most typical usage model for this kind of implementation would be where the PMO performs an administrative function and batch uploads specific documents.  Those documents are then available for consumption by the various project team members from the PDP interface.

Create the ECT

Follow the instructions in this post to create the ECT.

Make sure to add a filter to the Read List operation as documented in this post.

Create the Document Library

From PWA, select the View All Site Content option under the Site Actions menu.

image

Create a document library.

image

Navigate to the Library Settings.

image

Within the Library Settings, choose the option to Create Column.

image

Configure the new field as depicted in the following illustration.  This will allow users to select the project name and tag the document with the project unique identifier.

image

Test the document library.  Navigate to the main document library and add a document.  Confirm that the document metadata includes the option to enter the project name.

image

Review the uploaded document to confirm that the ProjUID field is populated properly.

image

You now have a centralized document repository with project level metadata in the PWA site.

Adding the Documents to a Project Detail Page

Adding a filtered view of the document library to a PDP is now quite easy.  Create a new PDP and add two webparts: the query string filter webpart and the newly created document library.

image

Modify the query string webpart to pull the ProjUID parameter from the PDP URL.

image

Now connect the webparts so the query string filter webpart filters the documents in the library by the ProjUID field.

image

Add the PDP to the correct Enterprise Project Type, and you now have the filtered data surfaced within a PDP.

image

Creating a Centralized Document Repository with External Content Types

Project Server BI at SharePoint Saturday Houston

In Houston on May 7?  Come on out to SharePoint Saturday – probably one of the best SharePoint Saturdays in the nation if last year’s event was anything to judge it by. 

I’ll be dusting off my Project Server BI spiel – now with at least 10% more content.  If that’s not enough to draw you out, I believe it comes with a free lunch.

http://www.sharepointsaturday.org/houston/default.aspx

SPSHOU 2011 will be on 5.7.11

Project Server BI at SharePoint Saturday Houston

Taking Timephased Snapshots of Project Server Data

Ask Project Server implementers what the “killer app” for Project Server would be, and most would tell you it would be adding the ability to take timephased snapshots of project data.  Think of it….each week, your organization takes a snapshot of key project metrics, and adds those to a database, which may then be used as the backend for a reporting function.

image

I’ve long been an advocate of keeping an Excel spreadsheet in parallel with my project schedule.  Then, on each status update cycle, I add the key metrics to my spreadsheet.  It’s not that difficult, and requires a custom view or two within Project to facilitate the process,  This allows me to generate ad hoc reports as needed.  The challenge however is that the information is locked in an Excel spreadsheet and not easily accessible to the organization.

The enterprise-wide solution for accomplishing this is typically to implement some mechanism within the SQL database to take a snapshot of each project on a specific timed interval.  That requires some SQL wizardry to keep running, but is not overly complex.

One possible objection I might have to this approach however is that it assumes the project manager has updated the project schedule and published it prior to the deadline.  If the project manager misses the Friday deadline, and comes in on Saturday to update the project, that data does not make it into the snapshot.  I want a snapshot mechanism that is triggered by my own action.

My other concern would be that as a project manager, I often take that snapshot using a manual process, recognize potential discrepancies, go back into the schedule to update it, and then redo the snapshot.  So I want a mechanism where I can preview the results, and then override them as required.  SQL doesn’t quite provide that.

So what to do?  Well, as I was playing with External Content Types (ECT) for a totally different purpose, I realized that they may also be used to develop timephased snapshots.  Here’s how to do so:

Create the ECT

Follow the instructions I laid out in this post to create the ECT.  The main difference is that when it comes to the Read List operation, you need to add a wildcard filter on the ProjectName field.  Follow that post until you get to the section with text marked <<bookmark>> and insert the following instructions.

When creating the Read List operation, the first screen will ask for the Filter Configuration.  Select the ProjectName field, and add the wildcard operation as depicted below.

image

Click OK, finish configuring the Read List operation and click Save to deploy the updated ECT back to SharePoint.

Create the Custom List

We’ll now create a custom list to capture the project snapshots.  Navigate back to the PWA site and select the option to View All Site Content under the Site Actions menu.

image

Create a custom list.  I’ll call this list the Project Data Snapshot.

image

Once the list has been created, we need to configure the columns for the snapshot data.  Click on the List Settings under the List tab.

image

Select the option to create a new column.

image

In the screenshot below, I show how I configured the new column of the External Data type.  Note that I can select any of the fields from the ECT to include in the list.

image

Next, configure the Title field so it defaults to Project Snapshot.  Click on the Title column within the List Settings and set the default value to “Project Snapshot.”  You could probably make it calculate today’s date, or even use InfoPath to add a complicated function to determine the title.  Simple text will suffice for this example.

image

Let’s test to see if the list works.  Navigate back to the list and select the option to Add a New Item.

image

Type the project name into the Project Data field.  Click the first icon to resolve the name.  Alternately, click the second icon and search for the project name in the pick list that is displayed.  Click Save.

image

Confirm that the correct data is populated within the list.

image

Configure List Security

As discussed above, as a project manager, I would like to have the option of taking a snapshot, reviewing it, and then making edits to the project schedule before revising the snapshot.  As an administrator, I also want to make sure that each item is timestamped and cannot be edited after creation.  How to resolve these concerns?  Let’s set security on the list so users may create and delete, but not edit.  In essence, we lock down each line of data, but allow the PM to potentially replace one with a more recent snapshot.

As an administrator, I can create alerts on each of these activities to notify me of potential issues or users in need of supplemental training.

Go back into List Settings.  Click on the Permissions option.

image

Select the option to Stop Inheriting Permissions from the Site.

image

…now go back to Project Web App.  Select Site Settings under the Site Actions menu.

image

Within the Site Settings, select the option to set Site Permissions.

image

Click on the permission levels option.

image

Select the option to create a new permission level.

image

Give the permission set Add, Delete and View permissions, but not Edit.

image

Go back to the List permissions under List Settings and add the users to the list with the new permission set.  Actually, from a best practices standpoint, add the users to a security group, and then add the group to the list with the appropriate permissions.

image

….you now have a list for taking timephased snapshots of project data.  Each snapshot is time stamped, tagged with the project unique ID field and is 100% controllable by the project manager.

Taking Timephased Snapshots of Project Server Data