Links to this series:
Part 3: Configuring the Bits
Now that you’ve installed the Integrator, you need to configure it. This happens at various levels:
- Register the PWA with TFS
- Associate a Project Collection with a registered PWA
- Specify mappings (or use the default mapping)
- Associate a Team Project with one (or more) Enterprise Projects
- Mark Tasks for synchronization
You only need to configure the Project Collection <-> PWA once – but for each Team Project that you want to map to an Enterprise Project, you’ll need to configure a mapping (again, usually just once).
I logged into a client machine with VS 2010 SP1 installed (that’s where tfsadmin.exe comes from) as TFSSetup (my admin account for the integration).
Registering a PWA
To register a PWA, open a VS command prompt and use the following command: tfsadmin ProjectServer /RegisterPWA /pwa:pwaUrl /tfs:tfsUrl
where
- pwaUrl is the url to your PWA – like http://server/pwa
- tfsUrl is the url to your TFS services – like http://server:8080/tfs
TF244079 when trying RegisterPWA
If you get the following (helpful!) error: TF244079: An error occurred while retrieving the URL for shared services
then you probably haven’t installed the latest cumulative updates for Project Server (Project 2010 SP1 is also available – if you install SP1, make sure you run the Sharepoint Configuration Wizard after installing the SP).
Associate a Project Collection to a Registered PWA
To map a Project Collection to a PWA, open a VS command prompt and use the following command: tfsadmin ProjectServer /MapPWAToCollection /pwa:pwaUrl /collection:tpcUrl
where
- pwaUrl is the url to your PWA – like http://server/pwa
- tpcUrl is the url to the Project collection – like http://server:8080/tfs/DefaultCollection
Specifying Mappings
You can customize the mappings yourself if you want to deviate from the default mapping – consult the help file if you want to do this. For this example, I used the default mapping.
To specify the default mapping, use the following command: tfsadmin ProjectServer /UploadFieldMapping /collection:tpcUrl /useDefaultFieldMappings
where tpcUrl is the url to the Project collection – like http://server:8080/tfs/DefaultCollection
Mapping a Team Project to an Enterprise Project
Now you can map a Team Project to an Enterprise Project. Use the following command: tfsadmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseProject:epmProjectName /teamProject:teamProjectName /workItemTypes:typeList /nofixedwork
where
- tpcUrl is the url to the Project collection – like http://server:8080/tfs/DefaultCollection
- epmProjectName is the name of the Project Plan on Project Server (use “” to enclose the name if it contains spaces)
- teamProjectName is the name of the Team Project in TFS (use “” to enclose the name if it contains spaces)
- typeList is the list of types you want to sync – if you specify multiple types, use “” to enclose the comma-separated list without spaces after the commas (for example, “Requirement,Task” or “User Story,Task”)
- nofixedwork specifies no fixed work in Project (consult the Integration help file for more info on this switch).
In the next post, we’ll look at how to synchronize work items.