Modificar o agregar un tipo de elemento de trabajo (WIT) personalizado

Como administrador de proyectos, quizá desee modificar un tipo de elemento de trabajo (WIT) existente para admitir requisitos de seguimiento o procesos de flujo de trabajo adicionales. Las razones más comunes para modificar un WIT son agregar o modificar el conjunto de campos o reglas de campo, cambiar el flujo de trabajo o personalizar el formulario de elemento de trabajo. Estos tres motivos se corresponden con las tres secciones principales del archivo de definición XML del WIT: FIELDS, WORKFLOW y FORM.

Todas estas modificaciones requieren la edición de la definición del WIT, que solo es posible para implementaciones locales de TFS. Este tema proporciona información general sobre lo que puede personalizar y le lleva a contenido sobre los procedimientos.

Tipos de elemento de trabajo, personalizar

Agregar o modificar campos, reglas de campo, etiquetas o texto vacío

Agregue los campos y las reglas de campo en la sección FIELDS. Para que el campo aparezca en el formulario de elemento de trabajo, también debe agregarlo a la sección FORM de la definición del WIT.

Por ejemplo, para agregar el identificador de elemento de trabajo a un formulario, especifique la sintaxis XML siguiente en la sección FORM.

<Control FieldName="System.ID" Type="FieldControl" Label="ID" LabelPosition="Left" />

Para obtener más información sobre la definición de campos, vea Agregar o modificar un campo para admitir consultas, informes y flujos de trabajo.

Cambiar estados, motivos y transiciones de flujo de trabajo, o agregar reglas de campo de flujo de trabajo

En las secciones STATES y REASONS de WORKFLOW se especifican los valores de las listas de selección de los campos Estado y Motivo. Realizan el seguimiento del estado de los elementos de trabajo. La sección TRANSITIONS especifica las transiciones válidas entre estados, como se muestra en la ilustración siguiente. Especifique tanto las transiciones hacia delante como las regresivas.

Diagrama de estados de flujo de trabajo de ejemplo

Estados de flujo de trabajo de casos de usuario, plantilla de proceso de Agile

Cambie el flujo de trabajo para lograr los objetivos siguientes:

  • Agregar o quitar un estado, motivo o transición.

  • Especificar un valor para el campo que se aplique durante un cambio de estado, motivo o transición.

  • Especificar una personalización de ACTION para automatizar las asignaciones de campos en función de un cambio de estado, motivo o transición.

Cuando personalice el flujo de trabajo, siga estos dos pasos:

  1. Modifique el flujo de trabajo de la definición del WIT.

  2. Modifique la configuración de proceso para asignar nuevos estados de flujo de trabajo a metaestados.

    Este segundo paso es necesario en las siguientes circunstancias:

    • Al cambiar el flujo de trabajo de un WIT que aparece en una página de herramienta de planeación de Agile. Estos WIT pertenecen a las categorías de requisitos o tareas. Para obtener más información acerca de la configuración de estas herramientas, vea Configurar y personalizar herramientas de planeación ágiles para un proyecto de equipo.

    • Al cambiar el flujo de trabajo del plan de pruebas o del conjunto de pruebas y trabajar desde un cliente de Test Manager proporcionado con Visual Studio 2013.2 o versiones anteriores. Estos WIT están disponibles desde el momento en que se actualizó el servidor de capa de aplicación a TFS 2013.3. que aparece en una página de herramienta de planeación de Agile.

      Si se produce el error La aplicación detectó un error inesperado al conectarse al proyecto de equipo después de cambiar el flujo de trabajo, puede resolverlo asignando los nuevos estados del flujo de trabajo a metaestados. Para resolver un error, vea Importar y exportar la configuración del proceso [witadmin].

Reglas de campo de flujo de trabajo

Se pueden aplicar reglas de campo cuando se cambia el estado, se especifica un motivo o durante una transición del flujo de trabajo.

Por ejemplo, si agrega la regla EMPTY cuando el estado está establecido en Activo, puede anular automáticamente los campos Fecha de cierre y Cerrado por, y convertirlos en campos de solo lectura. Esto resulta útil cuando se reactiva un elemento de trabajo en estado cerrado.

