Condividi tramite


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 2010 e Project Server devono essere tenuti sincronizzati e quali 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 dei campi di Office Project.

È necessario mantenere un set di mapping dei campi per ogni insieme 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 dall'insieme. Dopo aver modificato il file, è possibile caricarlo nell'insieme e le modifiche verranno applicate a tutti i progetti team definiti per l'insieme specificato. Per ulteriori informazioni su come scaricare e caricare i mapping dei campi, vedere Personalizzazione del 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 viene eseguito il mapping del piano del progetto dell'organizzazione a un progetto team creato da un modello di processo basato su Microsoft Solutions Framework (MSF) per Agile Software Development v5.0 o su Capability Maturity Model Integration (CMMI) Process Improvement v5.0, è consigliabile non rimuovere i mapping predefiniti.

Tuttavia, se viene eseguito il mapping del piano a un progetto team creato utilizzando il modello di processo MSF Scrum 1.0, potrebbe essere necessario rimuovere alcuni mapping predefiniti. Se nell'insieme 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. Per ulteriori informazioni, vedere Aggiunta di campi ai tipi di elementi di lavoro quando si esegue il mapping a un progetto team creato dal modello di processo Scrum 1.0.

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 sui tre tipi di sincronizzazione, vedere Cenni preliminari sul processo di sincronizzazione per l'integrazione di Team Foundation Server e Project Server.

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 Tipi di dati e criteri di mapping dei campi.

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>

Sintassi 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">

Sintassi 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

Elementi 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 nell'insieme di progetti team. È possibile elencare tutti i campi di un insieme eseguendo il comando witadmin listfields. Per ulteriori informazioni, vedere Gestione di campi degli elementi di lavoro [witadmin].

tfsMirrorName

Obbligatorio. 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

Facoltativo. 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

Facoltativo. 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

Facoltativo. Consente di specificare il modo in cui i campi mirror e di riferimento verranno aggiornati tramite il motore di sincronizzazione. L'unico valore valido è PSWin.

Quando questo attributo viene impostato su PSWin, il valore del campo viene aggiornato quando il valore corrente pubblicato da Project Server differisce dal valore nel mirror.

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.

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.

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" />
        </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" />
        </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

Altre risorse

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

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

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

Amministrazione dell'integrazione di Team Foundation Server e Project Server

Cronologia delle modifiche

Data

Cronologia

Motivo

Aprile 2011

Rimossi i campi Lavoro completato e Lavoro rimanente dall'elenco dei campi obbligatori di cui è necessario eseguire il mapping. Chiarito il concetto di mapping dei campi di Team Foundation ai campi di attività e risorse Project durante le fasi di sincronizzazione dello stato e della pubblicazione. Indicazione relativa all'attributo tfsMirrorName obbligatorio.

Correzione di bug nel contenuto.