[TFS] HowTo: centralizar las reglas de Code Analysis en Team Foundation Server

Buenas,

hace unos días en el evento de MadNug, comentábamos con Luis algunas de las capacidades y mejoras que se han incluido en Microsoft Visual Studio 2008. Entre ellas, y cuando comenzamos a hablar de las reglas de análisis de código, llegamos a una de las menos conocidas: la capacidad de crear un “set de reglas” asociados a una política de CheckIn de Team Foundation Server 2008.

Cómo explicándolo con slides, me dió la sensación que no quedó muy claro, he aquí un pequeño ejemplo de como funciona esta mejora.

Paso a Paso

1. En primer lugar debemos configurar las políticas de CheckIn del Team Project. Para esto seleccionamos el Team Project en el Team Project Explorer y una vez desplegado el menú contextual, seleccionamos la opción Team Project Settings // Source Control.

 

2. Dentro del editor de control de código, en la pestaña Check-In Policy agregamos una nueva política del tipo Code Analysis. En esta nueva versión, además de forzar la ejecución del análisis de código podemos definir un grupo de reglas a aplicar. En el caso de la siguiente imagen, he seleccionado todas las reglas [Naming Rules].

 

3. Una vez del lado “del cliente”, en un proyecto relacionado con el Team Project que hemos configurado en los pasos anteriores, debemos configurar el mismo para que “importe” los cambios del server. Para esto seleccionamos la opción del menú Analyze // Code Analysus Settings for Solution // Replace with Check-in Policy.

 

4. De esta forma, al momento de realizar un Check-in veremos que se aplican las reglas definidas en la política de nuestro servidor Team Foundation Server.

 

5. He inclusive, si nuestro proyecto “no compila”, veremos que al momento de realizar el Check-in, la política de Code Analysis se da como “no satisfecha”, por lo que no podremos realizar un Check-in limpio.

 

 

Pues bien, en 5 pasos he tratado de explicar con un poco más de detalle lo que no pudimos explicar en el evento. Pero para más referencia, obviamente lo mejor es darse una vuelta por MSDN: http://msdn.microsoft.com/en-us/library/ms182076.aspx

 

Saludos @ Home

El Bruno

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Share this post :


Crossposting from ElBruno.com

[TFS] Editando Builds Projects de forma sencilla

Buenas,

si has editado un proyecto de compilación de Team Foundation Server (el clásico TFSBuild.proj) conocerás el infierno que significa el paso a paso para editar los mismos. En primer lugar hay que hacer un Get Latest Version de la carpeta Team Build Types y después aplicar las moficicaciones en el editor de Xml de Microsoft Visual Studio 2008. Esto que parece trivial, suele ser un proceso tedioso ya que además de ser procesos que consumen tiempo, este paso a paso es bastante incómodo.

Con la llegada de Microsoft Visual Studio 2008, ahora podemos editar de forma visual la definición del Team Build con un asistente bastante completo. Pero la edición del proyecto de compilación sigue siendo “manual”.

Si quieres editarlo de forma un poco más automática, DEBES descargar e instalar Team Foundation Sidekicks. Se que algo comenté hace unos días, pero además de poseer un cliente que permite realizar analisis interesantes de la información de un servidor TFS, también ofrece una opción para la edicion de proyectos de compilacion.

Por ejemplo, para la edición de un proyecto, seleccionamos el mismo y desplegando el menú contextual podemos ver la opción Check Out for Edit.

Esta opción descarga una copia local del proyecto y la desprotege para edición.

 

Una vez modificado el archivo, para subir los cambios al servidor TFS, seleccionamos la opción Check In y ya tenemos los cambios aplicados en nuestro proyecto.

 

Como siempre, y para demostrar que un buen producto SIEMPRE tiene que ser configurable, podemos habilitar o deshabilitar las opciones desde el formulario de configuración de Microsoft Visual Studio 2008.

 

Saludos @ Home

El Bruno

 

 

 

 

 

 

 

 

 

 

 

 

 

Share this post :


Crossposting from ElBruno.com

[TFS] HowTo: desbloquear archivos bloqueados por otra persona en TFS ? (the easy way)

 

Buenas,

