Una delle cose veramente interessanti di TFS 2010 è la pressoché infinita possibilità di personalizzazione a qualsiasi livello, o quasi Smile with tongue out
In questi giorni sono uscite un paio di necessità:
  • far si che per impostazione predefinita i “Contributors” abbiano i permessi per amministrare le Branch: se lavorate su un modello basato su branch-per-feature o se fate molti spike è vitale che il developer abbia molta libertà altrimenti l’amministratore del TFS impazzisce;
  • far si che in ogni nuovo Team Project che viene creato esista un nuovo gruppo “Managers” che abbia gli stessi permessi dei Contributors ma in più possa anche amministrare Aree e Iterazioni, cosa che per impostazione predefinita possono fare solo gli amministratori; Anche in questo caso è una questione di “comodità” i manager coincidono con i “project manager” e hanno quindi tutti i diritti e le competenze per fare questa attività sul progetto di cui sono responsabili;
L’operazione nel complesso è molto semplice, dopo aver scaricato il Team Project Template che volete modificare (nel nostro esempio “Microsoft Visual Studio Scrum 1.0”) dovete editare i template relativi ai vari task di creazione del Team Project (in grassetto le cose che abbiamo modificato):
File: ProcessTemplate.xml

 
    Microsoft Visual Studio Scrum 1.1 (custom)
    ….
   
 

 
    … [CUT] …
   
     
       
     

      Groups and Permissions\GroupsAndPermissions.xml" />
   

    … [CUT] …
   
     
       
       
       
     

      Version Control\VersionControl.xml" />
   

    … [CUT] …
 


Ho anche evidenziato un paio di cose degne di nota. Se fate bene attenzione vi rendete conto al volo che avete davanti un sistema per descrivere un workflow. Procediamo quindi con le modifiche che ci interessano:
File: Groups and Permissions\GroupsAndPermissions.xml
Nel file mi sono limitato ad aggiungere la definizione di un nuovo gruppo “Managers”, un elenco dettagliato dei permessi è disponibile su MSDN.

 
   
   
   
   
   
   
   
   
   
               
   
   
               
   
   
   
   
          
 


Ho evidenziato i permessi che ho aggiunto rispetto al gruppo Contributors per garantire la possibilità di amministrare le Aree e le Iterazioni.
File: Version Control\VersionControl.xml


 
   
   
     
      ManageBranch" identity="[$$PROJECTNAME$$]\Contributors" />
     
      " identity="[$$PROJECTNAME$$]\Managers" />
     
     
     
     
     
     
   

 


Questo è l’ultimo passaggio, definiamo che per la parte di Source Control vogliamo garantire ai Contributors il permesso “ManageBanch” e aggiungiamo anche qui il gruppo Managers con gli stessi permessi di Contributors.
.m