[TFS] HowTo: Configurar el servidor de Mail para TFS

Buenas

hace mucho tiempo que no me tocaba cambiar la configuración para el envío de mails en un servidor Team Foundation Server. Por suerte desde hace un tiempo esta información está publicada en la MSDN en la sección:

How to: Configure SMTP Server and E-mail Notification Settings in the Services Web.Config File

pero claro, si uno lee esta información y no sabe donde está instalado Team Foundation Server, mucho no podrá hacer. Es por eso que he completado la lista de archivos a modificar dentro del artículo de MSDN con la siguiente información:

  • C:Program FilesMicrosoft Visual Studio 2005 Team Foundation ServerWeb ServicesEmailNotifyweb.config
  • C:Program FilesMicrosoft Visual Studio 2005 Team Foundation ServerWeb ServicesServicesweb.config
  • C:Program FilesMicrosoft Visual Studio 2005 Team Foundation ServerWeb Servicesweb.config

 

Obviamente estos archivos solo son válidos si se respeta la ubicación original para la instalación de Team Foundation Server, pero sirve de referencia inicial cuando alguien te pregunta ¿dónde está instalado Team Foundation Server?

 

Saludos @ Marron

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[VS] Un par de CodeSnippets -> to validate, to validate, to validate

Buenas,

un par de snippets para ir cerrando la semana en un lunes que pinta fatal. Por un lado, las clásicas líneas para validar si un argumento es nulo y además otro codesnippet para validar si un argumento de tipo String es válido. Ambos code snippets se pueden descargar desde aquí o se pueden crear con el código fuente incluido al final de este post.

 

Instalación

Una vez descargados el proceso para importar los mismos es el siguiente:

1. Seleccionar Menu Tools // Code Snippets Manager

 

2. Seleccionar C# como lenguaje y hacer click en el boton Import

 

3. Seleccionar los archivos que se han descargado chkparNull.snippet y chkparString.snippet; y a continuación seleccionar la ubicación Visual C# para importar los Code Snippets

 

4. Una vez importados, podremos ver en la aplicación dentro del listado de Code Snippets los nuevos Code Snippets que hemos importado.

 

Ejemplo

Una vez instalados, podremos utilizar los mismos directamente desde nuestro editor de codigo, simplemente desplegando el menu contextual y seleccionando la opción Insert Snippet. Seleccionamos uno de los snippets importados desde la lista y podremos ver que en el caso del snippet para validar argumentos nos sugiere completar el nombre del parámetro a validar:

 

Una vez completado el valor del campo Param_Name, nuestro código queraría como el siguiente ejemplo:

public void DemoFunction(string stringParameter, object objectParameter) { if (objectParameter == null) throw new ArgumentNullException("objectParameter", "the param objectParameter is null"); }

El funcionamiento del snippet para validar parámetros del tipo string es similar.

 

Código Fuente

Check Null Parameter

