[TFS2010] HowTo: Crear un campo para un WorkItem con valores personalizados y de fácil mantenimiento

image47dd1de4

Buenas,

antes de comenzar a explicar una forma sencilla de modificar la definición un WorkItem Type, llega el disclaimer:

Siempre es recomendable pensarlo 20 veces antes de modificar la guía de procesos o plantilla de un Team Project, en otras palabras: no lo modifiques porque en el 95% de los casos, las plantillas por defecto son suficientes.

Ahora que ya hemos sentado las bases, vamos a un escenario concreto:

Necesidad de agregar un combo a un workitem, por ejemplo  un Bug, y que los valores del mismo sean fáciles de editar y mantener.

Para esto, aprovecharemos las Team Foundation Server Power Tools, y modificaremos la definición de un Bug para dar solución al escenario anterior.

Tutorial

1. Desde Visual Studio 2010, acceder al menú [Tools // Process Editor // Global List // Open Global List from Server]. Si no estábamos conectados a un TP, pues en este momento tendremos que conectarnos.

2. En el formulario de edición, desplegar el menú contextual y seleccionar la opción [New Global List]

image

 

3. Utilizando las opciones del editor, en este caso he creado una lista nueva llamada [ExtendedBoolean] con los siguientes valores:

image

 

4. Una vez terminada de editar la lista, presionar [OK]. Esta acción guarda los cambios en la definición global de elementos del servidor de TFS2010.

5. Ahora toca editar la definición de un Bug, para esto seleccionamos la opción [Tools // Process Editor // Work Item Types // Open WIT from Server].

6. Seleccionamos el Team Project correspondiente y luego el tipo de WorkItem que queremos modificar.

image

 

7. En el formulario de edición del WorkItem Type, en la pestaña [Fields] creamos un nuevo campo llamado [ExtendedBoolean], de tipo String, con los siguientes valores.

image

 

8. Seleccionamos la pestaña [Rules] y agregamos una nueva regla del tipo [ALLOWEDVALUES]

image

 

9. Esto abrirá el formulario de edición de los valores que soportará el WorkItem Field. En este caso, presionamos [New] y seleccionamos la lista global que hemos creado en los pasos anteriores.

image

 

10. Agregamos el nuevo campo, a la interfaz visual de edición del WorkItem (lo he explicado en detalle en este post) y ya podremos ver el combo con los valores de la lista global.

image

 

11. Si necesitamos modificar estos valores, en lugar de modificar la definición del WorkItem, simplemente modificamos la lista global.

 

Saludos @ Home

El Bruno

   

[VS2010] HowTo: Diferenciar la misma solución en diferentes ramas (thanks VSCommands2010)

image47dd1de4

Buenas,

cuando trabajas con cualquier estrategia de Branching (sino lo haces, fuera de mi blog !!! deberías) es muy usual que te encuentres abriendo la misma solución en la rama de desarrollo evolutovo y en la rama de mantenimiento o correctivo.

El siguiente ejemplo, muestra como tenemos la solución ClassLibrary1 y los archivos propios de la misma en las ramas [DEV] y [MAIN]

image

El problema suele venir cuando abres una solución, por ejemplo de la rama DEV y te despistas y te pones a modificar la misma como si fuese la de la rama MAIN.

Una forma útil de diferenciar los elementos de cada rama, es aprovechar una nueva feature de la VSCommands 2010 para Visual Studio 2010 que permite definir un “friendly name” para las soluciones. Para trabajar con esta feature, seleccionamos la solucion y vemos las propiedades de la misma, donde veremos 2 nuevas propiedades.

image

En la propiedad [Friendly Name Solution Path Reg] definimos una expresión regular en la que podemos crear uno o más grupos que luego podemos utilizar en la propiedad [Friendly Name] para hacer uso de los mismos. En este caso, el grupo se llama {BranchName} y lo muestro después del nombre de la solución.

Si abrimos la solución desde la rama DEV veremos que esta descripción se aplica al título de la ventana y también en el Solution Explorer.

image

Si en cambio abrimos la solución desde la rama MAIN, veremos la descripcion correspondiente a esta rama.

image

Para más información sobre las VSCommands 2010: http://vscommands.com/features/

Saludos @ Here

El Bruno

   

[VS2010] Introduccion a StyleCop

image47dd1de4

Buenas,

StyleCop es una herramienta que analiza código fuente C# y aplica un conjunto de reglas de estilo y consistencia. Se puede ejecutar desde dentro de Visual Studio o integrado en un proyecto de TeamBuild. Es bastante útil cuando además de contar con un buen diseño de la arquitectura de tu solución, de respetar las reglas de diseño SOLID, quieres garantizar que la “estética de tu código” sea coherente entre sí. Este post se basa en la versión 4.5RC que se puede descargar desde aquí.

Un detalle a tener en cuenta es que durante la instalación del producto, puedes seleccionar la integración con Visual Studio 2010 y además si quieres los archivos necesarios para MSBuild para agregar validaciones de StyleCop durante compilaciones de Team Build.

image

Para este ejemplo, he seleccionado las 2 opciones.

Vamos por el primer ejemplo de código para que veamos lo que dice StyleCop al respecto. Si creamos un proyecto de bibloteca de clases con su clase por defecto nos encontramos con el siguiente código:

   1: using System;

   2: using System.Collections.Generic;

   3: using System.Linq;

   4: using System.Text;

   5:  

   6: namespace StyleCopDemo01

   7: {

   8:     public class Class1

   9:     {

  10:     }

  11: }

 

Y StyleCop nos avisa con 6 Warnings de los siguientes detalles a tener en cuenta:

image

Si “movemos” los using dentro del Namespace, como indican los últimos warnings, el código queda de la siguiente forma:

   1: namespace StyleCopDemo01

   2: {

   3:     using System;

   4:     using System.Collections.Generic;

   5:     using System.Linq;

   6:     using System.Text;

   7:  

   8:     public class Class1

   9:     {

  10:     }

  11: }

Y efectivamente, ahora solo tenemos 2 warnings por los que preocuparnos:

image

Agregamos un poco de código más al ejemplo:

   1: public string Foo(int firstArgument, int secondArgument)

   2: {

   3:     var res = "no";

   4:     if (firstArgument == secondArgument)

   5:     {

   6:         res = "yes";

   7:     }

   8:     if (firstArgument > secondArgument)

   9:     {res = "maybe";}

  10:     return res;

  11: }

 

Y ahora veremos como tenemos que preocuparnos por los espaciós después de las llaves, los espacios entre los elementos entre las llaves, etc.

image

 

Por defecto, StyleCop tiene activadas todas las reglas que posee, lo cual puede ser bastante molesto; en especial en lo referido a los comentarios, ya que no solo recomienda agregar tags de comentarios en todas las clases, sino que también recomienda headers en las clases, secciones de copyright, etc.

Si queremos configurar el set de reglas con el que queremos trabajar, podemos hacerlo desde el proyecto en cuestión. Seleccionamos el mismo, desplegamos el menú contextual y seleccionamos la opción [StyleCop Settings]

image

 

En este formulario veremos los diferentes tipos de reglas que se aplican durante el análisis de StyleCop. Mi recomendación > desactivar las de documentación Open-mouthed smile

image

 

En los próximos posts un poco más sobre StyleCop y Team Build.

 

Saludos @ Here

El Bruno

   

[TFS2010] TFS Workbench, herramienta para trabajar con tableros con elementos de TFS

image47dd1de4

Buenas,

hoy me toca recomendar una excelente herramienta de nuestros amigos de ScrumForTeamSystem: TFS WorkBench.

Esta herramienta permite trabajar con elementos de un Team Project de Team Foundation Server 2010 y visualizar los mismos como si se tratara de un tablero de trabajo de PostIs.

Con TFS WorkBench es posible

  • Arrastrar y soltar elementos de trabajo en las diferentes líneas de estado de los mismos
  • Visualizar y manipular los enlaces para los WorkItems a través en la vista jerárquica.
  • Crear y editar varios WorkItems simultáneamente utilizando el modo de lista de elemento.

image

Realmente recomendable.

Descarga: http://www.scrumforteamsystem.com/version-3/tfs-workbench-v2-2-x64

Saludos @ Home

El Bruno

   

[MICROPOST] Mi Libro de Visual Studio 2010 disponible en PDF

image47dd1de4

Buenas,

para todos aquellos que siempre han deseado participar en el fabuloso mundo de la piratería informática, ya pueden comenzar a comprar libros en PDF desde CampusMVP. No me voy a meter en el tinglado de la piratería, cada uno es mayoricto y sabrá que hacer al respecto. Yo, un año después de lanzar el librako, ya me he comprado una Ferrari, así que me doy por satisfecho con las ganancias, todo lo que entre ahora es para ponerle el equipo a Gas a la Ferrari.

Pero bueno, si estás muy lejos, te sobran unos €uros y todavía queres mi libro de Visual Studio 2010 en español, desde http://shop.campusmvp.com/Product-Visual-Studio-2010,-.NET-4.0-y-ALM_89.aspx podes tener acceso a uno Open-mouthed smile

 

Saludos @ Home

El Bruno

   

[TFS2010] HowTo: Configurar un servicio SMTP que envie alertas utilizando una cuenta de GMAIL

image47dd1de4

Buenas,

si bien el último screenshot es el único que afecta a Team Foundation Server 2010, este post demuestra como instalar el servicio de SMTP que viene con Windows Server 2008 y configurar el mismo para que reenvie los correos al servicio de SMTP de GMAIL. De esta forma podemos tener algo tan útil como son las notificaciones por correo en nuestras máquinas virtuales de demo de Team Foundation Server 2010. Para que esto funcione tienes que tener habilitada la opción de SMTP y POP3 en tu cuenta de GMAIL.

Tutorial

1. En primer lugar debemos activar la Feature para tener acceso a un servicio de SMTP. Accedemos al [Server Manager] y en el mismo en la sección de Features agregamos [SMTP Server].

image

2. Una vez finalizada la instalación podremos ver la opción de SMTP en la consola de administración de Internet Information Server. En el mismo accedemos a la configuración de SMTP Email.

image

3. En esta sección dejamos los valores por defecto, aunque si lo deseamos podemos utilizar la opción [Store e-mail in pickpu directory] para almacenar los correos en un directorio y poder ver los mismos desde allí (esto es muy útil para demos sin conexion a internet)

image

4. A continuación configuramos el servidor SMTP utilizando la interfaz de configuración de IIS 6 (ya lo sé es un poco triste, pero es lo que hay). Accedemos a la misma con el menú [Administrative Tools // Internet Information Services (IIS) 6.0 Manager]

image

5. Lo primero que vemos es que el servicio está detenido, lo seleccionamos, desplegamos el menú contextual y [Start]

image

6. Una vez iniciado, seleccionamos el mismo y accedemos a las propiedades del servicio.

image

7. En la pestaña [Access] habilitamos el servidor local para que pueda hacer Relay sobre si mismo (esto no sé si es necesario, pero de otra forma no me funcionaba)

image

8. En la pestaña [Delivery] seleccionamos [Outbound Security] y configuramos nuestra cuenta de GMAIL con la opción [Basic Authentication]. Además marcamos la opción de [TLS encryption]

image

9. En [Outbound connections] utilizamos el puerto de gmail > 587

image

10. Y finalmente en la sección [Advanced] configuramos el smart host para que utilice smtp.gmail.com.

image

11. Esto ya nos deja el servidor SMTP configurado para ser utilizado por TFS.

12. Finalmente queda la configuración de TFS2010, dentro de la consola en el nodo [Application Tier] de nuestro servidor, configuramos las alertas para que utilicen el servidor local con la cuenta de correo que deseamos utilizar.

image

 

Done !!! ahora a abrir nuestro cliente de correos favoritos y a ver como crece el Inbox con las alertas de TFS !!! Open-mouthed smile

image

 

Saludos @ Home

El Bruno

   

Fuentes: http://www.itechtalk.com/thread2250.html, http://fmuntean.wordpress.com/2008/10/26/how-to-configure-iis-smtp-server-to-forward-emails-using-a-gmail-account/

[VISUALSTUDIOGALLERY] SharePoint 2010 Power Tools

image47dd1de4

Buenas,

sé que esto es un sacrilegio > El Bruno hablando de SharePoint !!! pero es que esta extensión para Visual Studio 2010 es realmente muy útil, ya que permite el desarrollo de compilaciones cerradas (no sé como traducir sandboxes solutions) y además una plantilla para la creación de Visual WebParts. Para los no entendidos, este tipo de compilación nos trae problemas cuando trabajamos con ciertos tipos de Sharepoint en un “Sandboxed Project”. (que mundo más raro el de los amigotes del upload/download)

La misma se puede descargar desde http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9/ y me quedo con el mini post como reconr

 

Saludos @ Home

El Bruno

   

[VS2010] Qué es el .Net Framework 4 Platform Update 1 y cómo se integra en Visual Studio 2010?

image47dd1de4

Buenas,

después del Service Pack 1 para Visual Studio 2010 el 18 de Abril se ha lanzado el Net Framework 4 Platform Update 1, y seguramente alguno se preguntará qué es este update? Personalmente entre service packs, hot fixs, patches, etc. yo me pierdo y ahora para casos especiales surge un nuevo tipo de distribucíón: “Platform Update”.

Este tipo de distribución es nueva ya que no ataca la solución de errores como en versiones anteriores, pero sí la distribución de nuevas características para una versión específica del framework que no pretende ser una nueva major o minor versión. El detalle específico de las nuevas características están detalladas en este post http://blogs.msdn.com/b/endpoint/archive/2011/04/18/microsoft-net-framework-4-platform-update-1.aspx, pero como puedes ver se centran específicamente en nuevas capacidades orientadas a AZURE (@Gis o @Ibon seguron que tienen algo más que decir al respecto), y por fín la inclusión de una state machine decente.

Desde el punto de vista de la herramienta yo solo comento lo siguiente: una vez instalada la extensión (se puede descargar desde aquí), dentro de Visual Studio 2010 podremos ver que en la creación de nuevos proyectos tenemos disponible una versión diferente del framework para trabajar que si bien no es una major o minor release, es lo suficientemente grande como para ser diferente:

Lo mismo en las propiedades de un proyecto:

¿Por qué comento esto? En mi libro (que si no compraste deberías che!!!) explico como se ha configurado el .Net Framework 4 y además Visual Studio 2010 para poder trabajar con un esquema de MultiTargeting real. Recordemos que en Visual Studio 2008 podíamos trabajar con proyectos de .Net 2, .Net 3 y .Net 3.5; pero que en realidad no eran diferentes frameworks ya que 3 y 3.5 son extensiones montadas sobre .Net 2.

Visual Studio 2010 y .Net Framework 4 son Major Releases que además tienen en cuenta la capacidad de trabajar con MultiTargeting de una forma real. Este Platform Update se integra de forma natural en Visual Studio 2010 y creo que será el primero de varias releases intermedias antes de .Net 5, en el que veremos cambios “muy pero muy grandes !!!

 

Saludos @ Home

El Bruno

   

Descarga: http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=4863f88f-5519-4b66-a195-752746b4389a&displaylang=en

[VS2010] VM de prueba con TFS2010 y Project Server 2010

image47dd1de4

Buenas,

si sos de ese tipo de persona que no puede vivir sin tener sincronizado tu servidor de Team Foundation Server 2010 y tu otro server con Project Server 2010, pero no te animas a montar todo esto en producción; ahora podes aprovechar las máquinas virtuales con todo organizado para conocer este fabuloso mundo.El detalle de instalación y otras yerbas lo podes encontrar en : http://blogs.msdn.com/b/briankel/archive/2011/04/15/getting-started-with-the-team-foundation-server-2010-and-project-server-2010-integration-virtual-machine.aspx, aunque para más datos mejor darse una vuelta por el blog oficial de Project: http://blogs.msdn.com/b/project/

Saludos @ Home

El Bruno

   

Fuente: http://blogs.msdn.com/b/project/archive/2011/04/20/visual-studio-team-foundation-server-2010-and-project-server-demo-virtual-machine.aspx

[VS2010] 5 tips to improve your IDEs performance

image47dd1de4

Buenas,

después de explicar hace un par de días sobre cómo desactivar IntelliTrace cuando se depura una aplicación, ayuda a mejorar la performance del IDE de Visual Studio 2010, dejo aquí 5 consejos que mejoran el rendimiento de Visual Studio 2010.

  • Lo dicho, si no lo  necesitas no actives IntelliTrace
  • Si trabajas con WPF, seguramente habrás notado que cada vez que abres en modo edición un elemento, esto es muy lento > pues cambia la opción para que los abra en modo XAML por defecto. Para esto, desde las opciones de Visual Studio 2010, seleccionar la sección [Text Editor // XAML // Miscelaneous] y activar la opción [Always open documents in full XAML view]

image

  • Para mejorar los tiempos de compilación y depuración, activar la opción [Only build starrup projects and dependencies on Run] en la sección [Projects and Solutions // Build and Run].

image

  • Muy importante > Visual Studio 2010 hace un uso muy grande de las capacidades gráficas de WPF, con lo que es recomendable que configures tu IDE para que aproveche estas capacidades. La opción [Automatically adjust visual experience based on client performance] en la sección [Environment] ayuda en este punto. Y además, dependiendo de la versión del sistema operativo que utilices, también encontrarás puntos a mejorar > por ejemplo, habilitar “Desktop Experience” en Windows Server 2008 o instalar Windows Automation UI si utilizas Windows XP.

image

Si tu ordenador no posee capacidades de aceleración gráfica, desactiva esta opción.

  • Salvo que desarrolles componentes para WinForms, en la sección [Windows Form Designer] desactiva la opción [Toolbox // AutoToolboxPopulate]. Esta opción carga automáticamente los componentes en la toolbox asociados con los proyectos compilados en una solución y fuerza “a un reload” de todos los componentes, con lo que la carga es bastante lenta.

image

Pues además de todo esto, siempre es recomendable:

  • Tener el disco defragmentado y limpio. Defraggler y CCleaner, son 2 productos gratuitos que te alegran el día.
  • Puede gustarte o no, pero un disco SSD es un cambio que se nota mucho cuando trabajas con Visual Studio 2010. Aquí JuanLu, te da un par de consejos al respecto.
  • Revisa la cantidad de extensiones y AddIns que tienes instalado en tu Visual Studio 2010. Es muy tentador entrar a la Visual Studio Gallery para descargar extensiones, pero claro, todo esto luego se paga en performance.
  • Aplica el sentido común: si Visual Studio 2010 funciona lento, Outlook funciona lento y el Notepad funciona lento, pues estos tips no te servirán para nada Open-mouthed smile

Saludos @ Home

El Bruno