Configuring the Integration of Team Foundation Server and Project Server

Before you can synchronize data between Visual Studio Team Foundation Server 2010 and Microsoft Project Server 2007 with Service Pack 2 (SP2) or Project Server 2010, you must first configure several points of integration between them. To configure this integration, you must have the necessary permissions to modify or administer Project Server, Project Web Access or Project Web App (PWA), team project collections, and Team Foundation Server.

Important

Before you can configure the integration of the two server products, you must install the Feature Pack for Team Foundation Server 2010 and Project Server Integration. Before you install the feature pack, make sure that all prerequisite software has been installed and configured. For Project Server 2010, you must install all cumulative updates and then run the SharePoint Configuration Wizard or modify the web.config file. For more information, see System and Setup Requirements to Support Integration of Team Foundation Server and Project Server.

As the following illustration shows, you integrate these products in six steps.

Configuring the Integration of Team Foundation Server and Project Server

Provisioning Project Server-Team Foundation Server

In this topic

  • Collect Information

  • Grant Permissions

  • Register an Instance of PWA with Team Foundation Server

  • Map a Team Project Collection to an Instance of PWA

  • Associate an Enterprise Project with a Team Project

  • Map Fields in Team Foundation to Fields in Project Server

  • Add Team Foundation Valid Users to the Enterprise Resource Pool

Note

To ask a question of the community, see the following forum post on the Microsoft website: Team Foundation Server and Project Server Integration.

Required Permissions

To perform the procedures in this topic, you must belong to the following groups or have the following permissions:

  • To grant permissions in Team Foundation: Team Foundation Administrators group or your View instance-level information and Edit instance-level information permissions must be set to Allow. You must also have access to the Team Foundation Administration Console or the Group Membership dialog box for a team project collection by using Team Explorer.

  • To grant permissions in Project Server: Manage users and groups global permission for an instance of Project Web Access or Project Web App (PWA). You must also have access to Project Server through PWA.

  • To grant SSP permissions: the Farm Administrators group, the administrators group for the Web application that supports Project Server, or the SharePoint Administration group. Group membership will depend on the security architecture of your deployment.

  • To use stsadm.exe: you must be an administrator on the local computer.

Note

Even if you log on with administrative permissions, you must open an elevated Command Prompt window to run the TfsAdmin command-line tool on a server that is running Windows Server 2008. To open an elevated Command Prompt window, click Start, right-click Command Prompt, and then click Run as Administrator. For more information, see the following page on the Microsoft website: User Access Control.

Collect Information

The following table summarizes the information that you need to configure synchronization of data in enterprise project plans with team projects.

Parameter or information

Example

Notes

Uniform Resource Locator (URL) for the application-tier server for Team Foundation Server

http://ServerName:Port/VirtualDirectoryName

If you do not specify a virtual directory, specify the URL in the following format:

http://ServerName:Port

You can register an instance of PWA with an application-tier server only if the server has Service Pack 1 for Team Foundation Server 2010 installed. For more information, see System and Setup Requirements to Support Integration of Team Foundation Server and Project Server.

URL for each instance of PWA that supports an enterprise project plan that contains data to synchronize.

http://PWAServerName/PWA

For information about how to get the URI for an instance of PWA, see To determine the URL for a PWA later in this topic.

You must register each instance of PWA with the application-tier server that hosts the team project collection and team projects that have data that you want to synchronize. Also, you can register an instance of PWA only if the Feature Pack for Team Foundation Server and Project Server Integration is installed on Project Server.

URL for each team project collection that hosts team projects that contain data to synchronize.

http://ServerName:Port/VirtualDirectoryName/CollectionName

If you do not specify a virtual directory, specify the URL in the following format:

http://ServerName:Port/CollectionName

You must map each team project collection that hosts team projects that contain data that you want to synchronize with an enterprise project.

Names of the enterprise project plans to synchronize.

MyEnterpriseProject or "My Enterprise Project"

You must associate each enterprise project plan with a team project.

Names of the team projects that contain work items to synchronize with an enterprise project plan.

MyTeamProject or "My Team Project"

You may associate multiple enterprise project plans with the same team project.

Names of the types of work items to synchronize.

You can specify any type of work item that is defined in your team project to synchronize with tasks in the project plan. If you have customized any field that is required to support synchronization, you must customize the field mappings to reflect your changes. For more information, see Field Mapping XML Element Reference for Integration of Team Foundation Server and Project Server.

User stories and tasks are most often synchronized in team projects that are based on the process template for agile projects from the Microsoft Solutions Framework (MSF). Requirements and tasks are most often synchronized in team projects that are based on the process template for Capability Maturity Model Integration (CMMI) from MSF.

For each enterprise project plan that you map to a team project, you can specify the types of work items to synchronize. Tasks in Project Server are synchronized with types of work items in Team Foundation.

After you have made your initial configuration, you can change the types that are mapped. For more information, see Specifying the Work Item Types That Can Be Synchronized.

(Optional) Name of the field in PWA to display the name of the work item type.

pjTaskText10

The default value is pjTaskText30. You can specify a different field to display the name of the work item type.

(Optional) Support for fixed work.

/noFixedWork option

When you associate an enterprise project plan with a team project, you can allow or restrict the assignment of Fixed Work to tasks in Project Professional that are synchronized to Team Foundation. Fixed work is one of three types of tasks that you can use in Project. For more information, see Change the task type Project uses to calculate task duration.

(Optional) Additional fields to synchronize.

For example, you can add fields such a cost center, team name, or health status.

By default, the following seven fields in Team Foundation are synchronized:

  1. Title

  2. Assigned To

  3. Completed Work

  4. Remaining Work

  5. Original Estimate

  6. Start Date

  7. Finish Date

Only mapped fields are synchronized. To synchronize additional fields, you must customize the field mappings. For more information, see Field Mapping XML Element Reference for Integration of Team Foundation Server and Project Server.

Accounts to grant administrative permissions

Names of administrators who will synchronize data from their plans with data in team projects

You must grant Administer Project Server integration permissions to administrators who will use the TFSAdmin command-line tool to manage the mappings of enterprise project plans to team projects.

Team Foundation users

User names or security distribution groups

You must add members of team projects who are assigned to tasks in Team Foundation to the enterprise resource pool and to the resource pool of each enterprise project plan. You must also grant these users permission to log on to Project Server.

Important noteImportant
Each time that you add team members to the resources for a project plan pool, you must publish the project plan so that the synchronization engine will register the changes.

To determine the URL for an instance of PWA

  • Open SharePoint Central Administration on the server that hosts the instance.

  • Under Application Management, click Manage service applications.

  • On the Service Applications page, click Project Server Service Applications.

  • Click the URL that corresponds to the instance that you want to access.

Back to top

Grant Permissions

After you have installed the service packs and the feature pack that are required to support data synchronization, you must grant the permissions that are required to configure and support synchronization. You must grant the following permissions to the following accounts or groups:

  • For the service account of Team Foundation Server:

    • Add to the Administrator group for the instances of PWA that will participate in data synchronization, or provide the minimum set of Global and Category permissions as outlined in Assigning Permissions to Support Integration of Project Server and Team Foundation Server.

    • For Project Server 2007: Add access to the Shared Services Provider (SSP) for Project Server.

    • For Project Server 2010: Add Full Control permissions to the Project Server Service Application.

  • For the service account for SSP for Project Server 2007: Add to the Administrator group for the instances of PWA that will participate in data synchronization.

  • For the service account for the web application pool for Project Server 2010: Grant the following permissions in SQL Server for the PWA Reporting database: Alter any Schema, Create Table, Delete, Execute, Insert, Select, and Update.

    For the PWA Publish database, grant the Select permission.

  • For the service account for the Event Handler for Project Server 2010: Grant Full Control permissions to the Project Server Service Application.

  • For administrators who will manage the registration of instances of PWA to Team Foundation Server: Add to the Team Foundation Administrators group, and add to the Administrator group for the instances of PWA that will participate in data synchronization.

  • For administrators and users who will use the TfsAdmin ProjectServer command to configure the two servers: Set the Administer Project Server integration permission to Allow.

  • For team members who will submit status updates to Project Server from a client of Team Foundation and who will be assigned as resources to one or more tasks in the enterprise project plan: Add to the Team Members group of PWA, or grant them the Open Project and View Project Site permissions in Project. Also, add these accounts to the enterprise project pool and to the project plan resource pool.

  • For users of Project Professional who will publish plans to Team Foundation: Grant View Project-level information permissions in Team Foundation, or assign them as members of the Reader group for the team project.

To assign permissions

Back to top

Register an Instance of PWA

Important

If you are integrating Team Foundation Server with Project Server 2010, make sure that you have first installed all cumulative updates and then run the SharePoint Configuration Wizard. If you skip these steps, the integration between Team Foundation Server and Project Server 2010 will fail. For more information, see Prerequisites.

As the first step in configuring integration, you must register each instance of PWA that supports the project plans with the application-tier server that hosts the project collection that hosts the team project. You should register all instances of PWA that are used by enterprise projects that must synchronize their data with Team Foundation. As the following illustration shows, you can register multiple instances of PWA to the same server that is running Team Foundation Server.

Register PWAs to Team Foundation Server

To register an instance of PWA

  1. On a computer that is running Team Explorer and Service Pack 1 for Visual Studio 2010, open a Command Prompt window, and change to the directory that contains the TFSAdmin tool.

    By default, the tool is located in Drive:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE. For 64-bit machines, the tool is in Drive:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE.

  2. Type the following command, and then press ENTER:

    TfsAdmin ProjectServer /RegisterPWA /pwa:pwaUrl /tfs:tfsUrl
    

    Replace pwaUrl with the URL of the instance of PWA and tfsUrl with the URL of the application-tier server.

    Wait until the following messages appear:

    Registering PWA pwaUrl.

    You have successfully registered PWA pwaUrl.

  3. Repeat step 2 for each instance of PWA that supports enterprise project plans that you want to synchronize with Team Foundation.