<?xml version="1.0" encoding="utf-8" ?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Check Param Null</Title> <Shortcut>chkparNull</Shortcut> <Description>Code snippet for adding the necessary code to check a null parameter.</Description> <Author>Bruno Capuano</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>fldParam</ID> <ToolTip>Parameter Name</ToolTip> <Default>Param_Name</Default> </Literal> </Declarations> <Code Language="csharp"> <![CDATA[if ($fldParam$ == null) throw new ArgumentNullException("$fldParam$", "the param $fldParam$ is null");]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

 

Check String Parameter

<?xml version="1.0" encoding="utf-8" ?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Check Param String</Title> <Shortcut>chkparString</Shortcut> <Description>Code snippet for adding the necessary code to check a string parameter.</Description> <Author>Bruno Capuano</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>fldParam</ID> <ToolTip>Parameter Name</ToolTip> <Default>Param_Name</Default> </Literal> </Declarations> <Code Language="csharp"> <![CDATA[if (string.IsNullOrEmpty($fldParam$)) throw new ArgumentNullException("$fldParam$", "the param $fldParam$ is invalid");]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

 

Saludos @ Marron

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[MSRS] Robochamps, campeonato de Robotica con premio en metalico (en metalico al estilo Bender)

Buenas,

si estás interesado en la Robótica, esta competición puede interesarte. Se trata de RoboChamps, un evento global de robótica donde utilizando Microsoft Robotics Studio deberás automatizar las acciones de una serie de robots en diferentes escenarios para cumplir tareas predeterminadas.

El desafío para los developers es utilizar la CTP v2 Microsoft Robotics Developer Studio (utilizando Visual STUDIO 2008 C# Express o superiores) para controlar el robot y completar las tareas definidas. Los entornos simulados otorgan una puntuación de acuerdo al rendimiento del robot y existe un servidor central donde se registra el puntaje global. Y he aquí el detalle más importante: La puntuación más alta para cada reto puede ganar los robots reales.

Detalles a recordar para este tipo de eventos:

  • La competición es virtual, es decir, no hace falta hardware real para participar.
  • Los prerequisitos son gratis, en otras palabras se puede participar utilizando las versiones Express de Visual Studio y Microsoft Robotics Studio
  • El site de la competición utiliza Windows Live ID y streaming de Silverlight, todo basado en Windows Live. Software + Services

Happy roboting !!

Saludos @ Marron

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[TFS] HowTo: Disable Custom WorkItem Type in Team Project ?

Buenas,

he aquí una cuestión interesante: en muchos proyectos cuando las Team Foundation Server Power Tools caen en malos de algún ser tenebroso, y esta persona se emociona y comienza a modificar los campos de la definición de WorkItems o a crear nuevos tipos de WorkItems; llega un momento en que esto se descontrola y nos enfrentamos a la triste situación donde hemos creado un tipo de WorkItem en un Team Project y no queremos que nadie más lo utilice.

Este problema que debería ser de fácil solución, es bastante complicado de solucionar porque en un Team Project no es posible borrar la definición de los WorkItems que posee el mismo. Por ejemplo, supongamos que basados en la deficion de un Bug creamos un nuevo tipo de WorkItem llamado CustomBug.

 

Una vez agregado al Team Project podremos crear nuevos elementos del tipo CustomBug. Comenzamos a crear WorkItems de este tipo y después de analizarlo un poco llegamos a la conclusión de que simplemente extendiendo el Bug que ya posee el Team Project solucionaremos nuestro problema. Sin embargo, en nuestro TFS todavía tendremos activa la opción para crear WorkItems del tipo CustomBug.

 

Como comenté anteriormente, no existe forma de borrar esta definición, pero si podemos actualizar la misma. Y partiendo de esta actualización podemos crear un transición de estados inválida con la siguiente definición:

<TRANSITION from=”” to=”Active” not=”[global]Team Foundation Valid Users”>

Esta definición describe que el WorkItem en cuestion pasará de su estado inicial en blanco a Active (esto es el momento de la creación del WorkItem) pero que esta acción no puede ser realizada por ningún usuario del grupo [Team Foundation Valid Users]. De esta forma aseguramos que el WorkItem nunca tendrá un estado válido.

Pues bien, una vez actualizada la definición del WorkItem en nuestro servidor TFS, veremos que podremos crear una nueva instancia del mismo, pero que no podremos grabar la misma.

Solución temporal pero solucion 😀

 

Saludos @ Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[TFS] Visor de WorkItems en WPF (un show para el Hola Mundo)

Buenas

tfssbhome.JPGgracias al amigo Edu y después de leer un poco las noticias, me encuentro con este proyecto que la verdad me parece muy interesante: TFS Sticky Buddy. Se trata de un visor de WorkItems, donde podemos ver las mismas a través de una interfaz que las organiza por Areas, Iteraciones, tipos, etc.

Me gusta la interfaz y me gusta la idea detrás del proyecto, jugando un poco con un par de workitems y con pequeños proyectos muestra una visión interesante de los mismos, con pequeños detalles como zoom, preview de la información de los WorkItems, etc.

Pero y siempre hay un pero cuando tratamos de visualizar un Team Proyect con miles de WorkItems, la performance baja considerablemente; y la visualización se torna un poco caótica.

Afortunadamente, el proyecto está en CodePlex y si alguien como yo quiere hacerle un par de modificaciones, puede acceder al mismo.

Página principal: http://www.codeplex.com/TFSStickyBuddy

 

Saludos @ Marron

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[Off-Topic] Reuniones without guidance: una inutil forma de perder el tiempo

Buenas,

hoy toca cambio de tema, pero

¿quien no ha sufrido las clásicas reuniones sin una agenda que terminan convirtiendose en un caos, una gran discusión o una pérdida de tiempo?

Este mal, el de las reuniones mal organizadas, es algo que veo en muchas empresas. Lamentablemente, además del tiempo mal invertido de una o más personas en este tipo de reuniones, existen personajes cuya única función consiste en sumarse y participar. Por lo general, cuando comenzamos a acostumbrarnos a esta dinámica de trabajo, empezamos a trabajar en un círculo vicioso que no nos lleva a ningún lado.

Yo no soy un experto en el tema de la coordinación de equipos de trabajo, ni tampoco en sociología y mucho menos en otros temas menos trascendentales como por ejemplo, la capacidad de reproducción de la cucaracha macho durante el mes de abril, pero tengo un pequeño truco que me ayuda a que las reuniones se conviertan en una actividad más productiva. Los pasos que sigo son los siguientes:

  • Antes de la reunión, trato de que la persona que organizó la reunión o los participantes me digan la agenda o los temas a tratar en la misma.
  • Durante la reunión, participó pasivamente tomando notas de los aspectos relacionados con la agenda.
  • Luego de la reunión, envío una pequeña acta con lo hablado en la reunión y las conclusiones si es que existen a los participantes.

Como por lo general en las reuniones mal organizadas, no se saca nada en claro; cuando existe una pequeña acta de reunión y TODOS los participantes de la reunión deben firmar la misma; un acta sin contenido asusta. El siguiente paso es reunirse nuevamente para tratar de cerrar los temas que han quedado pendientes, y luego de la siguiente acta y tal vez después de 2 o 3 reuniones, podamos dar por cerrados los temas de la reunión. Esta dinámica de trabajo ayuda a ser más efectivos, porque nadie quiere asumir que ha invertido 10 horas de su tiempo para definir que un campo fecha se almacenará en un field string.

Otro punto importante es que el acta que se genera, tiene que tener un formato al estilo telegrama. Si se crean actas de 45 páginas, nadie las leerá; pero en cambio, si se crea un acta como este post, con 3 bullets y 2 conclusiones, la lectura es más amena.

Una vez más, sobre este tema hay mucho escrito, pero un poco de sentido común puede servir para dar un primer paso para ser más efectivos.

 

Saludos @ Marron

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[TFS] TFS PowerTools de Marzo disponible para descarga

Buenas,

cómo bien nos comentaban la semana pasada en el MVP Summit en Seattle, ya está disponible para descargar una nueva version de las clásicas y siempre útiles PowerTools para Team Foundation Server 2008. Las mismas se pueden descargar desde TFS 2008 March ’08 Power Tools y 64-bit TFS 2008 Sharepoint extensions installer; ya que en este caso se contempla también un set especial para entornos de 64 bits con MOSS.

Si bien en mi actual proyecto, no utilizamos Team Foundation Server 2008, y estamos a la espera de migrarlo, no puedo esperar a levantar la máquina virtual para probar:

  • El editor de Process Templates que soporta Custom Controls !!! Impresionante, algo que veníamos pidiendo desde hace tiempo y que ahora que lo tengo entre mis manos me da un poco de temor (con cada gran poder viene siempre una gran responsabilidad)
  • Cliente TFSServerManager, completamente explicado hace un tiempo aquí.
  • Soporte para Windows Server 2008 en el TFS Best Practices Analyzer.
  • Mejoras en los Work Item Templates.
  • Y muchas cosas más que comenta detalladamete Brian Harry en su blog.

Fuente: http://blogs.msdn.com/bharry/archive/2008/04/21/march-08-team-foundation-server-power-tools-released.aspx

 

Saludos @ Valentino’s Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[VSTS] Whitepaper: Gestion de Requerimientos con Visual Studio Team System

Buenas,

quick news, se acaba de publicar un interesante documento que describe cómo utilizar Visual Studio Team System para la gestión de requisitos mediante Visual Studio Team System 2005 o Microsoft Visual Studio Team System 2008.

Descarga: http://www.microsoft.com/downloads/details.aspx?FamilyId=EEF7BB41-C686-4C9F-990B-F78ACE01C191&displaylang=en

 

Saludos @ Valentino’s Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[TFS] OpenTF, Mono TFS Client ? (gratis, pero …)

Buenas,

hace unas horas llegué de Seattle a Madrid, después de un viaje que fue una paliza. Todavía estoy disfrutando de los incordios del JetLag pero por suerte mientras veo los playoffs de la NBA me comienzo a sentir un poco más en casa. Es que 9 horas de diferencia son muchas, pero un partido como el de San Antonio-Phoenix es algo que no hay que perderse.

Pero claro, el trabajo obliga y mientras comienzo a revisar una semana de trabajo atrasado, me encuentro con estas bibliotecas cliente de Team Foundation Server pero en una version un tanto especial: para Mono.

OpenTF es una implementación de los ensamblados de Team Foundation. Este proyecto se centra actualmente en las herramientas necesarias para el SCM (Software Configuration Managment), donde se incluye una versión del cliente TF que se puede utilizar para obtener acceso las funciones de SCM de los servidores de Team Foundation. También se incluyen algunos de los subcomandos de las power tools para TFS, asi como la ayuda integrada.

El roadmap es bastante interesante, ya que incluye elementos como un bot IRC para las notificaciones de cambios, un plugin para MonoDevelop (supongo que similar el TeamExplorer), y varias cosillas más.

 

Fuente: http://code.google.com/p/opentf/

ScreenShots: http://flickr.com/photos/11527903@N04/sets/72157601529234621/detail/

 

Saludos @ Valentino’s Home

El Bruno

 

Share this post :


Crossposting from ElBruno.com

[Off-Topic] MVP Summit 2008 – Day 4: Keynote con Steve Ballmer y el adios a Seattle

image

 

Buenas,

llegamos al último día del MVP Summit 2008. Este día es un poco más light que los demás ya que no hay charlas presenciales en las oficinas de Redmond, pero si tenemos sesiones face to face con los equipos de producto. Sin embargo, el gran punto a resaltar del día es el cierre del evento con una sesion con the boss: Steve Ballmer. Como pueden ver en la siguiente foto, el salón estaba a mas no poder a la espera de que apareciera SteveB.

Salón

Yo tenía grandes espectactivas en conocer de primera mano lo que nos comentaría el señor CEO de Microsoft y la verdad es que no me decepcionó no escuchamos el clásico developers, developers, developers 

No comentaré lo que dijo ya que pueden leerlo online aqui. Pero si me gustaría remarcar que la fuerza que desprende esta persona es impresionante. Pero tened cuidado, que una persona pueda apasionar a una gran cantidad de gente no quiere decir nada. En el caso de SteveB además

  • respondió con gran certeza a preguntas complicadas, como que pasará con el futuro de productos que se han sacado del mercado, como por ejemplo Visual Fox; cual es su visión del cambio en la informática para los próximos 10 años, etc.
  • admitió que Vista es un producto “in progress”
  • confirmó que la gran revolución de este año estará dada por la virtualización
  • agradeció a la historia de Microsoft, por haber confiado y crecido en base al Desktop y confirmó grandes cambios para el futuro
  • agradeció a los MVPs el aporte a las comunidades, la mirada crítica y el constante esfuerzo que realizan ¿realizamos? para mejorar los productos de MS

Además y como parece que es un cachondo no tuvo ningún tipo de problema en ponerse una camiseta de Canada, que le dieron unos MVPs de ese país; una corbata de los Simpsons, y no se animó con una capa roja, pero se ve que le molo bastante.

Pues bien, el MVP Summit 2008 se ha acabado; a la noche estuvimos cenando y comiendo basura con los compañeros MVPs de España y si bien todavía estoy preparando un post con las conclusiones del Summit creo que el momento justo para terminar este post será durante las apasionantes 17 horas de vuelo que me esperan para llegar a Madrid.

 

Saludos @ Seattle

El Bruno

 

Share this post :


Crossposting from ElBruno.com