January 2009 - Artículos

Ha sido detectada una vulnerabilidad en Team System Web Access 2008 SP1, la cual ha sido comunicada por Hakan Eskici, Program Manager de Microsoft para TSWA, como podemos ver en su blog.

No se dan muchos detalles de en qué consiste la vulnerabilidad, pero se recomienda actualizar inmediatamente las instalaciones de TSWA, sobre todo si están accesibles a través de internet. La actualización es en realidad una versión completa, por lo que es necesario desinstalar la versión actual antes de hacer la actualización.

En el anuncio se indica además que próximamente se publicará un artículo en la knowledge base dando más detalles del problema.

Para comprobar si tenemos la última versión actualizada, podemos hacerlo en el menú Help - About; la versión que aparece debe ser la 9.0.3275

 

Un saludo!!!

Durante el trabajo con Team Foundation Server en distintos equipos de desarrollo, al usar la integración con MS Project, he podido comprobar que surgen dudas recurrentes, sobre todo relacionadas con la sincronización de las fechas de inicio y fin de las tareas (Start Date y Finish Date). En este post voy a comentar una serie de recomendaciones para trabajar con dichas herramientas y un par de métodos para minimizar los problemas de sincronización de fechas, las cuales por otra parte sólo son editables desde Project y Excel según vienen configuradas por defecto en las plantillas metodológicas de CMMI y MSF for Agile.

 

CamposFecha

 

"Buenas prácticas" de trabajo con TFS + MS Project

Un escenario que ilustra bastante bien una forma de trabajar correcta con las herramientas sería el siguiente:

  • Comenzar por introducir las tareas de nuestro proyecto como elementos de trabajo (work items) de TFS
  • En el momento en que necesitemos usar Project, podemos exportar las tareas desde Team Explorer (por ejemplo desde el menú contextual asociado a los resultados de una consulta de elementos de trabajo)
  • Una vez en Project podemos modificar las tareas a nuestro gusto; cambiar la fecha de inicio, calendario, duración o cualquier otro dato asociado. Si usamos la opción de publicar del addin de Project para TFS (menú Team en MS Project), estos cambios se verán reflejados en TFS
  • Al finalizar los cambios, guardaremos el fichero .mpp para poder usarlo posteriormente. Lo mejor es que lo publiquemos en el portal de proyecto alojado en Sharepoint, de modo que sea accesible para otros miembros del equipo que lo necesiten

Una vez hecho esto (y aquí es donde está la fuente de confusión más común), cuando queramos trabajar con las tareas de TFS, lo mejor es que el fichero de Project actúe como "maestro" de la información y no al revés. Es decir:

  • Si queremos actualizar el fichero de Project con cambios en las tareas que se hayan hecho en TFS, abriríamos dicho fichero desde el portal de proyecto e incorporaríamos los cambios usando la opción de refrescar que nos proporciona el addin de Project para TFS
  • Si queremos incorporar nuevas tareas añadidas en TFS a nuestro fichero de Project, podemos usar la opción de obtener work items proporcionada por el addin
  • También podemos añadir tareas nuevas en Project y publicarlas en TFS como comenté anteriormente
  • Al acabar de trabajar, guardaríamos los cambios en el portal de proyecto para que estén disponibles para el resto del equipo

De esta forma el fichero de Project siempre estará sincronizado con las tareas de TFS y nos ahorraremos los problemas de los que voy a hablar a continuación.

 

Problemas de sincronización de fechas de inicio y fin de tareas

En las plantillas metodológicas de MSF for Agile y CMMI que vienen de serie con TFS, en el mapeo de campos con MS Project, el modo de sincronización por defecto de los campos de fecha de inicio y fin de tarea está establecido a "Publish only". Esto quiere decir que sólo se guardarán cambios en esos campos cuando guardemos en sentido Project -> TFS, pero no cuando guardemos en sentido TFS -> Project. Esto nos puede llevar a problemas si tenemos escenarios como el que describo a continuación:

  • Un miembro del equipo introduce una serie de tareas en TFS, modifica la fecha de inicio y la duración en Project y publica los cambios de vuelta a TFS. En este punto, las tareas en TFS tienen las fechas de inicio y fin correctas
  • Otro miembro del equipo (o el mismo :-) ) exporta desde TFS a Project las tareas, usando un fichero de Project nuevo. Como el contenido de los campos de fecha no viaja en sentido TFS -> Project, la fecha de inicio de las tareas en Project será la del día de hoy (de todas las tareas, por lo que incluso se pierde la ordenación entre las mismas). De hecho el usuario lo suele percibir como que se ha perdido el trabajo de planificación que había realizado, cuando en realidad las fechas siguen intactas en TFS
  • Si después de trabajar con el Project dicho usuario publica los cambios a TFS, las tareas se guardarán con la fecha errónea y entonces sí que se pierden todos los cambios que se habían realizado en la anterior publicación

 