Back to top

Map a Team Project Collection to an Instance of PWA

As the second step in configuring integration, you must map each instance of PWA that supports an enterprise project plan. You should map all instances of PWA that are used by enterprise projects that must synchronize data with team projects.

To map an instance of PWA to a team project collection

  • At a command prompt, type the following command, and then press ENTER:

    TfsAdmin ProjectServer /MapPWAtoCollection /pwa:pwaUrl /collection:tpcUrl
    

    Replace pwaUrl with the URL of the instance of PWA and tpcUrl with the URI of the team project collection.

    Wait until the following messages appear:

    Mapping team project collection tpcUrl to PWA pwaUrl.

    You have successfully mapped team project collection tpcUrl to PWA pwaUrl.

Back to top

Map Fields in Team Foundation to Fields in Project Server

You must map fields for each team project collection that you have mapped to an instance of PWA. You can use the default mappings, or you can customize and upload a mapping file. For more information about the default mappings, see Field Mapping XML Element Reference for Integration of Team Foundation Server and Project Server.

You can define additional fields whose data you want to synchronize. You can add Project fields to data that Team Foundation stores, and you can add Team Foundation fields to data that Project Server stores and displays in an enterprise project plan.

To use the default mappings

  1. At a command prompt, type the following command, and then press ENTER:

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /useDefaultFieldMappings
    

    Replace tpcUrl with the URL of the team project collection.

  2. Wait until the following messages appear:

    Uploading field mappings to team project collection tpcUrl.

    You have uploaded field mappings to team project collection tpcUrl.

  3. Repeat steps 1 and 2 for each collection that you have mapped to an instance of PWA.

To customize the mapping

  1. Identify the fields in Project Server and their reference field names to add to the data store in Team Foundation.

  2. Identify the fields in Team Foundation and their reference field names to add to Project Server.

    For more information, see Using System Fields and Fields Defined by the MSF Process Templates.

  3. Modify the file that maps fields in Project Server.

    For more information, see Customizing the Field Mapping Between Project Server and Team Foundation Server.

  4. (Optional) Add a column to display the fields in the enterprise project plan.

Back to top

Associate an Enterprise Project with a Team Project

As the third step in configuring integration, you must map each enterprise project to the team project that contains data that you want to synchronize. As the following illustration shows, you can associate multiple enterprise projects with the same team project.

Associate enterprise projects with a team project

To associate an enterprise project plan with a team project

  1. At a command prompt, type the following command, and then press ENTER:

    TfsAdmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseProject:EnterpriseProjectName /teamproject:TeamProjectName /workItemTypes:ListOfWorkItemTypes /projectFieldForWorkItemType:ProjectFieldName
    

    Replace tpcUrl with the URL of the team project collection, EnterpriseProjectName with the name of the enterprise project plan, TeamProjectName with the name of the team project, and ListOfWorkItemTypes with the names of the types of work items. For example, you can specify the following types of work items to support an agile process as “User Story,Task” or “User Story”,Task. Do not include a space after the comma.

    Specify /nofixedWork if you want to prohibit fixed task type assignments. You can also specify the /projectFieldForWorkItemType argument and the name of a field in Project to store the type of work item.

    Wait until the following messages appear:

    Mapping enterprise project EnterpriseProjectName to team project TeamProjectName.

    You have successfully mapped enterprise project EnterpriseProjectName to team project TeamProjectName.

  2. Repeat step 1 for each enterprise project that you want to associate with a team project.

If you mapped your project plan while it was open, you should close and re-open it for the changes to register. When you open the plan, you should verify whether the Publish to Team Project and Work Item Type (Text30) columns appear. The presence of these fields indicates that the project plan has been mapped to a team project.

Note

After you map your enterprise project plan with a team project, you can change the types of work items that are mapped. For more information, see Specifying the Work Item Types That Can Be Synchronized.

Back to top

Add Team Foundation Users to the Enterprise Resource Pool

To assign and manage Team Foundation users as resources in Project, you must add them to the enterprise resource pool. To make this process easier, you can configure PWA to automatically synchronize the security groups with groups of the same name in Active Directory. Also, you can synchronize users and resources in Project Server with the users in Active Directory across multiple domains and forests.

For information about how to add users to the enterprise resource pool, see the following pages on the Microsoft website:

Back to top

See Also

Concepts

Managing Project Server Integration with TFSAdmin ProjectServer

Administering the Integration of Team Foundation Server and Project Server

Change History

Date

History

Reason

September 2011

Clarified the need to publish the project plan after you add team members to its resource pool.

Information enhancement.

June 2011

Corrected the capitalization of several command switches.

Content bug fix.

April 2011

Added a note to emphasize the requirements for integration with Project Server 2010.

Information enhancement.