hace unos meses expliqué cómo desbloquear archivos tomados por otra persona en TFS utilizando sentencias de lineas de comandos. Si bien esta solución es viable, puede ser un poco tediosa cuando tienes que realizar muchas acciones de este tipo.

Por suerte nuestros amigos de Attrice, proveen de forma gratuita uno de los mejores complementos para Team Foundation Server: Team Foundation Sidekicks, y utilizando esta herramienta podemos realizar esta tarea de una manera mucho más fácil.

Por ejemplo, podemos seleccionar un Team Project y dentro del mismo, ver el estado de los archivos que tiene tomados cada integrante del equipo en un determinado rango de fechas:

 

Con este filtro aplicado podemos verificar el estado de los archivos dentro del Team Project y de sus directorios:

 

Finalmente, utilizando la Toolbar de la herramienta, podemos realizar un “Undo” de los archivos tomados, para liberar los mismos

 

Simple y fácil, como usualmente me gusta cuando puedo elegir.

 

Saludos @ Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[SQL] Como averiguar el tamaño de una base de datos ? (the easy way …)

Buenas,

existen varias formas de averiguar el tamaño de una base de datos. Lo podemos hacer sumando datos con algún query contra los datos de sistema, visualizando las propiedades de la misma o sino de la siguiente manera; que para cerrar un viernes siempre bien por 2 motivos:

  • se necesitan 2 clicks
  • el resultado es gráfico y muy detallado

Simplemente debes seleccionar la base de datos, desplegar el menú contextual sobre la misma y seleccionar la opción Reports // Standard Reports // Disk Usage. Y si una imagen vale más que mil palabras, aquí dejo el equivalente a más de 2000:

 

 

Si quieres conocer un poco más de información al respecto de los informes a los que puedes acceder desde SSMS; puedes echarle un vistazo a http://blogs.msdn.com/buckwoody/archive/tags/Standard+Reports/default.aspx

 

Saludos @ Home

El Bruno

Share this post :


Crossposting from ElBruno.com

[ALM] Gestionandos proyectos Java con Team Foundation Server

 

Buenas,

casi siempre me olvido que soy una persona con una suerte particular, dicho de otra manera, en algunos momentos cuando creo que no puedo estar peor; la realidad me demuestra lo contrario.

El pasado martes, antes de comenzar el webcast de Software Factories, el metro de Madrid me jugó una mala pasada, luego cuando estaba subiendo mi presentación a Live Meeting, vi que la misma tardó mucho más de lo pensado (Technical Tip: comprendí que antes de subir exporta la presentación de formato pptx a ppt, lo que influye en el tamaño del archivo) Luego en el webcast mi portatil comenzó a hacer cosas extrañas; desconectando el sonido aleatoriamente. Por suerte, pude terminar el evento y pensé que todo había acadabo; me cito textualmente del post donde comparto los materiales del evento:

(algo muy malo debe estar por suceder, porque si en una demo funciona todo, mañana cae un Tsumani en Madrid)

El día siguiente no cayó un Tsunami en Madrid, pero paso lo siguiente:

participaba en un evento donde hablaba un poco de las virtudes de Visual Studio Team System, principalmente enfocado a la gestión del ciclo de vida de las aplicaciones. 5 minutos antes de comenzar mi presentación puse mi portátil Dell en modo Hibernar y hasta hace unos minutos no lo he podido resucitar, murió de una manera extraña. Por suerte la garantía que contrata Avanade es completa, con lo que 36 hrs después un técnico de Dell, solucionó el problema de la forma más simple “cambio procesador y placa base” y por lo que vi que traía, creo que sólo me dejaba el disco si se lo pedía.

Pero bueno, volviendo al tema de la presentación tuve que improvisar y pedir otro portátil prestado para ejecutar las demos. A mis máquinas virtuales las tengo en 2 discos USB externos, pero por cuestiones de RAM, tuve que trabajar con una maquina virtual con todo el paquete de Visual Studio Team System con solo 1 GB de RAM. Esto ocasionó que la demo sea un poco más lenta, pero tambíén hizo que al final de la misma, surgiera un tema que más que interesante (y por fin he llegado al título de este post !!!)

¿Es posible gestionar equipos de desarrollo Java con Team Foundation Server 2008?