Solucionar los problemas de sincronización: método fácil y rápido

El método más simple para solucionar el problema descrito es ceñirse a las buenas prácticas que describí anteriormente. Si todo el equipo trabaja siempre sobre el mismo fichero de Project (alojado en Sharepoint), y de la forma descrita, nunca sobreescribiremos las fechas de las tareas en TFS con datos erróneos.

 

Solucionar los problemas de sincronización: método menos fácil y menos rápido

La otra solución pasa por modificar el mapeo de los campos de fecha de TFS a Project para eliminar la restricción "Publish only". De esta forma se elimina el riesgo de sobreescribir la fecha de las tareas en TFS, ya que al exportar en sentido TFS -> Project los valores de esos campos también serán actualizados. En cualquier caso, aunque se siga este segundo método, creo que sigue siendo muy ventajoso complementarlo con las buenas prácticas descritas.

Para eliminar la restricción "Publish only" procederemos de la siguiente forma:

  • Descargar y abrir la plantilla metodológica correspondiente (lo mejor es usar el editor proporcionado por las power tools de TFS)
  • Dentro del apartado "Areas & Iterations", seleccionar "MS Project Mapping"

 

PublishOnly

 

  • Hacer doble click en el elemento "Microsoft.VSTS.Scheduling.StartDate". Desmarcar "Publish only" y pulsar OK
  • Lo mismo para "Microsoft.VSTS.Scheduling.FinishDate"
  • Guardamos los cambios y subimos la plantilla metodológica al servidor de TFS, sobreescribiendo la actual. A partir de este punto las fechas de inicio y fin se sincronizarán en ambos sentidos para los proyectos nuevos

Para aplicar estos cambios en proyectos existentes, haremos lo siguiente:

  • Una vez guardada la plantilla metodológica, los cambios en el mapeo se habrán reflejado en el fichero FileMappings.xml ubicado en la carpeta Classification, dentro de la carpeta que obtenemos al descargar la plantilla metodológica
  • Incorporaremos los cambios a cualquier proyecto existente importando el nuevo FileMappings.xml en él. Para ello podemos usar la herramienta TFSFieldMapping.exe ubicada normalmente en C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE (y accesible desde un símbolo de sistema de Visual Studio):
TFSFieldMapping upload http://servidortfs:8080 NombreDeProyecto "C:\...\Plantilla Metodologica\Classification\FileMappings.xml"

Una vez ejecutado el comando, la sincronización de fechas para las tareas comenzará a ser bidireccional.

 

Y eso es todo... espero que haya sido de ayuda para los que trabajan con MS Project y TFS.

 

Un saludo!!!

Steve Ballmer ha anunciado durante su keynote en el CES la disponibilidad de Windows 7 Beta, el cual ya está disponible para descargar para suscriptores de MSDN, TechBeta y TechNet, según podéis ver en el comunicado de prensa. Para el público en general será descargable en el sitio web de Windows 7 a partir del 9 de enero.

He echado un vistazo por la MSDN y efectivamente está disponible para descargar no sólo Windows 7 Beta (tanto en versiones x86 y x64), sino además los símbolos de depuración y los paquetes de idioma localizados. La instalación va como la seda y por el uso en general da la impresión de que se trata de una release bastante madura y estable; seguramente os cuente más detalles en algún post próximo. Por ahora deciros que en un netbook con 512 Mb de RAM se ha instalado perfectamente y no es que vaya como el rayo pero al menos es bastante usable (con sólo 512 Mb!!!); en cuanto termine con la ampliación de RAM espero que el rendimiento mejore significativamente, siempre que el disco SSD se lo permita...

Creo que la liberación de la Beta es una gran noticia para todos los que quieran hacerse una idea de cómo va a ser el próximo Windows.

Por reseñar algún inconveniente, parece que hay características que aún no están presentes en la Beta según se instala, siendo necesario hacer algunos ajustes en el registro. No queda muy claro si estas características aparecerán en versiones específicas (ultimate, tablet, surface...), si serán eliminadas o si finalmente se incorporarán al producto final; el tiempo lo dirá...

En cualquier caso hay un montón de funcionalidad nueva que explorar así que os animo a que os pongáis manos a la obra.

Que disfrutéis la beta y un saludo!!!

con 11 comment(s)
Archivado en: