Customization Best Practices for Project Management Central

The customization best practices have been updated to reflect changes in PM Central R2.0. Read this blog post for the updated customization best practices.

The PM Central team's adrenaline is still pumping on the heels of PM Central's release on SharePoint 2010. We're excited that PM Central leverages the great capabilities of out-of-the-box SharePoint 2010 and that it is compatible with Microsoft Project 2010. PM Central on SharePoint 2010 offers the same excellent features as PM Central on SharePoint 2007, including the ability to customize your portfolio and project sites to make managing your projects, tasks and resources as simple as possible.

With that in mind, we have updated our customization best practices to include the most current information, expanded explanations and screen shots so that you can customize PM Central to your organization's needs and start managing your projects as quickly as possible.

We are on a mission to make PM Central your go-to project management information system (PMIS). We welcome your feedback in the comments below.

Because the best practices cover a range of topics, the content is divided into the following sections:

Recommended Best Practices for PM Central Customization

In general, we recommend that you do the following:

  1. Always back up your existing sites before making modifications.
  2. Keep a detailed log of your changes.

The Building Blocks of the PM Central Site Templates

Before you customize PM Central, make sure you understand how the PM Central site templates work and how modifications can impact them.

The site templates consist of:

site template overview

Site Definitions

PM Central's site definition file is located under Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12TEMPLATE1033XML as webtemp.BambooProjectCentral.xml.

site definition file

The webtemp.BambooProjectCentral.xml contains IDs that are associated with the site template and configuration. We use these IDs as identifiers for future upgrades.

IDs associated with the site template and configuration

For more information about templates and site definitions, read this Microsoft MSDN article.

Master Page and Style Sheets (CSS)

The table below lists the current master pages and CSS files that are used for the portfolio and project sites. The SA12Top.master and the SA12.master files use the regular SharePoint theme. The SA12Top_Template.master and the SA12x.master files are for the custom template.

Site Type

Master Page

CSS

Top Site

SA12Top.master
SA12Top_Template.master

TopSite_TeamSite.css
TopSite_Template.css

Project Site

SA12.master
SA12x.master

ProjectSite_TeamSite.css
ProjectSite_Template.css

The custom master page SA12Top_Template.master is for the custom portfolio site. It references the TopSite_Template.css. This design presents the banner, the font and the color that you see when you browse to the portfolio site.

master page references the CSS file

This is what the browser displays with just the portfolio site's master page:

portfolio site with just the master page

ASPX Pages and SharePoint Navigators

Multiple pages make up the portfolio and project sites, such as My Summary. These pages are displayed as tabs via SharePoint Navigators and the Top Site Navigators list. The list lists the pages and the URLs in order. For example, Project Central would be the first tab, and the My Summary tab would be next. The ASPX pages contain Web Parts that are used as data sources or to display data.

the aspx pages

Bamboo Web Parts

The following is a list of the Web Parts included in PM Central and their function.

Lists

PM Central uses multiple lists to display data within the portfolio and project sites, including Tasks, Project Health, Issues, Risks and more. These lists—especially the Tasks list—contain custom columns. The code references the columns using internal names in order to perform processes and to aggregate and display data. For example, the Parent Task column's internal name is Owning Task ID. If this column is deleted, errors will occur.

What Happens During an Upgrade

For PM Central R1.8 and older versions, the following actions occur during an upgrade:

  • The old site templates are backed up and replaced with new site templates, which reference the new master page and CSS using the IDs.
  • New Web Parts and tabs are added using code.
  • The features are activated.

In PM Central R1.8 or older, you will lose some of your customizations after you upgrade. However, in the next major release, we will ensure that your customizations are retained after an upgrade.

Customizing the Master Page

To check which pages use the master page, open the site using Microsoft SharePoint Designer. Open the page you want to check. Make sure the page is in the code view to view the MasterPageFile properties.

master page properties

Then go to the _catalogsmasterpage folder and right-click on the master page to see what master page is used for the site. If the master page is used for the site, the Set as Default Master Page and Set as Custom Master Page options are grayed out.

check the master page

To customize the CSS for tags, we set a class or ID for those tags. Customize them using <style type="text/css"> </style> in the CSS file or by inline style.

Using Custom CSS

The CSS can be customized three ways:

1) By adding <style type="text/css"> </style> to <head runat="server"> </head>

customizing CSS

2) By inline style on the tags where you want to customize the CSS

customizing CSS