La respuesta es SI. Pero vamos a matizarla un poco, por lo general los equipos de desarrollo no quieren utilizar técnologías desconocias y muchos menos del enemigo; con lo que uno de los principales problemas es la resistencia al cambio.

Otro punto a tener en cuenta es que Team Foundation Server 2008 está pensado y optimizado para entornos de trabajo Microsoft, algunas tareas que son muy simples para entornos Microsoft, pueden ser más complejas para un entorno Java (por ejemplo, compilaciones automáticas, ejecución de pruebas unitarias, etc.)

Pero también debemos pensar que este “trabajo extra” necesario para implementar TFS + JAVA, tiene sus frutos ya que es muy similar al trabajo realizado actualmente y con todas las ventajas de Team System (informacion unificada, explotación de la misma, etc.)

La siguiente pregunta que surge después de comentar estos puntos es

¿existen referencias que demuestren que esto es posible?

La respuesta, una vez más es SI. Por un lado podemos leer este Case Study de Thomson Reuters, donde integran las siguientes herramientas: Eclipse, Team Foundation Server 2005 y Rapid Application Development para gestionar el ciclo de vida de sus aplicaciones.

Thomson Reuters is a leading source of intelligent information for businesses and professionals. Its Online Services group develops and maintains proprietary software that is critical to the business. The group’s 150 developers and testers worked on a variety of development frameworks, operating systems, and configuration management tools, which resulted in an “information black hole.” Looking for a way to improve transparency and collaboration, Online Services standardized on Microsoft® Visual Studio® 2005 Team Foundation Server and the Teamprise Client Suite. Regardless of the development framework or operating system, everyone shares a single, integrated source control system and collaboration server. Now, the team can better control code and processes and more accurately communicate with team members and customers.

http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002078

Otro ejemplo puede ser Infragistics, empresa desarrolladora de componentes COM, .NET, Java, etc.; que después de conocer las virtudes de Visual Studio Team System han decidido incorporar Team Foundation Server 2008 como el componente central para la gestión de todos sus desarrollos, incluidos los de Java.

“We completely use Microsoft® Team Foundation Server (w/ TeamPrise) for the development of all of our products now.  This was especially challenging with bringing in our Java (JSF) development group into the same development process of our .NET product lines.  By leveraging the TeamPrise Eclipse plug-in and the ANT Team Build tasks, we were able to ensure they were using the exact same systems as the other departments in Engineering.  So the JSF team now has access to the same build, version control, work item tracking, and other internal automated software solutions that the rest of our company uses.  Visual Studio® Team System has really enabled us to solidify our internal ALM process, metrics gathering, and reduce overhead from supporting different systems across product teams.”

Ed Blankenship
Infragistics, Inc.
http://blogs.msdn.com/charles_sterling/archive/2008/05/15/infragistics-and-their-java-developers-loves-teamprise-and-tfs.aspx

Ahora simplemente me queda convencer a mi chica que trabaja con tecnologías oscuras que proponga la gestión de sus equipos de desarrollo con Visual Studio Team System.

 

Saludos

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[Evento] Materiales del Evento: Software Factories; verdadero o falso

Buenas,

ha terminado el evento Software Factories: verdadero o falso. Fue mi primera experiencia <virtual> es lo que tiene esta edad y la verdad es que me lo pasé muy bien. Además salvo desconexiones esporádicas de mi audio cada 20 minutos, después de 2 horas todo lo demás salió bien: las demos correctas, la compilación e improvisación online tambien, etc. (algo muy malo debe estar por suceder, porque si en una demo funciona todo, mañana cae un Tsumani en Madrid)

Entre los detalles interesantes del evento, quiero destacar que después de hablarlo y sobre la marcha, decidimos sortear un par de premios en vivo, aprovechando las ventajas de las Domain Specific Language Tools; o dicho de otra manera: Bruno, currate algo con las DSLs para entregar un par de premios.

Como pueden ver en la imagen del post, la idea se cerró <online> con la creación de un dominio, que pretendía mostrar una colección de Presentadores y de Asistentes, y entre los asistentes algunos tenían premio.

Pues bien, una vez finalizado el evento, comparto con ustedes los materiales del mismo:

Nota: Gracias a Jorge, unos tips sobre las descargas: Son dos archivos zip, que una vez descomprimidos, generan dos ficheros sin extensión.Para extraer el contenido final, hay que renombrar esos ficheros a extensión .zip y volver a descomprimir.

 

Nos vemos en la próxima

Saludos @ Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[VSTS] Team System Gadget Contest, los videos son mejores que los premios

Buenas,

de la mano de la lista de VSTS, me entero de un interesante concurso. Mike Azocar, MVP de Team System MVP en Houston ha creado un concurso donde se evalua la creación del Gadget más cool para Visual Studio Team System. Parte del premio es una suscripcion a MSDN Team Suite para el ganador, aunque parece que regalarán algo mas, 😀

Para participar es necesario postear un screen cast (de hasta 3 minutos de duración); tened cuidado, estos videos serán públicos y te harán famoso como un participante de Gran Hermano XXX.

El concurso cierra el 31 de Agosto del corriente año. El ganador será anunciado el 15 de Septiembre.

Más información http://www.michaelazocar.com/blog/?p=485

 

Saludos @ Marron

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[Net] WiiMoteLib 1.5.2 released !!!

Buenas,

mientras trato de organizarme para comenzar la semana, veo que el gran Brian Peek ha liberado una versión actualizada, sin bugs o eso espero del clásico y popular WiiMoteLib.

La versión es la 1.5.2 e incluye entre otras cosas, soporte para la Wii Balanace Board; con lo que mi proyecto de coche controlado por sobrepeso estará online en unos días.

Para los interesados, el proyecto está actualizado en CodePlex en http://www.codeplex.com/WiimoteLib; y como dato de trivia, simplemente recordar que los binarios de WiiMoteLib fueron la descarga más popular del 2007.

 

Saludos @ Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[DSL] HowTo: Agregar descripciones a los conectores entre elementos

Buenas,

el siguiente post describe como realizar una acción muy simple, pero que brinda un valor agregado visual muy importante a nuestros modelos visuales. Se trata de agregar una descripcion en los links o conectores entre los diferentes elementos de un diagrama.

Si partimos de un proyecto de Domain Specific Language Tools con el template Minimal Language, los siguientes pasos permiten agregar una descripción:

 

1. Seleccionar la Domain RelationshipExampleElementReferencesTargets”, y agregar una nueva propiedad a la misma llamada Description del tipo String.

2. En la sección de elementos visuales, seleccionar el conector “ExampleConnector” y agregar un nuevo Text Decorator llamado Description.

3. Seleccionar el conector entre la Domain Relationship y el Conector; y visualizar el panel DSL Details. (View // Other Windows // DSL Details)

4. Dentro del mismo seleccionar la pesaña Decorator Maps y conectar la Domain Relationship y el Conector.

5. Transformar todos los templates y ejecutar la aplicacion de Debug.

6. Abrir el elemento Sample.dsl03 y seleccionar la conexion entre los elementos.

7. En la ventana de propiedades, modificar el valor de la propiedad Description; y visualizar la misma en el diagrama,

 

Pueden bajar un proyecto de ejemplo desde http://geeks.ms/files/folders/elbruno/entry88795.aspx

 

Saludos @ Here

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[VSTS] Visual Studio Team System desde punto de vista de los ITPros

Buenas,

podría comenzar el post ganándome enemigos, ya que argumentos Developers vs ITPros, tengo muchos; pero en este caso nuestros amigos de TechNet se merecen todo mi respeto (en realidad no todo, gran parte se lo lleva el creador de esto).

Volviendo a TechNet, hace unos días se ha publicado el siguiente whitepaper

Using Visual Studio 2008 to Improve Software Development
http://technet.microsoft.com/en-us/library/cc646309(TechNet.10).aspx

y lo que lo hace tan especial, según mi punto de vista es que:

  • se mencionan los números reales que maneja Microsoft con VSTS
  • se trata la evolucion de entornos basados en VSS a VSTS
  • se mencionan especificaciones técnicas de los servidores reales de TFS
  • etc.

Si te interesa Visual Studio Team System te recomiendo bajarse el documento (23 páginas) y tomarse 15 minutos para leerlo a fondo.

 

Saludos recién llegado de Barcelona

El Bruno

Share this post :


Crossposting from ElBruno.com