Condividi tramite


Personalizzare il mapping dei campi tra TFS e Project Server

Per sincronizzare i dati tra un piano di progetto dell'organizzazione e un progetto team, è necessario associare i campi degli elementi di lavoro di Visual Studio Team Foundation Server (TFS) con i campi di Microsoft Project Server. È possibile aggiungere campi e specificarne la modalità di sincronizzazione personalizzando i mapping dei campi. È possibile eseguire il mapping di campi incorporati e personalizzati in Project. Si possono ad esempio condividere dati che non sono correlati alle pianificazioni (quali centri di costo, nomi di team o stato di integrità) se si aggiungono ai mapping i campi in cui sono archiviati questi tipi di dati.

È necessario mantenere un set di mapping dei campi per ogni raccolta di progetti team che ospita i progetti team che si vuole sincronizzare con Project Server. Occorre definire i mapping dei campi per ogni raccolta di progetti team mappata a un'istanza di Project Web Access o Project Web App (PWA). È possibile caricare i mapping predefiniti o personalizzare e caricare un file di mapping. Per caricare i mapping predefiniti, vedere Caricare i mapping più avanti in questo argomento.

Nota

I mapping per l'integrazione di TFS e Project Server sono diversi dal file di mapping per Microsoft Project.Per altre informazioni, vedere Personalizzare il file di mapping campi di Microsoft Project.

Come mostrato nella figura seguente, la personalizzazione dei mapping prevede cinque passaggi:

Personalizzazione dei mapping dei campi tra Team Foundation Server e Project Server

Flusso di lavoro per la personalizzazione dei mapping dei campi PS-TFS

Nota

È possibile aggiornare il file di mapping con la frequenza che si preferisce.I campi visualizzati nella scheda Project Server vengono aggiornati per ogni tipo di elemento di lavoro che fa parte della sincronizzazione dei dati.Non si devono modificare manualmente le definizioni per la scheda Project Server.Per altre informazioni, vedere Personalizzare la scheda Project Server più avanti in questo argomento.

Contenuto dell'argomento

  • Mapping predefiniti

  • Determinare campi aggiuntivi di cui eseguire il mapping

  • Scaricare i mapping in un file

  • Aggiornare i mapping

  • Caricare i mapping

  • (Facoltativo) Personalizzare la scheda Project Server

Nota

Per una dimostrazione video, consultare la pagina del sito Web Microsoft relativa alla gestione dei mapping dei campi per l'integrazione di Team Foundation Server e Project Server.

Requisiti

Per completare le procedure in questo argomento, è necessario che l'autorizzazione Amministrazione integrazione di Project Server sia impostata su Consenti. Inoltre, all'account del servizio di Team Foundation Server deve essere concessa l'autorizzazione Amministrazione dell'integrazione con Project Server. Per altre informazioni, vedere Assegnare le autorizzazioni per supportare l'integrazione TFS-Project Server.

Mapping predefiniti

I mapping determinano quali campi vengono sincronizzati quando un utente aggiorna informazioni in Team Foundation o Project Server. Ognuno dei tipi di sincronizzazione seguenti dispone del proprio set di mapping:

  • Per la sincronizzazione della pubblicazione, i dati di Project Server aggiornano i dati di Team Foundation. L'elemento targetToTfs viene usato per specificare il campo di Project Server tramite il quale viene aggiornato il campo di Team Foundation.

  • Per la sincronizzazione dello stato, i dati in Team Foundation vengono inviati alla coda di stato di Project Server. L'elemento tfsToTarget viene usato per specificare il campo tramite il quale viene aggiornato il campo della coda di stato di Project Server.

Per altre informazioni su questi due tipi di sincronizzazione, vedere Cenni preliminari sul processo di sincronizzazione per l'integrazione TFS-Project Server.

