Share via


Administrar las asignaciones de referencias de elementos XML para la integración de Team Foundation Server y Project Server

Al personalizar las asignaciones de campos, puede definir qué campos de Visual Studio Team Foundation Server 2010 y Project Server se deben mantener sincronizados y qué campos se actualizan en la cola de estado para Project Server y en Team Foundation.

Nota

Las asignaciones de campos para la integración de Team Foundation Server con Project Server son distintas de la asignación de archivos de Microsoft Project. Para obtener más información acerca de esta última, vea El archivo de asignaciones de campo en Microsoft Project.

Se mantiene un conjunto de asignaciones de campos para cada colección de proyectos de equipo que hospeda los proyectos de equipo que desea sincronizar con Project Server. Para recuperar las asignaciones de campos, puede descargarlas en un archivo de la colección. Después de modificar el archivo, puede cargarlo en la colección; los cambios se aplicarán a todos los proyectos de equipo definidos para esa colección. Para obtener más información sobre cómo descargar o cargar las asignaciones de campos, vea Personalizar las asignaciones de campos entre Team Foundation Server y Project Server.

En este tema

  • Campos necesarios

  • Campos de predeterminados que están asignados

  • Asignar elementos y atributos

  • Asignaciones de campos predeterminadas

Campos necesarios

Los siguientes campos deben estar asignados para admitir la sincronización de datos. Si ha personalizado los campos que se utilizan para programar el trabajo, debe personalizar las asignaciones de campos para hacer referencia a los campos que utiliza.

  • System.Title debe estar asignado a pjTaskName.

  • System.AssignedTo debe estar asignado a pjResourceNames.

  • El campo que utiliza para realizar el seguimiento del inicio del trabajo en Team Foundation debe estar asignado a pjTaskStart. De forma predeterminada, este campo es Microsoft.VSTS.Scheduling.StartDate.

  • El campo que utiliza para realizar el seguimiento del trabajo completado en Team Foundation debe estar asignado a pjTaskFinish. De forma predeterminada, este campo es Microsoft.VSTS.Scheduling.FinishDate.

Volver al principio

Campos de predeterminados que están asignados

Para cada campo de Team Foundation puede especificar dos asignaciones. En la primera asignación, especifique el campo de Project que el campo de Team Foundation actualiza en la cola de estado. En la segunda asignación, especifique el campo de Project que actualiza el campo de Team Foundation. Además, puede especificar si el campo de Team Foundation aparece en el formulario de elemento de trabajo y cómo las actualizaciones se realizan para hacer referencia y campos reflejados.

De forma predeterminada, todos los campos de Project que están asignado también se reflejan, lo que significa que sus valores están almacenados en Team Foundation.

Nota importanteImportante

En la mayoría de las configuraciones, no debe quitar las asignaciones de campos predeterminadas de la mayoría de las configuraciones porque el proceso de sincronización las requiere. Por ejemplo, no quite las asignaciones predeterminadas si el plan de proyecto empresarial está asignado a un proyecto de equipo creado a partir de una plantilla de proceso basada en Microsoft Solutions Framework (MSF) para Agile Software Development v5.0 o Capability Maturity Model Integration (CMMI) Process Improvement v5.0, no quite las asignaciones predeterminadas.

Sin embargo, si el plan se asigna a un proyecto de equipo creado con la plantilla de proceso MSF Scrum 1.0, debe quitar algunas de las asignaciones predeterminadas. Si la colección de proyectos solo contiene proyectos de equipo que se crearon utilizando la plantilla Scrum, puede recibir un error al configurar los dos productos de servidor. Para obtener los mejores resultados, agregue Trabajo completado (Microsoft.VSTS.Scheduling.CompletedWork) y original estimado (Microsoft.VSTS.Scheduling.OriginalEstimate) a los elementos de trabajo que piensa asignar. Para obtener más información, vea Agregar los campos a los tipos de elemento de trabajo al asignar a un proyecto de equipo que se creó a partir de la plantilla de proceso de Scrum 1.0..

En la siguiente tabla se describen las asignaciones predeterminadas que están asignadas a los campos de Team Foundation. Puede especificar cómo desea actualizar los campos reflejo y de referencia. Puede establecer OnConflict en PSWins para sobrescribir el valor de Team Foundation con el valor de Project Server. Si deja el atributo OnConflict sin especificar, los campos mantienen valores diferentes. Para obtener más información, revise la tabla Atributos y elementos de campo más adelante en este tema.