<STATE value="Active">
   <FIELDS>
. . .
      <FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
      <FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
   </FIELDS>
</STATE>

Aplique reglas de campo de flujo de trabajo para realizar las acciones siguientes:

  • Calificar el valor que puede tener un campo especificando CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY y REQUIRED.

  • Copiar un valor en un campo utilizando COPY, DEFAULT y SERVERDEFAULT.

  • Restringir quién puede modificar un campo.

  • Exigir la coincidencia de patrones en un campo de cadena utilizando MATCH.

  • Aplicar condicionalmente reglas basadas en valores de otros campos utilizando WHEN, WHENNOT, WHENCHANGED y WHENNOTCHANGED.

  • Limitar las reglas que se van a aplicar a grupos o usuarios concretos. La mayoría de las reglas admiten los atributos for o not para determinar a quién se aplica la regla y a quién no.

Para obtener más información sobre la aplicación de reglas de campos de flujo de trabajo, vea Referencia de elementos FIELD (flujo de trabajo).

Personalizar el formulario del elemento de trabajo

En la ilustración siguiente se resaltan los elementos más comunes de los formularios de elementos de trabajo. Puede personalizarlos todos excepto el área de título y los controles de formulario.

Elementos y controles de formulario de elemento de trabajo

Puede personalizar un formulario de WIT para lograr los objetivos siguientes:

Editar la definición de WIT

Para editar la definición de WIT, exporta, modifica y, a continuación, importa el archivo de definición de WIT.

Proceso de personalización de un objeto WIT

Con witadmin, puede importar y exportar los archivos de definición. Otras herramientas que puede usar para modificar la sintaxis XML para un objeto son el editor de procesos, disponible con la descarga de las herramientas mejoradas de TFS o el administrador de proyectos de equipo de TFS, un proyecto de recursos de la comunidad disponible en CodePlex.

  1. Si no tiene permisos de administración para el proyecto de equipo, obténgalos.

  2. Abra una ventana de símbolo del sistema donde esté instalado Visual Studio o Team Explorer y escriba:

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

    En una edición de 64 bits de Windows, reemplace %programfiles% por %programfiles(x86)%. Vaya aquí para descargar Team Explorer de forma gratuita.

  3. Exporte el archivo de definición de WIT donde desea modificar o agregar un campo. Especifique el nombre del WIT y un nombre para el archivo.

    witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:TypeName /f:"DirectoryPath/FileName.xml"
    

    Un ejemplo de DirecciónURLdeColección es http://MiServidor:8080/tfs/NombreDeColecciónDeProyectoDeEquipo.

  4. Edite el archivo. Para obtener información detallada, vea Seguimiento de elementos de trabajo: Índice de definiciones de elementos XML.

  5. Importe el archivo de definición de WIT.

    witadmin importwitd /collection:CollectionURL /p:ProjectName /f:"DirectoryPath/FileName.xml"
    
  6. Abra TWA o Team Explorer para ver los cambios. Si el cliente ya está abierto, actualice la página.

    En Team Explorer, elija el botón Actualizar Actualizar.

    Las últimas actualizaciones se descargan del servidor, incluso los cambios que acaba de importar. Espere varios segundos hasta que la actualización finalice.

    Para obtener más información acerca de cómo usar witadmin, vea Importar, exportar y administrar tipos de elementos de trabajo [witadmin].

Preguntas y respuestas

P: ¿Cómo se trabaja con etiquetas?

R: Para obtener información sobre cómo agregar etiquetas y listas de filtros, vaya aquí.

P: ¿Qué personalizaciones puedo realizar que sigan utilizando el asistente para Configurar características con el fin de actualizar mi proyecto de equipo tras una actualización de TFS?

R: Puede agregar WIT personalizados y cambiar el diseño del formulario. El asistente para Configurar características actualizará sus proyectos de equipo, y obtendrá acceso a las últimas características.