3) Or by including the CSS file in <head runat="server"> </head>

customizing CSS

Changing Images at the Portfolio or Project Sites

You can customize your portfolio or project sites by adding your own graphics.

First, rename your image to the PM Central image you want to replace, for example: logoSA12.png. Then navigate to Site Actions > View All Site Content. Under Picture Libraries, select Pics.

upload new images through the Pics folder

Upload your image to the Pics folder. Your new image should display automatically.

Changing the Style Sheet for the Portfolio or Project Sites

All CSS files are stored under _catalogsmasterpage.

To change the style sheet, navigate to Site Actions > Site Settings. Under Galleries, select Master Pages. Choose the CSS file that you want to modify and check it out. Modify the file using SharePoint Designer, then check it back in.

  • If the site was created by Bamboo PM Central Top-Level Site, choose TopSite_TeamSite.css.
  • If the site was created by Bamboo PM Central Top-Level Site – Custom Template, choose TopSite_Template.css.
  • If the site was created by Bamboo PM Project Site or Bamboo PM Project Site – NO SEED DATA, choose ProjectSite_TeamSite.css.
  • If the site was created by Bamboo PM Project Site – Custom Template or Bamboo PM Project Site – Custom Template – NO SEED DATA, choose ProjectSite_Template.css.

    master pages

What Customizations Are Possible?

Now that you have a better understanding of how PM Central's pages are created, you can figure out what customizations can be applied to PM Central R1.8 or older and what will happen to your customizations after an upgrade.

In general, you can modify your portfolio or project sites using the recommended guidelines on how to customize any SharePoint site. Most modifications using the standard browser interface are acceptable. However, in PM Central R1.8 or older, you will lose some of your customizations after you upgrade. In the next major release of PM Central, we will ensure that your customizations are retained after an upgrade.

The table below covers several customizations and whether or not you will lose the customizations after an upgrade.

 

Description

PM Central R1.8 or Older

After Upgrade

1

Add new Web Parts to the pages

Yes, it is OK.

No, it is not OK.

In R1.8 and older versions, after the upgrade you need to re-add the Web Part because during the upgrade, the application will back up your existing site and create a new site. Based on the site definition, the application references the new build's master page and ASPX page and has no knowledge of the Web Parts that you added.

2

Add additional columns and views to existing Lists

Add new Lists (e.g., project tasks list, status reports, custom list, etc.) and Document Libraries (Wiki, Collaboration, translation, Shared Documents folders, etc.)

 

Yes, it is OK.  

Yes, it is OK.

In R1.8 and older versions, the columns will still be there as well as the view. However, during the upgrade the application will back up and replace the pages with new pages as well as the settings for the Web Parts. Therefore, you will have to modify the Web Parts to add the custom columns to the views again. Follow the KB on adding columns to views in lists.

3

Change the look and feel of themes and graphics

Yes, it is OK.

No, it is not OK.

In R1.8 and older versions, if you replace the original image with your own image and keep the same name, after the upgrade, your logo will still be there. Please follow the KB on modifying the logo and graphics.

In R1.8 and older versions, if you modify the CSS to display a different color or theme, this modification will be gone after the upgrade. This is because during the upgrade, the application will back up your old master pages and CSS files and replace with the new files from the new build.

4

Add new navigation tabs on portfolio and project sites

Yes, it is OK.

Yes, it is OK.

After the upgrade, the application will retain the navigators list.

5

Create new pages from a Web Part page in SharePoint

Yes, it is OK.

Yes, it is OK with on the condition that new pages should be stored under the PMCentraPages list in the Document Libraries.

 

6

Modify the master page and CSS files without using SharePoint Designer

Yes, it is OK.

No, it is not OK.

In R1.8 and older versions, during the upgrade the application will back up and replace the master page and the CSS files with the ones from the new build.

7

Add additional columns and views to existing Lists, add new Lists, add documents to the Document Libraries, change logos and save the template as a standard site template to use for creating other project sites

Yes, it is OK.   

Yes, it is OK.

Add additional columns: OK after upgrade. You will need to recreate the data source and re-do the settings in the tool pane of the Web Parts. Please follow the KB on creating new data sources.

Change the logos: OK if you use the same file name. Follow the KB on modifying the logo and graphics.

Frequently Asked Questions (FAQs)

Can I replace the master page with another master page that has a different name?

Yes, for PM Central R1.8 or older.

