Administrando Team Foundation Server
(1) Implementando una Lista Global
Se puede compartir un lista (de elementos) a través de múltiples tipos de Work Items incluyendo la lista (de elementos) en uno o mas elementos GLOBALLIST.
Una Lista Global es un conjunto de elementos LISTITEM que puede ser almacenado y usado por todos los proyectos y servidores en una implementación de Team Foundation Server. Cada elemento GLOBALLIST debe tener al menos un elemento LISTITEM definido.
Las Listas Globales pueden ser utiles especialmente cuando una lista debe obtenerse a desde otro sistema. Por ejemplo, supongamos que una compañía mantiene una base de datos separada para algunas definiciones estandar de su metodologia (que es compartida a través de multiples sistemas), la lista de Disciplinas (en un campo del Work Item) debe ser actualizada periodicamente desde una fuente de datos externa.
Se pueden usar los comandos glimport y glexport para actualizar las listas globales de Team Foundation Server con los valores actuales de una base de datos y luego en un campo de un tipo de Work Item (por ejemplo Disciplinas) se hace referencia a dicha lista global.
En la figura se muestra un posible esquema de solución de lo descrito anteriormente:
Veamos los pasos a seguir para implementar una lista Global (se requiere ser Administrator de Team Foundation Server para trabajar con Listas Globales) :
a) Se debe crear el archivo XML con la definicion de los elemento de la lista Global (este puede ser generado a partir de una base de datos a través de algun programa)
<?xml version="1.0" encoding="utf-8"?>
<gl:GLOBALLISTS xmlns:gl="http://schemas.microsoft.com/VisualStudio/2005/workitemtracking/globallists">
<GLOBALLIST name="Disciplinas">
<LISTITEM value="Requerimientos Iniciales" />
<LISTITEM value="Analisis" />
<LISTITEM value="Diseno" />
<LISTITEM value="Desarrollo" />
<LISTITEM value="Pruebas" />
<LISTITEM value="Estabilizacion" />
<LISTITEM value="Implantacion" />
</GLOBALLIST>
</gl:GLOBALLISTS>
b) Grabar el archivo con el nombre Disciplinas.XML, en el directorio <drive>:\Program Files\Microsoft Visual Studio 8\Common7\IDE
c) Desde el mismo directorio anterior ejecutar:
glimport /f Disciplinas.xml /t "TFSRTM"
TFSRTM es, en nuestro caso, el nombre del servidor Team Foundation
d) Mostrar la lista global de TFS para comprobación:
glexport /t "TFSRTM"
Debe mostrarse una lista tal como:
<?xml version="1.0" encoding="utf-8"?>
<gl:GLOBALLISTS xmlns:gl="http://schemas.microsoft.com/VisualStudio/2005/workite
mtracking/globallists">
<GLOBALLIST name="Builds - ReportSample">
<LISTITEM value="Debugx86_20060513.1" />
...
</GLOBALLIST>
<GLOBALLIST name="Builds - Module09">
<LISTITEM value="VersionTask_20060807.1" />
...
</GLOBALLIST>
...
<GLOBALLIST name="Disciplinas">
<LISTITEM value="Requerimientos Iniciales" />
<LISTITEM value="Analisis" />
<LISTITEM value="Diseno" />
<LISTITEM value="Desarrollo" />
<LISTITEM value="Pruebas" />
<LISTITEM value="Estabilizacion" />
<LISTITEM value="Implantacion" />
</GLOBALLIST>
</gl:GLOBALLISTS>
e) Ejecutar witexport para exportar el tipo "Task" de Work Items.
witexport /f "TaskModified.xml" /t "TFSRTM" /p "TicTacToe" /n "Task"
"TFSRTM" es el nombre del servidor Team Foundation, "TicTacToe" es el nombre del Team Project. "Task" es el tipo de WorkItem.
Al finalizar, debe aparecer el mensaje:
Work item type export complete.
f) En el archivo TaskModified.xml, cambiar el elemento :
<FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension">
<HELPTEXT>The discipline to which the task belongs</HELPTEXT>
<ALLOWEDVALUES expanditems="true">
<LISTITEM value="Development" />
<LISTITEM value="Test" />
<LISTITEM value="Project Management" />
<LISTITEM value="Requirements" />
<LISTITEM value="Architecture" />
<LISTITEM value="Release Management" />
</ALLOWEDVALUES>
</FIELD>
Debe verse de esta forma:
<FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String">
<HELPTEXT>The discipline to which the task belongs</HELPTEXT>
<ALLOWEDVALUES>
<GLOBALLIST name="Disciplinas" />
</ALLOWEDVALUES>
</FIELD>
g) Importar los cambios a la definicion del WorkItem
witimport /f "TaskModified.xml" /t "TFSRTM" /p "TicTacToe"
h) Desde el Team Explorer refrescar el proyecto "TicTacToe"
i) Agregar un WorkItem de tipo Task
j) Verificar que se han actualizado los elementos de Disciplinas:
Pueden encontrar mayor información en:
Visual Studio Team System Global Lists
Populating Lists on Work Items from an External Source
(2) Modificando Propiedades mediante el uso de Web Services
Estableciendo el tamaño maximo de adjuntos para Work Items
Por defecto los adjuntos (Attachments) en un Work Item no pueden exceder de 4MB. Supongamos que desea crear un Work Item de tipo Bug con varias imagenes adjuntas que superan los 4MB, en estos casos necesitara modificar la configuracion de Team Foundation para ampliar el tamaño maximo de los adjuntos.
Los pasos son los siguientes:
a) En el Servidor de Aplicacion de TFS, navegar hacia:
http://localhost:8080/WorkItemTracking/v1.0/ConfigurationSettingsService.asmx
Se mostrará la siguiente pagina:
b) Si lo requiere, haga Click en GetMaxAttachmentSize para obtener el tamaño maximo actual (por defecto es 4194304 bytes)
c) Haga Click en SetMaxAttachmentSize, y especifique el tamaño en bytes (hasta un maximo de 2GB) y haga click en invoke.
Estableciendo el intervalo de procesamiento para los datos del warehouse
En Team Foundation Server los datos del warehouse se actualizan en un proceso que se ejecuta periodicamente cada hora. Normalmente notara un incremento en el uso de la CPU mientras se esta ejecutando el proceso.
Puede cambiar el intervalo de ejecución en la capa de aplicacion siguiendo los siguientes pasos:
a) Parar el servicio TFSServerScheduler usando 'net stop TFSServerScheduler'
b) Ir a http://localhost:8080/Warehouse/warehousecontroller.asmx utilizando un browser en la capa de aplicacion.
Se mostrará la siguiente pagina:

c) Haga click en ChangeSetting e ingrese los siguientes valores y luego presione el boton 'Invoke' (3600 segundos = ejecuta cada hora).

d) Reinicie TFSServerScheduler usando 'net start TFSServerScheduler'
Tambien puede ejecutar el proceso de carga del warehouse manualmente haciendo utilizando el metodo 'Run' desde http://localhost:8080/Warehouse/warehousecontroller.asmx
Al actualizar los datos del warehouse, se refrescara la informacion de los reportes.