Riferimento agli elementi XML di mapping dei campi per l'integrazione di Team Foundation Server e Project Server

Personalizzando i mapping dei campi, è possibile definire quali campi in Visual Studio Team Foundation Server 2012 e Microsoft Project server devono essere considerati sincronizzato e i campi vengono aggiornati nella coda di stato per Project Server e in Team Foundation.

[!NOTA]

I mapping dei campi per l'integrazione di Team Foundation Server con Project Server sono diversi dal file di mapping per Microsoft Project.Per informazioni su questo file, vedere File di mapping campi di Microsoft Project.

È necessario mantenere un set di mapping dei campi per ogni raccolta di progetti team che ospita i progetti team che si desidera sincronizzare con Project Server.Per recuperare i mapping dei campi, è possibile scaricarli in un file dalla raccolta.Dopo aver modificato il file, è possibile caricarlo nella raccolta e le modifiche verranno applicate a tutti i progetti team definiti per la raccolta specificata.Per ulteriori informazioni su come scaricare e caricare i mapping dei campi, vedere Personalizzare il mapping dei campi tra Project Server e Team Foundation Server.

In questo argomento

  • Campi obbligatori

  • Campi predefiniti mappati

  • Elementi e attributi di mapping

  • Mapping dei campi predefiniti

Campi obbligatori

I campi seguenti devono essere mappati per supportare la sincronizzazione dei dati.Se i campi utilizzati per pianificare il lavoro sono stati personalizzati, è necessario personalizzare i mapping in modo che facciano riferimento ai campi utilizzati.

  • System.Title deve essere mappato a pjTaskName.

  • System.AssignedTo deve essere mappato a pjResourceNames.

  • Il campo utilizzato per tenere traccia dell'inizio del lavoro in Team Foundation deve essere mappato a pjTaskStart.Per impostazione predefinita, questo campo è Microsoft.VSTS.Scheduling.StartDate.

  • Il campo utilizzato per tenere traccia del lavoro completato in Team Foundation deve essere mappato a pjTaskFinish.Per impostazione predefinita, questo campo è Microsoft.VSTS.Scheduling.FinishDate.

Torna all'inizio

Campi predefiniti mappati

Per ogni campo in Team Foundation è possibile specificare due mapping.Nel primo mapping si specifica il campo di Project che viene aggiornato dal campo di Team Foundation nella coda di stato.Nel secondo mapping si specifica il campo di Project che aggiorna il campo di Team Foundation.È inoltre possibile specificare se il campo di Team Foundation viene visualizzato nel form elemento di lavoro e la modalità di aggiornamento dei campi mirror e di riferimento.

Di tutti i campi di Project di cui è stato eseguito il mapping viene eseguito anche il mirroring per impostazione predefinita, pertanto i valori vengono archiviati in Team Foundation.

Nota importanteImportante

Nella maggior parte delle configurazioni, è consigliabile non rimuovere i mapping dei campi predefiniti perché necessari al processo di sincronizzazione.Ad esempio, se i mapping del piano del progetto dell'organizzazione a un progetto team creato da un modello di processo basato su Microsoft Solutions Framework (MSF) for Agile Software Development o il miglioramento dei processi (CMMI) di capability maturity model integration.

Tuttavia, se viene eseguito il mapping a un progetto team creato utilizzando il modello di processo Scrum Visual Studio, è il piano possono essere necessario rimuovere alcuni mapping predefiniti.Se nella raccolta di progetti sono contenuti solo progetti team creati utilizzando il modello Scrum, si potrebbe ricevere un errore quando si configurano i due prodotti server.Per ottenere risultati migliori, aggiungere i campi Lavoro completato (Microsoft.VSTS.Scheduling.CompletedWork) e Stima originale (Microsoft.VSTS.Scheduling.OriginalEstimate) agli elementi di lavoro di cui si desidera eseguire il mapping.Inoltre, sarà necessario rimuovere le istruzioni del flusso di lavoro <EMPTY /> dalla definizione del tipo di attività.Per ulteriori informazioni, vedere Modifiche necessarie per eseguire quando si esegue il mapping a un progetto team creato dal modello di processo Scrum.