However, after you upgrade to PM Central R1.8 or older versions, you will lose this customization after you upgrade because the code and features reference the elements with the names of the original master page.

the elements with the master page names

When you rename the master page to another master page with a different name, the features will not be activated on your existing sites; therefore, you will not see any new changes with your existing sites. The workaround is to save your master page. After the upgrade, rename the build's master page to old and rename your master page to SA12Top.master or SA12Top_Template.master.

Can I redesign the pages by adding a new Web Part?

Yes, for PM Central R1.8 or older.

After you upgrade to PM Central R1.8 or older versions, you will lose this customization because during the upgrade, the application replaces the pages with the pages from the new build.

Can I modify CSS?

Yes, for PM Central R1.8 or older.

After you upgrade to PM Central R1.8 or older versions, you will lose this customization because during the upgrade, the application replaces the pages with the pages from the new build and references the CSS files from the new build.

For example:

In the ProjectSite_Template.css, PM Central has this class:

ProjectSite_Template.css class

You can modify the class .ms-globalbreadcrumb and add a new class.

modify the class and add a new one

After the upgrade, the change to the .ms-globalbreadcrumb class and the newly added class will be gone because the application goes back to the original class.

after the upgrade the change is gone

Can I change the master page to point to another CSS file?

After you upgrade to PM Central R1.8 or older versions, you will lose this customization because during the upgrade, the application will replace the old master pages with the new master pages from the new build and will reference the CSS files from the new build.

Can I save PM Central sites as site templates and then use them to create new sites?

Yes, you can save the project site as a site template, but there are future implications if you customize the site using SharePoint Designer.

Any new site that is created from a site template that is derived from the original PM Central site needs to access the required site definitions. If you create a site in the same Web Application where PM Central is installed, you shouldn't have any problems. However, if you create a new site in a different farm or Web Application, you need to install PM Central on that farm first. This is because the site templates contain pages with the Bamboo Web Parts, and these Web Parts were deployed to the original Web Application, not the new Web Application.

For more information about templates and site definitions, read this Microsoft MSDN article.

Can I modify the site and save it using SharePoint Designer?

If you use SharePoint Designer to further customize your site, it will be disconnected from the site definition. SharePoint will store the site in a database instead of using the template in hive 12 when the site is rendered. (See our SharePoint Branding for the KB Accelerator article for more information.)

When this happens, future upgrades to PM Central site definition will no longer be reflected in your site. During the upgrade, the application will activate some features using the references in the site definition. As explained in the Site Definition section above, the site definition file, webtemp.BambooProjectCentral.xml, contains IDs that are associated with the site template. During the upgrade, the application uses what is in the site definition to upgrade and to activate the features on the pages. However, customizations that you have made and saved using SharePoint Designer are saved in the database, not the site definition. Therefore, customizations are lost after the upgrade because the application reads the site definition and the IDs, not the database. Customizations are lost after an upgrade because they no longer exist in the site definition.

Can I upgrade an existing site when future releases of PM Central become available?

Yes, you can. Our installation will upgrade the site definition and Web Parts when a new release becomes available. For sites that are created based on the old site definition, we will provide a feature that will perform the upgrade. However, please note that the upgrade program will be based on our base template. The upgrade could fail if you make nonapproved changes to the site such as adding a new class to the CSS file, renaming the columns in the list, renaming the master page to another master page, referring another CSS file with a different name, and so on.

Read the following section and be aware of any unsupported modifications made to the site. See the above section on modifying and saving a site using SharePoint Designer for information on why you may not see your customizations after an upgrade.

Don'ts When Customizing PM Central

The following is a list of items that you should not change from the base application.

Be aware of the harmful effect of using SharePoint Designer to edit the site directly. Doing so will disconnect the site from the site definition. The upgrade process will automatically activate the features. However, your original changes that you made using SharePoint Designer will be gone.

Do not change the site definition in hive 12.

Do not modify the following column names in these lists. The columns use aggregated data and perform business logic, and any changes will result in unpredictable behavior.

  • Master Pages: Do not delete the JavaScript code at the bottom of the master page.
  • CSS Files: Do not change the supplied CSS file name. The templates will not work if the CSS file names are changed. You can modify the CSS tags, but this will change the look of the site. Your changes to the CSS tags will be gone after the upgrade because the upgrade will back up your CSS files and replace them with the CSS files from the new build.
  • Project Health List: If you modify the following columns, you will break the List Rollup Web Part.

Column

Type

Project Name

Single line of text

Project Start Date

Date and Time

% Complete

Date and Time

Project Status

Choice

Project Manager

Person and Group

Risk Status

Bamboo KPI Column

Issue Status

Bamboo KPI Column

Schedule Status

Bamboo KPI Column

  • Tasks List: Modifying any of the columns in this list will break the Data-Viewer and List Rollup Web Parts at the portfolio site.
  • Issues List: Modifying any of the columns in this list will break the Data-Viewer Web Part at the portfolio site.
  • Risks List: Modifying any of the columns in this list will break the Data-Viewer Web Part at the portfolio site.
  • Pics Picture Library: Do not delete or rename images in this Picture library. You can replace the images as long as the new image has the same file name as the image you are replacing.
  • Portfolio Site Images

arrow.gif

arrowWelcome.gif

BambooTinyLogo.gif

banner.jpg

bannerLineBottom.gif

bannerLineTop.gif

bgBottomCenter.gif

bgBottomLeft.gif

bgBottomRight.gif

bgLeft.gif

bgRight.gif

bgTitle.gif

bgTitleProjectTask.gif

bgTitleProjectTaskBottom.gif

btnBack.gif

btnNext.gif

bullet.gif

bulletBook.gif

Help.png

helpicon.png

iconAlertMail.png

iconConfigurationChecklist.png

iconDeleteSite.png

iconGanttView.png

iconGroup.png

iconIssue.jpg

iconListSystem.png

iconRisks.jpg

iconSiteSetting.png

iconSiteUserList.png

iconTask.jpg

line.gif

lineSiteAction.gif

lineSiteActionHover.gif

logo.png

logoSA12.png

menubuttonhover_new.gif

poweredBy.png

SiteAction.gif

siteActionHover.gif

welcomeLeft.gif

  • Project Site Images

BambooTinyLogo.gif

bannerCenter.gif

bannerLeft.gif

bannerRight.gif

bgMenuRepeat.gif

btnSearch.gif

bullet.gif

centerBottom.gif

helpicon.png

iconAdvancedPermission.png

iconDeleteSite.png

iconEvent.png

iconGroup.png

iconListSystem.png

iconRisks.jpg

iconSiteSetting.png

iconSiteUserList.png

iconTask.jpg

iconTasks.png

iconUpgradeFeature.png

leftBanner.gif

leftBannerRepeat.gif

leftBg.gif

leftBottom1.gif

leftBottom2.gif

leftBottom3.gif

leftimageBg.gif

lineBgPath.gif

logoSA12.png

poweredBy.png

rightBanner.gif

rightBannerRepeat.gif

rightBg.gif

rightBottom1.gif

rightBottom2.gif

rightBottom3.gif

rightImageBg.gif

siteAction.gif

siteActionHover.gif

titlebarArrow.gif

titlebarCenter1.gif

titlebarCenter2.gif

titlebarIcon.gif

titlebarShadow.gif

welcomeBgCenter.png

welcomeBgLeft.png

welcomeBgRight.png

welcomeBgRight2.png

  • Portfolio Site Navigators List: Do not change the URL column. The code uses them from the back end to display them as tabs.
  • Project Site Navigators List: Do not change the URL column. The code uses them from the back end to display them as tabs.
  • Configuration Checklist: Do not delete prebuilt items in the list. The Configuration Checklist Web Part will show erroneous data if the default items are deleted.
  • Alert Plus Configuration List: Do not delete items or edit data in the following columns:

Column

Type

Comments

Alert List

Single line of text

Alert Event Alert List Name

Single line of text

Alert Event

Choice

E-mail Frequency

Choice

CAML Query

Multiple lines of text

Message Alert

Multiple lines of text

Recipient Type

Choice

Recipient Lookup Alert Source

Single line of text

Recipient Lookup Type

Choice

Alert List DataView Path

Single line of text

Cannot change /PageName.aspx

  • PMCentralPages Document Library: Do not rename the supplied .aspx pages in this library. Modifying this list will affect the navigation tabs and will create unpredictable behavior for the Bamboo Chart Plus Web Part and the Bamboo Data-Viewer Web Part.
  • Discussion.aspx Page in the Project Site: Do not delete the JavaScript code at the bottom of this page. Doing so will break the functionalities of Link to item.
  • Help.aspx at the Portfolio Site: Do not delete the JavaScript code at the bottom of the Help page in the portfolio site.