La tabella seguente elenca il set predefinito di campi mappati tra Team Foundation e Project Server. Nella tabella viene indicato anche quali tipi di elementi di lavoro usano campi basati sui modelli del processo predefinito forniti da TFS. Non è consigliabile modificare questi mapping se si sta eseguendo il mapping a un progetto team creato da un modello di processo basato su Agile Software Development o su Capability Maturity Model Integration (CMMI) Process Improvement. Se si esegue il mapping a un progetto team creato dal modello di processo Scrum, sarà necessario apportare alcune modifiche come descritto in Modifiche necessarie quando si esegue il mapping di un progetto team creato con il modello di processo Scrum più avanti in questo argomento.

Per altre informazioni sui mapping e sul processo di sincronizzazione, vedere Riferimento agli elementi XML per il mapping di campi per l'integrazione TFS-Project Server.

Campo di Team Foundation

Campo di Project Server

Campo della coda di stato

Tipi di elementi di lavoro in Agile

Tipi di elementi di lavoro in CMMI

Tipi di elementi di lavoro in Scrum

Titolo

Nome attività

Titolo

Tutti

Tutti

Tutti

Assegnato a

Risorse

Risorse

Tutti

Tutti

Tutti

Lavoro completato

Lavoro effettivo attività

Risorse - Lavoro effettivo

Attività

Attività

Nessuna

Lavoro rimanente

Lavoro rimanente attività

Risorse - Lavoro rimanente

Attività

Attività

Attività

Stima originale

Lavoro previsto

  

Attività

Bug, richiesta di modifica, problema, requisito, rischio e attività

Nessuna

Data di inizio

Attività - Inizio

Risorse- Inizio

Attività e storia utente

Attività e requisito

Nessuna

Data di fine

Attività - Fine

Risorse - Fine

Attività e storia utente

Attività e requisito

Nessuna

Modifiche necessarie quando si esegue il mapping di un progetto team creato con il modello di processo Scrum

Esistono due modifiche da eseguire per abilitare il flusso di dati da un progetto team creato da un modello di processo Scrum di Microsoft Visual Studio. Occorre aggiungere i campi Stima originale e Lavoro completato al tipo di elemento di lavoro attività ed è necessario rimuovere elementi che richiedono che il campo Lavoro rimanente sia vuoto quando un membro del team modifica lo stato in Eseguito o Rimosso.

Per aggiornare la definizione del tipo di attività Scrum

  1. Aprire una finestra del prompt dei comandi nel computer in cui è installato Visual Studio o Team Explorer e immettere:

    cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE
    

    In una versione a 32 bit di Windows sostituire %programfiles(x86)% con %programfiles%.

  2. Per esportare la definizione del tipo per l'attività, immettere il comando seguente, sostituendo con i propri dati gli argomenti mostrati di seguito, dove CollectionURL indica l'URL di una raccolta di progetti team, ProjectName indica il nome di un progetto team definito all'interno della raccolta e "DirectoryPath\FileName.xml" indica il nome e il percorso del file da esportare. Quindi premere INVIO.

    witadmin exportwitd /collection: /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  3. Aprire il file esportato in un editor di testo o in Visual Studio.

  4. Nella sezione della definizione FIELDS aggiungere il frammento di codice seguente prima dell'elemento relativo al lavoro rimanente:

    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">
       <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT>
    </FIELD>
    <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">
       <HELPTEXT>Initial value for Remaining Work - set once, when work begins. </HELPTEXT>
    </FIELD>
    
  5. Nella sezione <WORKFLOW> rimuovere il frammento di codice seguente dalle definizioni <STATE value="Done"> e <STATE value="Removed">:

    <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
       <EMPTY />
    </FIELD>
    
  6. Nella sezione <FORM> aggiungere i seguenti elementi Control:

    <Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate:" LabelPosition="Left" />
    <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed:" LabelPosition="Left" />
    
  7. Salvare e chiudere il file.

  8. Importare il file, inserendo i propri dati al posto degli argomenti visualizzati.

    witadmin importwitd /collection: /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    
  9. Aggiornare il progetto team o la pagina degli elementi di lavoro per verificare le modifiche.

