vendredi 4 novembre 2011

Petit rappel sur l'utilisation du connecteur entre Team Foundation Server et Project Server

Ajouter les droits du compte de service de TFS dans le service de Project Server


 
Le compte de service de TFS doit pouvoir avoir un accès complet au service de Project Server et donc à toutes les instances de PWA.

 
Pour ajouter ce compte de service vous devez ouvrir l’administration centrale de SharePoint 2010.

 
  • Allez dans « Application Management », et cliquez sur « Manage service applications ».
  • Dans la page « Manage Service Application », cliquez sur la ligne « Project Server Service Application ».
  • Dans le ruban, cliquez sur « Permissions ».
  • Indiquez le nom du compte de service de TFS, et cliquez sur « Add ».
  • Dans la zone du bas, cliquez sur « Full Control », et cliquez sur « OK ».

 
Ajouter les droits du compte de service de TFS dans les instances de PWA.

 
  • Ouvrez votre ou vos instances PWA (http://PS2010/PWA).
  • Allez dans « Server Settings »
  • Cliquez sur « Manage Users »
  • Cliquez sur « New User »
  • Dans la zone « * Display Name » indiquez le nom du compte de service « Ex : Compte de service TFS »
  • Dans la zone « * User longon account : » saisissez le compte de service « Ex : PS2010\TFSService »
  • Dans la zone « Security Groups » sélectionnez « Administrators » et cliquez sur « Add »
  • Dans la zone « Security Categories » cliquez sur « Add All >> »
  • Pour chaque catégories, sélectionnez dans la liste « Set permissions with Template: » « Administrator » puis cliquez sur « Apply »
  • Dans la zone « Global Permissions », sélectionnez dans la liste « Set permissions with Template: » « Administrator » et cliquez sur « Apply »
  • Enfin cliquez sur « Save »

  
Enregistrement de l’instance de PWA

 
Chaque enregistrement d’instance de PWA et de TFS doit être enregistré dans le système de synchronisation.

 
Commande :

 
TfsAdmin ProjectServer /RegisterPWA /pwa:pwaUrl /TFS:tfsUrl
  • pwaUrl : Adresse de PWA, http://PS2010/Pwa
  • tfsUrl : Adresse de TFS, http://PS2010:8080/tfs

 Batch :

 

 
@echo off
set v_PWA="http://ps2010/pwa"
set v_TFS="http://ps2010:8080/tfs"

 
cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
set /p v_Question= if you want to register an instance of PWA : %v_PWA% (y or n) ?

 
if not %v_Question%== y goto Suite
echo Register an instance of PWA : %v_PWA%

 
TfsAdmin ProjectServer /RegisterPWA /pwa:%v_PWA% /TFSServerURL:%v_TFS%

 
pause
:Suite


 

 

Enregistrement de la relation entre une instance de PWA et une collection de TFS

 
Toute collection de projet dans TFS 2010 contenant un ou plusieurs projets d’équipe lié à un projet d’entreprise dans PWA doit être mappée.

 
Commande

 
TfsAdmin ProjectServer /MapPWAtoCollection /pwa:pwaUrl /collection:tpcUrl
  • pwaUrl : Adresse de l’instance de PWA : http://PS2010/pwa
  • tpcUrl : Adresse de la collection de site : http://PS2010:8080/tfs/DefaultCollection

 Batch

  
@echo off
set v_PWA="http://ps2010/pwa"
set v_Collection="http://ps2010:8080/tfs/DefaultCollection"

 
cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
set /p v_Question= if you want to map this collection project : %v_Collection% (y or n) ?

 
if not %v_Question%== y goto Suite

 
echo Map the PWA instance (%v_PWA%) with a team project collection (%v_Collection%)

 
TfsAdmin ProjectServer /MapPWAtoCollection /pwa:%v_PWA% /collection:%v_Collection%

 
pause

 
:Suite


Mise à jour du fichier de mapping

 
Les champs coté TFS doivent être mappé aux champs cotés Project Server. Attention la mapping est pour une collection de projet donc prévoyez tous les champs de tous les types de projets.

 
Commande

 
TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /useDefaultFieldMappings
  • tpcUrl : Adresse de la collection de projet : http://PS2010:8080/tfs/DefaultCollection
  • useDafaultFieldMappings : Permet d’utiliser le mapping par défaut, il contient les champs obligatoire.
  • filePath : Permet de spécifier un fichier : c:\mapping.xml

 
Batch

 
@echo off
set v_Collection="http://ps2010:8080/tfs/DefaultCollection"


cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

set /p v_Question= if you want to upload the mapping default : (y or n) ?

 
if not %v_Question%== y goto Suite

 
echo Upload default field mappings

 
TfsAdmin ProjectServer /UploadFieldMappings /collection:%v_Collection% /useDefaultFieldMappings

 
pause
:Suite

 
Associer un Project d’équipa TFS à un projet d’entreprise de PWA

 
Tout projet qui doit être synchronisé à un projet d’entreprise doit être enregistré. Attention vous ne pouvez pas mapper un projet de TFS si sa collection de projet d’appartenance n’est pas mappée.

 
Commande

 
TfsAdmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseproject:PlanName /teamproject:ProjectName /workitemtypes:ListOfTypes

  • tcpUrl : Adresse de la collection de projet : http://PS2010:8080/tfs/defaultCollection
  • enterpriseProject : Nom du projet dans PWA : Agile Plan
  • teamProject : Nom du projet dans TFS : Agile Project Team
  • WorkitemTypes : Liste des type de WI à synchroniser : « User Story,Task »
Batch

 
@echo off

 
set v_Collection="http://ps2010:8080/tfs/DefaultCollection"
set v_WIType="User Story"
set v_EnterpriseProject = "Agile Plan"
set v_TeamProject = "Agile Team Project"

 
cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

 
set /p v_Question= if you want to register an instance of PWA : %v_PWA% (y or n) ?

 
if not %v_Question%== y goto Suite

 
echo Associate an enterprise project plan (%v_EnterpriseProject%) with a team project(%v_TeamProject%), workitem (%v_WIType%)

 
TfsAdmin ProjectServer /MapPlanToTeamProject /collection:%v_Collection% /enterpriseproject:%v_EnterpriseProject% /teamproject:%v_TeamProject% /workitemtypes:%v_WIType%

 
echo Now you must to add team members to the enterprise resource pool !!!!

 
pause

 
:Suite
Désinscription

 
Vous pouvez à tout moment désinscrire une liaison entre projet, entre TFS et PWA et même désinscrire une instance de PWA. Les choses doivent être faite dans l’ordre, bien que la suppression d’une collection de projet et d’une instance de PWA peut désinscrire il faut faire les choses proprement.

 
Supprimer la liaison entre un projet d’équipe et un projet d’entreprise

 
Commande

 
TfsAdmin ProjectServer /UnmapPlanFromTeamProject/collection:tpcUrl /enterpriseproject:EnterpriseProjectName /teamproject:TeamProjectName

  •  tcpUrl : Adresse de la collection de projet : http://PS2010:8080/tfs/defaultCollection
  • enterpriseProject : Nom du projet dans PWA : Agile Plan
  • teamProject : Nom du projet dans TFS : Agile Project Team

 
Supprimer la liaison entre une collection de projet et une instance de PWA

 
Commande

 
TfsAdmin ProjectServer /UnMapPWAFromCollection /pwa:pwaUrl /collection:tpcUrl [/force]


 
Désinscrire une instance de PWA

 
Commande

 
TfsAdmin ProjectServer /UnregisterPWA /pwa:pwaUrl /TFSServerURL:tfsUrl

  •  tcpUrl : Adresse de TFS : http://PS2010:8080/tfs
  • pwaUrl : Adresse de l’instance de PWA : http://PS2010/pwa