Instalación de custom controls de Team Foundation Server

November 12, 2006 03:49 by Luis Fraile

Hace un tiempo puse un link al blog de Naren Datha, acerca de la creación de Custom controls, bueno, pues finalmente he estado haciendo pruebas de custom controls, y lo primero que voy a hacer, es poneros aquí unas instrucciones básicas, acerca de la instalación de los custom controls en Team Foundation Server, me voy a basar en el ejemplo de Naren, así como en información que pude ver tanto en foros, como en la web de http://www.vstsrocks.com

Antes de nada una pequeña introducción acerca de lo que son los custom controls. Bueno como algunos ya sabéis, TFS nos permite extender las plantillas de los work ítems, agregando campos nuevos, hasta ahora (con el SP1), estos controles, sólo podían ser de los controles que vienen por defecto en la instalación de TFS, con el SP1, se ha incluido la posibilidad de crear nuestros propios controles, lo que nos permitiría, por ejemplo , agregar una grid, un control de imagen, un TreeView, o cualquier otro tipo de control que desarrollemos, al formulario de edición de un tipo de WorkItem.

Por supuesto, lo primero que tenemos que instalar (recordad, es Beta, no instaléis en servidores de producción, solo en entornos de pruebas), es la beta del SP1 de TFS, esto hay que hacerlo tanto en el servidor, como en los clientes. Una vez instalado el SP1, y para continuar con este ejemplo hay que descargar el ejemplo de Naren, que además es un excelente ejemplo, y punto de partida, para el desarrollo de nuestros propios controles.

Este ejemplo tiene, tanto la solución de VS 2005 del control de ejemplo de Naren, como la definición de un nuevo tipo de de WorkItem, y el fichero .wicc necesario para la instalación, que detallaré más adelante, antes que nada descomprimimos el fichero zip del ejemplo a un directorio.

Lo primero es compilar la solución del ejemplo, para ello, abrimos la solución que contenía el zip del ejemplo, esta solución tiene referencias a dos assemblies que tenemos que cambiar para que apunten a los assemblies de TFS en nuestro ordenador, estas referencias son Microsoft.TeamFoundation.WorkItemTracking.Controls y Microsoft.VisualStudio.TeamFoundation.WorkItemTracking, estas referencias las tenemos en %ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies una vez agregadas las referencias (son los ficheros .dll con el mismo nombre que el assembly), ya podemos compilar la solución.

Una vez compilado el proyecto, tenemos que copiar el assembly, WitCustomControlSample.dll, del directorio de compilación, al directorio donde TFS lo irá a buscar cuando se referencie, este directorio lo crearemos dentro de una de las siguientes opciones:

  • El directorio de settings específicos de usuario: "C:\Documents and Settings\<NombreUsuario>\Application Data\" (para los usuarios de Windows Vista: C:\Users\<NombreUsuario>\AppData\Local), que también lo podríamos obtener en código: Environment.SpecialFolder.LocalApplicationData.
  • El directorio de settings generales para todos los usuarios: "C:\Documents and Settings\All Users\Application Data\", para los usuarios de Windows Vista: C:\ProgramData\), que en código sería: Environment.SpecialFolder.CommonApplicationData.

Dentro del directorio que escojamos (yo recomendaría para la mayoría de los casos la segunda opción para que todos los usuarios lo tengan disponible), y dentro de la carpeta Microsoft, tendremos que crear un directorio que se llame Team Foundation y dentro de este otro llamado Work Item Tracking y dentro, una tercera carpeta Custom Controls, con lo que la ruta que nos queda finalmente es: c:\Documents and Settings\All Users\Application Data\Microsoft\Team Foundation\Work Item Tracking\Custom Controls

Dentro de este directorio, tendremos que copiar el assembly compilado y el fichero .wicc que está en el directorio raíz del ejemplo, este fichero, contiene, en una estructura Xml, la referencia al fichero que contiene el custom control, así como el nombre completo del control.

Esto hay que tener en cuenta que lo tenemos que distribuir, del mismo modo, a TODOS los clientes de nuestro Team Foundation Server.

En este punto ya tenemos distribuido nuestro control a todos los clientes, ahora vamos a agregarlo a uno de nuestros tipos de WorkItem, en el eejemplo de Naren se nos proporciona una plantilla para un nuevo tipo de WorkItem, llamado Bug-CustomControl, lo tenemos en un fichero Xml del mismo nombre en el directorio raíz del ejemplo, para agregar este nuevo tipo de WorkItem a un proyecto que ya tenemos creado podemos usar el comando witimport /f Bug-CustomControl.xml /t <ServidorTFS> /p <NombredelProyectoTFS> , este comando lo tenemos que ejecutar desde la línea de comandos de Visual Studio 2005.

Bueno con esto ya lo tenemos todo instalado, si hemos realizado todos los pasos correctamente, debería de funcionar, para comprobarlo abrimos el Visual Studio 2005, y en el Team Explorer, abrimos el proyecto en el que hemos agregado el nuevo tipo de WorkItem, y agregamos un nuevo WorkItem del tipo Bug-CustomControl.

En la pantalla de edición del WorkItem vemos como se muestra el nuevo control (marcado con el círculo rojo):

Cuando pulsamos el botón "…" para agregar un nuevo id se nos muestra el formulario que nos permite ejecutar una consulta contra el conjunto de WorkItems y seleccionar un WorkItem duplicado:

Y bueno, eso es todo, si hemos llegado correctamente hasta aquí, ya tenemos el custom control correctamente instalado, enhorabuena.

El siguiente paso es desarrollar un nuevo custom control, a ver si pronto tengo tiempo de publicaros otro post con un artículo al respecto, y espero que este artículo os haya ayudado.


Comments are closed
Technology Blogs
Technology blogs