Los cambios en el flujo de trabajo o en el nombre de un WIT pueden requerir algunas operaciones manuales a la hora de actualizar su proyecto de equipo. Para obtener información sobre qué otras personalizaciones puede realizar con seguridad y cuáles debe evitar, consulte Personalizar la experiencia de seguimiento del trabajo: Antes de realizar la personalización, debe entender las implicaciones de esta en el mantenimiento y la actualización.

P: ¿Cómo se agrega un nuevo WIT?

R: La manera más sencilla de agregar un nuevo WIT es copiar uno ya existente y luego modificar el archivo de definición. Para obtener un ejemplo, vea Crear un tipo de elemento de trabajo.

P: ¿Se puede cambiar el nombre de un WIT?

R: Sí. Para cambiar de nombre un WIT existente, use witadmin renamewitd. Por ejemplo, puede cambiar el nombre de un WIT denominado “QoS Item” a “Service Agreement”.

witadmin renamewitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"QoS Item" /new:"Service Agreement"

Al cambiar el nombre de un WIT que pertenece a una categoría, tiene que actualizar la definición de las categorías para que el proyecto de equipo refleje el nuevo nombre. En particular, las herramientas de planeación de Agile no funcionarán hasta que se actualice la definición de categorías.

Para obtener más información, vea Importar, exportar y administrar tipos de elementos de trabajo [witadmin] y Importar y exportar categorías [witadmin].

P: ¿Cómo se desactiva o deshabilita un WIT?¿Cómo se puede impedir que los usuarios creen elementos de trabajo de un tipo determinado?

R: Si tiene un WIT que desea retirar, pero manteniendo los elementos de trabajo creados basados en ese tipo, puede agregar una regla que impida a todos los usuarios válidos guardar el tipo de elemento de trabajo.

<TRANSITION from=" " to="New">
   <FIELDS>
     <FIELD refname="System.CreatedBy">
         <VALIDUSER not="[Team Project Name]Project Valid Users" />
     </FIELD>
   </FIELDS>
</TRANSITION> 

Si desea restringir la creación de un WIT concreto a un grupo de usuarios, hay dos maneras de restringir el acceso:

  • Agregue el WIT al grupo de categorías ocultas para impedir su creación por parte de la mayoría de los colaboradores del proyecto. Si desea permitir el acceso a un grupo de usuarios, puede crear un hipervínculo a una plantilla que abra el formulario de elemento de trabajo y compartir ese vínculo con los miembros del equipo que desea que los creen.

  • Agregue una regla de campo al flujo de trabajo para el campo System.CreatedBy para impedir que un grupo de usuarios cree un elemento de trabajo de un tipo específico. Como se muestra en el ejemplo siguiente, el usuario que crea el elemento de trabajo debe pertenecer a Allowed Group para guardar el elemento de trabajo.

    <TRANSITION from=" " to="New">
       <FIELDS>
         <FIELD refname="System.CreatedBy">
             <VALIDUSER for="Allowed Group" not="Disallowed Group" />
         </FIELD>
       </FIELDS>
    </TRANSITION> 
    

P: ¿Cómo se elimina un WIT?

R: Para evitar que los miembros del equipo utilicen un WIT concreto para crear un elemento de trabajo, puede quitarlo del proyecto de equipo. Cuando se utiliza witadmin destroywitd, se quita permanentemente todos los elementos de trabajo creados con ese WIT, así como el propio WIT. Por ejemplo, si el equipo no utiliza “Impediment”, puede eliminar el WIT con la etiqueta “Impediment” del proyecto de sitio web de Fabrikam.

witadmin destroywitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"Impediment" 

Al eliminar un WIT que pertenece a una categoría, debe actualizar la definición de las categorías para que el proyecto de equipo refleje el nuevo nombre. En particular, las herramientas de planeación de Agile no funcionarán hasta que se actualice la definición de categorías.

Para obtener más información, vea Importar, exportar y administrar tipos de elementos de trabajo [witadmin] y Importar y exportar categorías [witadmin].

P: ¿ Se puede cambiar el color asociado a un WIT?