Para obtener más información sobre los campos reflejados y los tres tipos de sincronización, vea Información general sobre el proceso de sincronización para la integración de Team Foundation Server y Project Server.

Campo de Team Foundation

Campo de Project

Campo de presentación en la pestaña de Project Server del formulario de elemento de trabajo (displayTfsField)

Campo de presentación reflejado en la pestaña Project Server del formulario de elemento de trabajo (displayTfsMirror)

Actualizaciones de campo (OnConflict)

Título

Nombre de tarea

No

No

El valor de Project Server reemplaza al valor de Team Foundation.

Asignado a

Recursos

No

No

El valor de Project Server reemplaza al valor de Team Foundation.

Trabajo restante

Trabajo restante del recurso (cola de estado)

Trabajo restante de la tarea (Project Server)

Se mantiene cada valor.

Trabajo completado

Trabajo real del recurso (cola de estado)

Trabajo real de la tarea (Project Server)

Se mantiene cada valor.

Estimación original

Trabajo de línea base

No

El valor de Project Server reemplaza al valor de Team Foundation.

Fecha de inicio

Inicio del recurso (cola de estado)

Inicio de la tarea (Project Server)

No

No

El valor de Project Server reemplaza al valor de Team Foundation.

Fecha de fin

Fin del recurso (cola de estado)

Fin de la tarea (Project Server)

No

No

El valor de Project Server reemplaza al valor de Team Foundation.

Puede mostrar más campos de Project en la pestaña Project Server de un formulario de elemento de trabajo de Team Foundation si los agrega a las asignaciones de campos. Para obtener más información acerca de esta pestaña, vea Campos de Project Server agregados para admitir la sincronización de datos.

Volver al principio

Asignar elementos y atributos

Puede utilizar un elemento field para especificar un campo de referencia de Team Foundation para sincronizarlo. Todos los elementos field están incluidos en los elementos contenedores mappingFile, persistables y Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping.

Nota importanteImportante

Al asignar un campo de Team Foundation Server a Project Server, asegúrese de que coincide con los tipos de datos de esos campos. De lo contrario, el siguiente error podría producirse cuando intentar cargar las asignaciones de campos:

El índice (basado en cero) debe ser mayor o igual a cero y menor que el tamaño de la lista de argumentos.

Para obtener más información, vea Tipos de datos y criterios de asignación de campos.

En el siguiente ejemplo se muestra la estructura de anidación de los elementos XML. Para ver las asignaciones predeterminadas, vea Archivo de asignación predeterminado, más adelante en este tema.

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

Sintaxis del elemento de campo

La siguiente sintaxis define los atributos del elemento field:

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

Sintaxis del elemento de destino

La siguiente sintaxis define los atributos del elemento target:

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

Para determinar el nombre del campo, agregue el prefijo "pj" al sólo nombre concatenado. Por ejemplo, el nombre de campo para Status Manager es pjStatusManager y el nombre de campo para Custom 01 es pjCustom01.

Volver al principio

Elementos y atributos de campos

En la siguiente tabla se describen los subelementos y atributos del elemento field. Asigne un campo de Team Foundation a un campo de recursos del proyecto cuyo valor desee actualizar durante la sincronización de estado. Asigne un campo de Team Foundation a un campo de tarea del proyecto cuyo valor actualizará Team Foundation Server durante la sincronización de la publicación. También debe asegurarse de que las unidades de los campos que asigna cumplan los criterios establecidos. Para obtener más información, vea Restricciones en la asignación de campos de Project Server para la integración con Team Foundation Server.

Elemento

Atributo

Descripción

field

Especifica el campo de Team Foundation que se va a asignar y cómo se debe asignar.

tfsName

Especifica el nombre de referencia del campo de Team Foundation que se va a sincronizar. Debe especificar un campo definido en la colección de proyectos de equipo. Puede hacer una lista de todos los campos de una colección si ejecuta el comando witadmin listfields. Para obtener más información, vea Administrar campos de elemento de trabajo [witadmin].

tfsMirrorName

Obligatorio. Especifica el nombre de referencia con el que se almacena el valor del campo de Project Server en Team Foundation Server. Puede agregar el prefijo "Mirror" al nombre de referencia. Por ejemplo, puede especificar Mirror.System.Title para System.Title.

NotaNota
El sistema crea automáticamente los campos reflejo que especifique.No tiene que agregar los campos reflejo a la definición de tipo de un elemento de trabajo.

displayTfsField

Opcional. De forma predeterminada, este atributo está establecido en true. Si este atributo está establecido en true, el campo aparece en la pestaña Project Server del formulario de elemento de trabajo en Team Foundation. Si este atributo está establecido en false, el campo no aparece en el formulario. De forma predeterminada, solo aparecen los campos Trabajo completado y Trabajo restante en el formulario.

displayTfsMirror

Opcional. De forma predeterminada, este atributo está establecido en true. Si este atributo está establecido en true, el campo aparece en la pestaña Project Server del formulario de elemento de trabajo en Team Foundation. Si este atributo está establecido en false, el campo no aparece en el formulario.

onConflict

Opcional. Especifica cómo el motor de sincronización actualiza los campos de referencia y reflejo. El único valor válido es PSWin.

Cuando este atributo está establecido en PSWin, el valor del campo se actualiza cuando el valor actual publicado en Project Server es diferente del valor en el reflejo.

Si no se define este atributo, indica que se deberían mantener dos conjuntos de libros. En otras palabras, el valor en Project puede ser diferente del valor en Team Foundation. De forma predeterminada, los valores en el proyecto siempre reemplazan los valores de los campos Título, Asignado a, Fecha de inicio y Fecha de fin. De forma predeterminada, solo los campos Trabajo completado y Trabajo restante se mantienen con dos conjuntos de libros.

tfsToTarget

Especifica el nombre del campo de Project Server que actualizará Team Foundation.

target

Especifica el destino para recibir las actualizaciones de Team Foundation.

provider

Especifica el nombre del proveedor de actualización. Para tfsToTarget, el único valor válido es ProjectServerStatusQueue.

name

Especifica el nombre del campo de Project que se actualizará con el valor de Team Foundation. Solo puede asignar campos integrados o de empresa personalizados en Project Server. Para obtener una lista de campos disponibles, vea Fields Available for Mapping to the Status Queue.

targetToTfs

Especifica la asignación de campos para sincronizar las actualizaciones en Project Server con Team Foundation Server.

target

Especifica el destino para recibir las actualizaciones en Project Server.

provider

Especifica el nombre del proveedor de actualización. Para targetToTfs, el único valor válido es ProjectServerPublished.

name

Especifica el nombre del campo de Project Server que actualizará el campo en Team Foundation. Solo puede asignar campos integrados o de empresa personalizados. Para obtener una lista de campos disponibles, vea Fields Available for Mapping from Project Server to Team Foundation Only.

Volver al principio

Asignaciones predeterminadas

El código siguiente hace una lista de las asignaciones de campos predeterminadas que se definen al ejecutar el comando TfsAdmin ProjectServer /UploadFieldMappings y especificar la opción /useDefaultFieldMappings. Puede descargar estas asignaciones en un archivo y, a continuación, agregar elementos o modificar los atributos de los campos enumerados.

Para obtener una lista de todos los campos que se agregan a un tipo de elemento de trabajo al agregar ese tipo para que participe en la sincronización de datos, vea Campos de Project Server agregados para admitir la sincronización de datos.

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

Volver al principio

Vea también

Otros recursos

Restricciones en la asignación de campos de Project Server para la integración con Team Foundation Server

Campos de Project Server agregados para admitir la sincronización de datos

Administrar las asignaciones de campos para la integración de Team Foundation Server y Project Server

Personalizar las asignaciones de campos entre Team Foundation Server y Project Server

Administrar la integración de Team Foundation Server y Project Server

Historial de cambios

Fecha

Historial

Motivo

1 de abril de 2011

Se han quitado los campos Trabajo completado y Trabajo restante de la lista de campos obligatorios que se deben asignar. Se ha aclarado la asignación de campos de Team Foundation a los campos de tareas y recursos del proyecto durante las fases de sincronización de estado y publicación. Se ha indicado que el atributo tfsMirrorName es obligatorio.

Corrección de errores de contenido.