Welcome to 3Dev Blogs Sign in | Join | Help

El Blog de Guino

Tecnologias, Arquitectura y Mejores Prácticas en .NET

<March 2007>
SuMoTuWeThFrSa
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

Post Categories

News








Navigation

Syndication

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.

Published Tuesday, March 06, 2007 10:19 AM by guino
Filed Under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

What do you think?

(required) 
required 
(required) 
Powered by Community Server, by Telligent Systems