Nella tabella seguente vengono descritti i mapping predefiniti assegnati ai campi di Team Foundation.È possibile specificare il modo in cui verranno aggiornati i campi mirror e di riferimento.È possibile impostare OnConflict su PSWins per sovrascrivere il valore in Team Foundation con il valore di Project Server.Se si lascia l'attributo OnConflict non specificato, i campi mantengono valori diversi.Per ulteriori informazioni, rivedere la tabella Elementi field e relativi attributi più avanti in questo argomento.

Per ulteriori informazioni sui campi mirror e il processo di sincronizzazione, vedere Informazioni sulla gestione degli aggiornamenti a campi specifici.

Campo Team Foundation

Campo Project

Campo visualizzato nella scheda Project Server del form dell'elemento di lavoro (displayTfsField)

Campo con mirroring visualizzato nella scheda Project Server del form dell'elemento di lavoro (displayTfsMirror)

Aggiornamenti di campi (OnConflict)

Titolo

Nome attività

No

No

Il valore in Project Server sostituisce il valore in Team Foundation.

Assegnato a

Risorse

No

No

Il valore in Project Server sostituisce il valore in Team Foundation.

Lavoro rimanente

Risorse - Lavoro rimanente (coda di stato)

Lavoro rimanente attività (Project Server)

Ogni valore viene mantenuto.

Lavoro completato

Risorse - Lavoro effettivo (coda di stato)

Lavoro effettivo attività (Project Server)

Ogni valore viene mantenuto.

Stima originale

Lavoro previsto

No

Il valore in Project Server sostituisce il valore in Team Foundation.

Data di inizio

Risorse - Inizio (coda di stato)

Attività - Inizio (Project Server)

No

No

Il valore in Project Server sostituisce il valore in Team Foundation.

Data di fine

Risorse - Fine (coda di stato)

Attività - Fine (Project Server)

No

No

Il valore in Project Server sostituisce il valore in Team Foundation.

È possibile visualizzare più campi di Project nella scheda Project Server di un form elemento di lavoro in Team Foundation se vengono aggiunti ai mapping dei campi.Per ulteriori informazioni su questa scheda, vedere Campi di Project Server aggiunti per supportare la sincronizzazione dei dati.

Torna all'inizio

Elementi e attributi di mapping

Si utilizza un elemento field per specificare un campo di riferimento in Team Foundation da sincronizzare.Tutti gli elementi field sono inclusi negli elementi contenitore mappingFile, persistables e Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping.

Nota importanteImportante

Quando si esegue il mapping di un campo da Team Foundation Server a Project Server, accertarsi che i tipi di dati di tali campi corrispondano.In caso contrario, si potrebbe ricevere l'errore seguente quando si tenta di caricare i mapping dei campi:

L'indice (in base zero) deve essere maggiore o uguale a zero e minore della dimensione dell'elenco degli argomenti.

Per ulteriori informazioni, vedere Data Types and Field Mapping Criteria.

Nell'esempio seguente viene mostrata la struttura di annidamento di elementi XML.Per visualizzare i mapping predefiniti, vedere File dei mapping predefiniti più avanti in questo argomento.

<mappingFile>
   <persistables>
      <Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
         <field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
            <tfsToTarget>
               <target provider="ProjectServerStatusQueue" name="pjTaskName" />
            </tfsToTarget>
            <targetToTfs>
               <target provider="ProjectServerPublished" name="pjTaskName" />
            </targetToTfs>
         </targetToTfs>
      </field>

         . . .

    </Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
  </persistables>
</mappingFile>

Gg412657.collapse_all(it-it,VS.110).gifSintassi degli elementi dei campi

Nella sintassi riportata di seguito vengono definiti gli attributi dell'elemento field:

<field tfsName="FieldName" tfsMirrorName="FieldMirrorName" displayTfsField="true | false" displayTfsMirror=" true | false" onConflict="PSWin">

Gg412657.collapse_all(it-it,VS.110).gifSintassi dell'elemento Target

Nella sintassi riportata di seguito vengono definiti gli attributi dell'elemento target:

<target provider="ProviderName" name="ProjectFieldName" />

Per determinare il nome del campo, anteporre il prefisso "pj" al nome descrittivo concatenato.Ad esempio, il nome del campo per Manager stato è pjStatusManager, mentre il nome del campo per Custom 01 è pjCustom01.

Torna all'inizio

Gg412657.collapse_all(it-it,VS.110).gifElementi field e relativi attributi

Nella tabella riportata di seguito sono descritti i sottoelementi e gli attributi dell'elemento field.Viene eseguito il mapping di un campo Team Foundation a un campo delle risorse Project di cui si desidera aggiornare il valore durante la sincronizzazione dello stato.Viene eseguito il mapping di un campo Team Foundation a un campo delle attività Project il cui valore aggiornerà Team Foundation Server durante la sincronizzazione della pubblicazione.Inoltre, le unità di campi di cui eseguire il mapping devono essere conformi ai criteri stabiliti.Per ulteriori informazioni, vedere Restrizioni relative al mapping dei campi di Project Server per l'integrazione con Team Foundation Server.

Elemento

Attributo

Descrizione

field

Specifica il campo di Team Foundation da mappare e come deve essere eseguito il mapping.

tfsName

Specifica il nome di riferimento del campo di Team Foundation da sincronizzare.È necessario specificare un campo definito nella raccolta di progetti team.È possibile elencare tutti i campi di una raccolta eseguendo il comando witadmin listfields.Per ulteriori informazioni, vedere Gestire i campi degli elementi di lavoro [witadmin].

tfsMirrorName

Necessario.Specifica il nome di riferimento sotto il quale archiviare il valore del campo Project Server in Team Foundation Server.È possibile anteporre al nome di riferimento il prefisso "Mirror". Ad esempio, è possibile specificare Mirror.System.Title per System.Title.

NotaNota
I campi mirror specificati vengono creati automaticamente.Non è necessario aggiungere i campi mirror alla definizione del tipo di un elemento di lavoro.

displayTfsField

Opzionale.Per impostazione predefinita, questo attributo è impostato su true.Se questo attributo viene impostato su true, il campo viene visualizzato nella scheda Project Server del form elemento di lavoro in Team Foundation.Se l'attributo viene impostato su false, il campo non viene visualizzato nel form.Per impostazione predefinita, solo i campi Lavoro completato e Lavoro rimanente vengono visualizzati nel form.

displayTfsMirror

Opzionale.Per impostazione predefinita, questo attributo è impostato su true.Se questo attributo viene impostato su true, il campo viene visualizzato nella scheda Project Server del form elemento di lavoro in Team Foundation.Se l'attributo viene impostato su false, il campo non viene visualizzato nel form.

onConflict

Opzionale.Specifica come il motore di sincronizzazione aggiorna il campo di riferimento.L'unico valore valido è PSWin.

Quando l'attributo è impostato su PSWin, il valore del campo di riferimento viene aggiornato quando il valore corrente pubblicato da Project Server differisce dal valore in modalità.

Se non si definisce questo attributo, si indica che devono essere mantenute due serie diverse di valori possibili.In altre parole, il valore in Project può differire dal valore in Team Foundation.Per impostazione predefinita, i valori di Project sostituiscono sempre i valori dei campi Titolo, Assegnato a, Data di inizio e Data di fine.Per impostazione predefinita, solo i campi Lavoro completato e Lavoro rimanente vengono mantenuti con due serie diverse di valori possibili.Per ulteriori informazioni, vedere Aggiornamenti a campi che contengono ore.

tfsToTarget

Specifica il nome del campo di Project che verrà aggiornato da Team Foundation.

target

Specifica la destinazione degli aggiornamenti provenienti da Team Foundation.