R: Sí. En Team Web Access, los elementos de trabajo aparecen en los resultados de la consulta y en las páginas de trabajo pendiente y de panel de las herramientas de planeación de Agile. Para cambiar el color asociado a un WIT existente o agregar el color que se va a usar para un nuevo WIT, edite la configuración de proceso.

Asignaciones de color a diferentes tipos de elemento de trabajo

P: ¿Se puede agregar o quitar un WIT en el trabajo pendiente o panel de tareas?

R: Sí. Las herramientas de planeación de Agile (trabajo pendiente del producto, trabajo pendiente del sprint y páginas del panel de tareas) muestran WIT específicos en función de la plantilla de proceso usada para crear el proyecto de equipo. En estas páginas puede agregar o quitar WIT. Por ejemplo, si el proyecto de equipo utiliza WIT de Scrum, los errores y elementos de trabajo pendiente del producto aparecen en las páginas de trabajo pendiente. Sin embargo, si el proyecto de equipo se creó mediante la plantilla de proceso de Agile, de CMMI u otra plantilla de proceso, los errores no aparecerán en el panel de tareas ni en el trabajo pendiente.

Por ejemplo, puede agregar errores desde la página de trabajo pendiente del producto.

Panel actualizado con el tipo de elemento de trabajo de error agregado

Para obtener información sobre cómo agregar o quitar WIT del trabajo pendiente o del panel de tareas, vaya aquí. Para agregar un nuevo WIT para admitir un trabajo pendiente de cartera, vaya aquí.

P: ¿Cuándo se modifica un WIT, cómo se ven afectados los elementos de trabajo existentes?

R: En la tabla siguiente se resume el efecto de modificar los campos o definiciones de WIT en los elementos de trabajo existentes.

Acción

Efecto en los elementos de trabajo existentes

Quitar campos de un WIT

Los datos de los campos que se han quitado permanecen en el almacén de datos. Sin embargo, no se pueden agregar datos nuevos, porque se han quitado de la definición de WIT.

Cambiar el nombre de un campo

Los datos de los campos cuyos nombres se han cambiado permanecen en el almacén de datos con el nuevo nombre descriptivo.

Eliminar campos

Los datos de los campos eliminados se quitan del almacén de datos.

Cambiar el nombre de un WIT

Todos los datos permanecen intactos con el nuevo nombre.

Eliminar un WIT

Todos los datos de los elementos de trabajo creados como el WIT eliminado se quitan permanentemente, sin posibilidad de recuperación.

Si desea quitar completamente los campos del almacén de datos, use la herramienta de línea de comandos witadmin deletefield. Vea Administrar campos de elementos de trabajo [witadmin].

P: ¿Cómo se cambia el tipo de un elemento de trabajo existente?

R: No se puede cambiar el tipo de un elemento de trabajo existente, pero se puede copiar el elemento de trabajo y especificar un tipo nuevo. Por ejemplo, puede copiar un elemento de trabajo pendiente del producto existente y cambiar el tipo a error, como se muestra en la ilustración siguiente.

Copiar un elemento de trabajo y especificar un tipo nuevo

Además, si tiene varios elementos de trabajo a los que desea cambiar de tipo, podría interesarle exportarlos mediante Excel y, a continuación, volverlos a agregar como un nuevo tipo.

P: ¿Se pueden eliminar elementos de trabajo de TFS?

R: Sí. Use witadmin destroywi para quitar de forma permanente elementos de trabajo de la base de datos.

P: ¿Qué debo saber sobre la personalización de WIT y las actualizaciones de TFS?

R: Vea Configurar características después de una actualización de TFS.

P: ¿Dónde puedo ir si tengo más preguntas?

R: Para buscar respuestas o publicar una pregunta, visite el foro: Team Foundation Server - Administración de proyectos y elementos de trabajo.

Para obtener más información, vea Especificar controles de formulario de elemento de trabajo.

Use el editor de procesos, disponible con la descarga de las herramientas mejoradas de TFS, para modificar el flujo de trabajo o ver un diagrama de estado del flujo de trabajo.