Per altre informazioni, vedere Esportare e importare i tipi di elemento di lavoro [reindirizzato], Modificare o aggiungere un campo per supportare query, report e flusso di lavoro e Progettare e personalizzare un form elemento di lavoro [reindirizzato].

Determinare campi aggiuntivi di cui eseguire il mapping

Determinare le informazioni seguenti per ogni campo da sincronizzare oltre ai campi predefiniti:

  • Il nome di riferimento del campo in Team Foundation. Se si vuole sincronizzare un campo di Project Server con un campo che è necessario creare in Team Foundation, creare prima il campo in ogni tipo di elemento di lavoro che si sincronizza. Per altre informazioni, vedere Riferimenti ai campi elemento di lavoro per Visual Studio ALM e Modificare o aggiungere un campo per supportare query, report e flusso di lavoro.

  • Il nome del campo di Project Server tramite cui verrà aggiornato il campo di Team Foundation. Per un elenco di campi disponibili, vedere Limitazioni relative al mapping dei campi di Project Server nell'integrazione con TFS.

  • Verranno aggiornati il nome del campo da aggiornare in Project Server e il nome del campo di Project Server che aggiornerà il campo mirror di Team Foundation Server.

  • Il valore che indica se visualizzare i campi nel form elemento di lavoro. Il valore dell'attributo displayTfsField viene impostato su true per i campi che si vuole visualizzare nel form elemento di lavoro. Il valore dell'attributo displayTfsMirror viene impostato su true per il form elemento di lavoro.

  • Il valore che indica se risolvere i conflitti di dati consentendo al valore del campo di Team Foundation di sovrascrivere il valore del campo di Project Server o se mantenere entrambi i valori. Questa decisione determina il valore dell'attributo onConflict. Quando onConflict=”PsWins” è impostato, il valore del campo di Project Server sovrascrive il valore del campo di Team Foundation. Per altre informazioni, vedere Elementi e attributi di field.

  • I valori aggiuntivi da definire per supportare elenchi di selezione o tabelle di ricerca personalizzate in Project Server.

Restrizioni sui dati di cui è possibile eseguire il mapping

Dopo aver determinato i campi di cui eseguire il mapping, tenere presente le restrizioni seguenti:

  • È possibile inviare solo informazioni a livello di attività, campi pjTask *, da Project Server a Team Foundation Server.

  • È possibile inviare solo informazioni a livello di risorsa, campi pjResource *, da Team Foundation Server alla coda di stato di Project Server.

  • Il campo Titolo è l'unico campo che può essere inviato a Team Foundation Server e alla coda di stato.

  • Il rollup è calcolato automaticamente per i campi Assegnato a, Lavoro completato e Lavoro rimanente. Non è possibile eseguire il mapping di campi aggiuntivi e calcolare il relativo rollup. Per altre informazioni, vedere Utilizzare il rollup delle risorse nei progetti dell'organizzazione mappati ai progetti team.

  • È necessario assicurarsi che le unità o i tipi di dati di ogni campo di cui si esegue il mapping siano conformi ai criteri del mapping dei campi per i campi dell'organizzazione standard e personalizzati. Per altre informazioni, vedere la sezione relativa ai tipi di dati e ai criteri di mapping dei campi in Limitazioni relative al mapping dei campi di Project Server nell'integrazione con TFS.

  • È possibile eseguire il mapping di campi che sono associati a elenchi di selezione in Team Foundation. È però necessario creare in Project Server tabelle di ricerca che corrispondano agli elenchi di selezione. Non è possibile sincronizzare automaticamente gli elenchi di selezione e le tabelle di ricerca.

Per altre informazioni, vedere Limitazioni relative al mapping dei campi di Project Server nell'integrazione con TFS.

Esempio: mapping del nome del team da visualizzare in Project

Nell'esempio seguente, il campo stringa personalizzato in Team Foundation, MyCompany.MyOrg.DevTeamName, è mappato a un campo di testo personalizzato dell'organizzazione in Project Server, My Company Team Name. È possibile usare questo esempio per visualizzare in Project Professional il nome del team associato a un'attività.

<field tfsName="MyCompany.MyOrg.DevTeamName" tfsMirrorName="Mirror.MyCompany.MyOrg.DevTeamName" displayTfsField="false" displayTfsMirror="false" onConflict="DoNothing">
   <tfsToTarget>
   <target provider="ProjectServerStatusQueue" name=" My Company Team Name" />
   </tfsToTarget>
   <targetToTfs>
      <target provider="ProjectServerPublished" name=" My Company Team Name" />
   </targetToTfs>
</field>

Nessuno dei due campi viene visualizzato nel form elemento di lavoro. Inoltre, se i valori non corrispondono, ogni campo mantiene il proprio valore.

Torna all'inizio

Esempio: visualizzazione dei percorsi di iterazione e area in Project

È possibile mappare i campi Area (System.AreaPath) e Iterazione (System.IterationPath) in Team Foundation in modo che siano visibili nei piani del progetto. Poiché questi campi del percorso dell'albero sono soggetti a frequenti modifiche, è consigliabile eseguirne il mapping come campi di testo in Project. I responsabili del progetto che usano questi campi devono immettere manualmente il percorso completo dell'area o dell'iterazione.

Importante

L'implementazione corrente dell'integrazione di Team Foundation Server e Project Server non supporta la sincronizzazione automatica di elenchi di valori consentiti, elenchi di selezione, elenchi globali o elenchi di percorsi di albero definiti per i campi di cui è stato eseguito il mapping tra i due prodotti server.Per ottenere un risultato migliore, è necessario immettere manualmente le voci nel piano del progetto che corrispondono a quelle in Team Foundation.Se si specifica una voce non è valida, viene visualizzata una finestra di dialogo di convalida quando si pubblica il piano.

Per aggiungere i campi Area e Iterazione a un piano del progetto, eseguire le azioni seguenti:

  1. Aggiungere due campi dell'organizzazione cliente a Project Server e identificarli come Area (TFS) e Iterazione (TFS).

    Per altre informazioni, vedere la pagina del sito Web Microsoft relativa alla creazione di tabelle di ricerca e campi personalizzati dell'organizzazione.

  2. Esportare i mapping campi dalla raccolta di progetti team dove sono definiti i progetti team.

    Per altre informazioni, vedere Scaricare i mapping in un file più avanti in questo argomento.

  3. Aggiungere al file il codice seguente:

    <field tfsName="System.AreaPath" tfsMirrorName="Mirror.System.AreaPath" displayTfsField="true" displayTfsMirror="true">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Area (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Area (TFS)" />
            </targetToTfs>
          </field>
          <field tfsName="System.IterationPath" tfsMirrorName="Mirror.System.IterationPath" displayTfsField="true" displayTfsMirror="true">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Iteration (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Iteration (TFS)" />
            </targetToTfs>
          </field>
    
  4. Importare il file dei mapping campi aggiornati come descritto in Caricare i mapping più avanti in questo argomento.

  5. Sincronizzare il piano del progetto con Project Server.

  6. Aggiungere due nuove colonne per i nuovi campi Area (TFS) e Iterazione (TFS) al piano del progetto.

Le modifiche apportate ai campi Area e Iterazione in Team Foundation saranno sincronizzate con questi campi nel piano del progetto. Inoltre, è possibile aggiornare questi campi in Project e pubblicare le modifiche in Team Foundation se si specificano valori definiti in Team Foundation.

Torna all'inizio

Scaricare i mapping in un file

Nota

È possibile scaricare i mapping solo da una raccolta di progetti team nella quale sono stati caricati.Per scaricare i mapping predefiniti in un file, è necessario prima caricarli, come descritto in Per caricare i mapping predefiniti più avanti in questo argomento.In alternativa, è possibile copiare il contenuto dei mapping predefiniti.Per altre informazioni, vedere Riferimento agli elementi XML per il mapping di campi per l'integrazione TFS-Project Server.

Per scaricare i mapping in un file

  1. Per eseguire lo strumento da riga di comando TfsAdmin, aprire una finestra del prompt dei comandi in cui è installato Visual Studio o Team Explorer e immettere:

    cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
    

    In una versione a 64 bit di Windows sostituire %programfiles% con %programfiles(x86)%..

  2. Digitare il seguente comando, quindi premere INVIO.

    TfsAdmin ProjectServer /DownloadFieldMappings /collection:tpcUrl /filePath:MappingFile
    

    Sostituire tpcUrl con l'URL della raccolta di progetti team e sostituire MappingFile con il percorso e il nome del file da personalizzare.

  3. Attendere la visualizzazione dei messaggi seguenti:

    Download di MappingFile nella raccolta di progetti team tpcUrl.

    Download completato del file di mapping del campo MappingFile nella raccolta di progetti team tpcUrl.

Aggiornare i mapping

Per ogni campo che si vuole aggiungere al file di mapping, è necessario specificare l'elemento field e i relativi sottoelementi e attributi. Per altre informazioni, vedere Riferimento agli elementi XML per il mapping di campi per l'integrazione TFS-Project Server.

Caricare i mapping

I mapping vengono caricati tramite il comando UploadFieldMappings. È possibile caricate i mapping predefiniti usando l'opzione /usedefaultfieldmapping. Altrimenti è necessario specificare un file che contiene gli elementi del mapping.

Per caricare i mapping predefiniti

  1. Al prompt dei comandi digitare il comando seguente, quindi premere INVIO.

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /usedefaultfieldmappings
    

    Sostituire tpcUrl con l'URL della raccolta di progetti team.

  2. Attendere la visualizzazione dei messaggi seguenti:

    Caricamento dei mapping dei campi predefiniti in CollectionUri.

    CollectionUri completato.

Per caricare i mapping da un file

  1. Al prompt dei comandi digitare il comando seguente, quindi premere INVIO.

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /filePath:MappingFile /force
    

    Sostituire tpcUrl con l'URL della raccolta di progetti team e sostituire MappingFile con il percorso e il nome del file di mapping personalizzato. Specificare /force se si aggiornano i mapping esistenti.

  2. Attendere la visualizzazione dei messaggi seguenti:

    Caricamento di MappingFile in una raccolta di progetti team tpcUrl.

    Caricamento del file di mapping dei campi MappingFile in una raccolta di progetti team tpcUrl completato.

Personalizzare la scheda Project Server

Quando si associa un piano del progetto dell'organizzazione a un progetto team, la scheda Project Server viene aggiunta al form elemento di lavoro, come mostrato nella figura seguente. La scheda viene aggiunta solo ai tipi di elementi di lavoro di cui si è specificata la partecipazione alla sincronizzazione dei dati. Questa scheda viene personalizzata impostando gli attributi displayTfsField o displayTfsMirror su true per i campi da visualizzare nel form.

Scheda Project Server

Campi predefiniti della scheda Project Server

Importante

I mapping dei campi definiti per la raccolta di progetti team determinano i campi visualizzati nella scheda Project Server.Una volta aggiunta questa scheda a un tipo di elemento di lavoro per un progetto team, è possibile aggiornarla modificando i mapping dei campi della raccolta.Se si personalizza manualmente il form elemento di lavoro aggiungendo campi alla scheda Project Server o modificando il relativo percorso nel form, è possibile che la scheda non sia aggiornata automaticamente con le modifiche future che verranno apportate ai mapping dei campi.Se si verifica questa condizione, è possibile modificare la scheda manualmente.Per altre informazioni, vedere Elementi XML aggiunti alla definizione per il tipo di elemento di lavoro.

Per altre informazioni su ogni campo predefinito visualizzato nella scheda Project Server, vedere Campi di Project Server aggiunti a TFS per supportare la sincronizzazione dei dati.

Vedere anche

Attività

Configurare l'integrazione TFS-Project Server

Concetti

Specificare i tipi di elementi di lavoro da sincronizzare

Amministrare l'integrazione di Team Foundation Server e Project Server