provider

Specifica il nome del provider dell'aggiornamento.Per tfsToTarget l'unico valore valido è ProjectServerStatusQueue.

name

Specifica il nome del campo di Project che verrà aggiornato con il valore in Team Foundation.È possibile eseguire il mapping solo dei campi incorporati e personalizzati dell'organizzazione in Project server.Per un elenco di campi disponibili, vedere Fields Available for Mapping to the Status Queue.

targetToTfs

Specifica il mapping dei campi per sincronizzare gli aggiornamenti in Project Server con Team Foundation Server.

target

Specifica la destinazione degli aggiornamenti provenienti da Project Server.

provider

Specifica il nome del provider dell'aggiornamento.Per targetToTfs l'unico valore valido è ProjectServerPublished.

name

Specifica il nome del campo di Project tramite cui verrà aggiornato il campo in Team Foundation.È possibile eseguire il mapping solo dei campi incorporati o personalizzati dell'organizzazione.Per un elenco di campi disponibili, vedere Fields Available for Mapping from Project Server to Team Foundation Only.

transforms

Opzionale.Elemento contenitore per l'elemento transform.

transform

transformType

Specifica il tipo di trasformazione da applicare al campo.È possibile specificare solo transformType per targetToTfs e solo per i tipi di campi numerici.L'unico valore valido è ClearValueIfParent.

Quando il motore di sincronizzazione rileva una gerarchia a un elemento di lavoro dalla sincronizzazione con Project Server, viene eseguito il rollup del lavoro e le assegnazioni invio a Project Server.Tuttavia, con transformType impostato su ClearValueIfParent, il motore di sincronizzazione rimuove i campi di lavoro nell'elemento di lavoro padre in Team Foundation Server per evitare di dati errati nei rapporti standard Team Foundation Server.

Torna all'inizio

Mapping predefiniti

Nel codice seguente vengono elencati i mapping dei campi predefiniti che vengono definiti quando si esegue il comando TfsAdmin ProjectServer /UploadFieldMappings e si specifica l'opzione /useDefaultFieldMappings.È possibile scaricare questi mapping in un file e aggiungervi elementi o modificare gli attributi dei campi elencati.

Per un elenco di tutti i campi che vengono aggiunti a un tipo di elemento di lavoro quando si aggiunge tale tipo alla sincronizzazione dei dati, vedere Campi di Project Server aggiunti per supportare la sincronizzazione dei dati.

<mappingFile>
  <persistables>
    <Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
      <field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjTaskName" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskName" />
        </targetToTfs>
      </field>
      <field tfsName="System.AssignedTo" tfsMirrorName="Mirror.System.AssignedTo" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjTaskResourceNames" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskResourceNames" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.CompletedWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.CompletedWork" displayTfsField="true" displayTfsMirror="true">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceActualWork" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskActualWork" />
            <transforms>
               <transform transformType="clearValueIfParent">
            </transforms>
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.RemainingWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.RemainingWork" displayTfsField="true" displayTfsMirror="true">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceRemainingWork" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskRemainingWork" />
            <transforms>
               <transform transformType="clearValueIfParent">
            </transforms>
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.OriginalEstimate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.OriginalEstimate" displayTfsField="false" displayTfsMirror="true" onConflict="PSWin">
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskBaselineWork" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.StartDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.StartDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceStart" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskStart" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.FinishDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.FinishDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceFinish" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskFinish" />
        </targetToTfs>
      </field>
    </Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
  </persistables>
</mappingFile>

Torna all'inizio

Vedere anche

Riferimenti

Gestire mapping dei campi per l'integrazione di Team Foundation Server e Project Server

Concetti

Restrizioni relative al mapping dei campi di Project Server per l'integrazione con Team Foundation Server

Campi di Project Server aggiunti per supportare la sincronizzazione dei dati

Amministrare l'integrazione di Team Foundation Server e Project Server

Altre risorse

Personalizzare il mapping dei campi tra Project Server e Team Foundation Server