This post describes a trick we came up with a couple of months ago that works great, and really should be considered standard for any joint MOPS/MOSS (or WSS) deployment.

The advantages of this approach are:

1) Centrally controlled Risk and Issue metadata, to support the changing needs of an organization.

2) The ability to hide columns as needed. For instance, many organizations opt not to use the default Risk Categories field – or they may opt to create a centralized field with drop down values that can be selected at the site collection level.

Use Cases

The organization is still determining its risk management methodology at the time of the initial MOPS implementation. There is a strong likelihood that the specific metadata collected for each risk will change as the organization determines its revised standards. The administrator should then deploy risks as a content type, and allow central editing of the risk metadata.

The organization determines that it will collect different metadata for schedule or cost risks. The farm admin can create separate content types for each risk type. On the risk list, the user can choose to create either Schedule or Cost risks.

Content Types

Content types allow the farm administrator to define templates and metadata for a specific bit of information at the site collection level. A "child" of the content type can be assigned to workspace lists or libraries. The child inherits any changes from the parent content type. This allows the farm administrator to make a change to the parent content type, and then have that change propagate to all the lists using the child.

Content Types and MOPS

The Risks List provisioned by the MOPS feature contains a number of list columns that do not have site or site collection level counterparts. The PWA risks and issues reporting, MOPS publishing and the OLAP reports are all dependent on each risk having these specific list columns. To make things more difficult, there are a number of site collection columns with the same name as the list columns.

For instance, at the site collection, you can add the "assigned to" column to a parent and push it out to the sites. On the project workspace site, with the Project Server feature activated, another list column exists, also called "assigned to." The PWA main site refers to the list column, and not the site collection level column.

Implementation Steps

Create a new content type in the site collection.

Choose the appropriate settings. Generally, it is recommended to use an Item parent content type, and to put the new content type in a specific group, such as MOPS or PMO.

Confirm that the content type has been created.

Create a new project workspace based on the most up to date project workspace template in the farm. Do not use the publish function from Microsoft Project Professional to create the workspace. Do not use an existing workspace that is already tied to a project. It is critical that this workspace has not been linked to a Microsoft Project plan.

Navigate to the risks list in the newly created workspaces. Go to the settings page.

Under advanced settings, enable content type management.

Review the content types that have been enabled on the list. Project Workspace Risk should now appear.

Add your new site content type.

Select your content type, and add the list columns required to make PWA recognize the risk.

 

Add the following columns to your content type. (Note that this is pretty much the entire list of available list columns.  Just grab ‘em all and add ‘em)

Table 1: Default Risk Fields

Name

Type

Status

Title

Single line of text

Required

Owner

Person or Group

Optional

Assigned To

Person or Group

Optional

Status

Choice

Optional

Category

Choice

Optional

Due Date

Date and Time

Optional

Probability

Number

Optional

Impact

Number

Optional

Exposure

Calculated

Optional

Cost

Currency

Optional

Cost Exposure

Calculated

Optional

Description

Multiple lines of text

Optional

Mitigation Plan

Multiple lines of text

Optional

Contingency Plan

Multiple lines of text

Optional

Trigger Description

Multiple lines of text

Optional

Trigger

Choice

Optional

Links

Project Link

Optional

Set the default content type to the new one that you created.

And you are now complete. The risk list in the workspace defaults to the new content type that you have created. Any changes to the parent will inherit down to the child.

Save the workspace as a template. Save it from the template gallery to a shared directory, then run the STSASM addtemplate command to register the new template to Project Server. Make sure to set the template as the default workspace template in MOPS Workspace Provisioning Settings.

Modifying the Parent Content Type

To add or modify a field in the risk list, all you have to do is change the site collection level content type.

Caveats

  • List views still need to be updated manually. The views will not be updated when additional metadata is added to the content type.  This means that the administrator will have to go back to the legacy sites and add the views.

 

Migration Concerns

  • The content type resides in the content database. It will be moved with the site collection in the event of a migration scenario.
  • If you are running multiple environments, such as DEV, QA, and PROD, you may need to develop a mechanism to keep your content types in synch on each environment.  Typically this would involved deploying the content types as a custom feature, which will require some custom coding.

 

Comments welcome…..

This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is sample text. This is