February 2011 - Artículos

image47dd1de4

Buenas,

ayer escribí un post sobre como montar un escenario para sincronizar contenidos desde un repositorio de SubVersion hacia un repositorio de Team Foundation Server 2010.

Un punto interesante de la herramienta de sincronización, es que en estos cass y con un proceso de sincronización ya definido, existen unos baselines sobre los que la misma puede continuar con la sincronización y solo aplicar los cambios desde la última sincronización.

Por ejemplo, si vemos el log de un archivo del repositorio de SubVersion, podremos ver que en el mismo se han producido un par de cambios en el día de hoy.

image

 

Si lanzamos el proceso de migración desde la herramienta de TFS Integration Platform, veremos que en la misma solo se aplican los cambios en el histórico de acciones. Estos cambios se corresponden con los únicos cambios detectados desde la última sincronización.

image

 

Finalmente si accedemos al histórico de TFS2010, también podremos ver como se han sincronizado estos cambios de manera correcta.

image

 

Saludos @ Home

El Bruno

   

image47dd1de4

Buenas,

después de mi pequeño post de hace 2 días:

[TFS2010] HowTo: Exportar el contenido completo de un repositorio de SubVersion a otro repositorio de Subversion

hoy mostraré un pequeño tutorial para mostrar como importar al source control de Team Foundation 2010 el contenido de un repositorio de SubVersion. Para esto utilizaremos las herramientas de integratión de TFS Integration Platform.

Tutorial

1. En primer lugar, debemos instalar las herramientas de integración. Es importante seleccionar el adaptador de SubVersion (en estado Alpha), para que tengamos acceso al mismo al momento de realizar la migración.

image

Actualmente se pueden descargar desde http://tfsintegration.codeplex.com/releases/view/35476

2. El instalador requiere de una instancia de SQL Server para guardar las definiciones de integración y el progreso de los mismos. Si no tienes un SQL Server a mano, puedes instalar y utilizar la versión Express de SQL Server. http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=58CE885D-508B-45C8-9FD3-118EDD8E6FFF

3. La plataforma de integración cuenta con una herramienta que visualmente nos permite definir los procesos de migración o integración. Lanzamos la misma y creamos un nuevo proyecto desde el menú [Configuration // Create New].

4. La creación de un nuevo proyecto requiere una plantilla inicial, seleccionamos el archivo [C:\Program Files\Microsoft Team Foundation Server Integration Tools\Configurations\Subversion\Subversion_to_TFS.xml] para crear el nuevo proyecto. En este punto podremos ver el formulario de configuración del proceso de migración. Pera este ejemplo el nombre del proceso será [Subversion to TFS 2010 23]

image

 

5. Editamos la opción [Left Source] y en la misma configuramos los datos de acceso a nuestro repositorio de SubVersion. Para este ejemplo, utilizo el acceso por file system, pero puede realizarse por cualquiera de los protocolos que soporta SubVersion.

image

 

6. Configuramos el acceso al servidor Team Foundation Server 2010 en la sección [Right Source].

7. En este punto podemos acceder a paths específicos de ambos repositorios para identificar directorios a migrar.

image

 

7. Si bien la opción para la selección de subdirectorios funciona correctamente en el editor, me he encontrado problemas seleccionado subdirectorios en SubVersion al momento de migrarlos. Con la selección de carpetas de TFS 2010 no hay problema, funciona correctamente.

image

 

8. Guardamos la configuración [Save To Database]

9. Lanzamos el proceso de sincronización a través del menú [Current Migration // Start]. Dependiendo de la cantidad de elementos a migrar, este proceso puede tardar bastante (incluso días).

10. Una vez terminado podremos ver el proceso completo como muestra la siguiente imagen:

image

 

Cada una de las acciones realizadas se detalla en el gráfico historico que se muestra en la sección inferior. La siguiente imagen muestra el detalle de la 5ta revisión procesada, con la cantidad de archivos y comentario relacionados a la misma.

image

 

11. Si accedemos al histórico de algún elemento en el repositorio de subVersion podremos ver si histórico de la siguiente forma (gracias a TortoiseSvn)

image

 

Si analizamos la misma información en el histórico del Source Control de TFS2010, veremos que la información es la misma. Y a cada elemento del histórico se le ha agregado un sufijo especificando el origen desde un proceso de TFS Integration Platform.

image

En el próximo post, como actualizar los datos “en caliente” hacia Team Foundation Server 2010 cuando se ha seguido trabajando con SubVersion.

 

 

Saludos @ Home

El Bruno

   

image47dd1de4

Buenas,

en este post no pienso hablar nada de Team Foundation Server 2010 o de Visual Studio 2010, pero me servirá como referencia para próximos posts sobre la utilización TFS Integration Platform. Asi que a lo que vamos …

El escenario que intento abarcar en este post se refiere a la necesidad de exportar el contenido completo de un repositorio de SubVersion a otro repositorio, incluyendo revisiones, histórico, etc. Para este ejemplo, trabajaré con uno de los clientes más populares de SubVersion: TortoiseSvn. Los siguientes pasos describen como realizar la exportación / sincronización.

Tutorial

1. Suponiendo que tenemos un repositorio de SubVersion creado en el directorio [C:\Demo\OldRepo], crearemos un nuevo repositorio en el directorio [C:\Demo\NewRepo]

2. Para esto, en Windows Explorer seleccionamos el directorio, desplegamos el menú contextual y seleccionamos la opción [TortoiseSVN // Create repository here]

image

Una vez creado podremos ver que dentro del mismo, se crea una estructura de carpetas propia de un repositorio de SubVersion.

 

3. Si queremos validar el contenido vación del repositorio, desplegamos nuevamente el menú contextual desde Windows Explorer y seleccionamos la opción [TortoiseSVN // Repo-browser]. En la url ponemos el acceso al repositorio recién creado, y veremos como el mismo está vacío.

image

 

4. Ahora comenzamos la sincronización utilizando el comando svnsync. Para realizar una sincronización, necesitamos ejecutar 2 pasos con este comando:

   1: CD "C:\Program Files\Subversion\bin"
   2: svnsync initialize "file:///C:/Demo/NewRepo" "file:///C:/Demo/OldRepo" 
   3: svnsync sync file:///C:/Demo/NewRepo

Pero sin embargo cuando realizamos esta acción, nos encontramos con el siguiente mensaje de error:

   1: Microsoft Windows [Version 6.0.6002]
   2: Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
   3:  
   4: C:\Users\Administrator>;CD "C:\Program Files\Subversion\bin"
   5:  
   6: C:\Program Files\Subversion\bin>;svnsync initialize "file:///C:/Demo/NewRepo" "fi
   7: le:///C:/Demo/OldRepo"
   8: svnsync: Repository has not been enabled to accept revision propchanges;
   9: ask the administrator to create a pre-revprop-change hook
  10:  
  11: C:\Program Files\Subversion\bin>

Esta información nos indica que debemos crear un hook para admitir los cambios en las revisiones en el repositorio.

 

5. Si vemos el contenido del directorio [C:\Demo\NewRepo\hooks] veremos que en el mismo existe el archivo pero con extension .tmpl. Esta extensión es un template que se utilza mayormente en UNIX. Para nuestro caso crearemos un nuevo archivo con el mismo nombre pero con extensión .bat y dentro delmismo agregaremos la siguiente línea:

   1: @exit 0

Por ejemplo:

image

 

6. Ahora si, ya podremos iniciar la sincronización. Cuando ejecutamos el primer comando veremos el siguiente mensaje:

   1: C:\Program Files\Subversion\bin>;svnsync initialize "file:///C:/Demo/NewRepo" "fi
   2: le:///C:/Demo/OldRepo"
   3: Copied properties for revision 0.

7. Cuando ejecutamos la sincronización, veremos como se mueven las revisiones al repositorio de destino:

   1: C:\Program Files\Subversion\bin>;svnsync sync "file:///C:/Demo/NewRepo"
   2: Transmitting file data ...........
   3: Committed revision 1.
   4: Copied properties for revision 1.
   5: Transmitting file data .
   6: Committed revision 2.
   7: Copied properties for revision 2.
   8: Transmitting file data .
   9: Committed revision 3.
  10: Copied properties for revision 3.
  11: Transmitting file data .
  12: Committed revision 4.
  13: Copied properties for revision 4.
  14: Transmitting file data ......
  15: Committed revision 5.
  16: Copied properties for revision 5.
  17: Transmitting file data ...
  18: Committed revision 6.
  19: Copied properties for revision 6.
  20: Transmitting file data ...
  21: Committed revision 7.
  22: Copied properties for revision 7.
  23: Transmitting file data ...
  24: Committed revision 8.
  25: Copied properties for revision 8.
  26:  
  27: C:\Program Files\Subversion\bin>

Este proceso puede tardar bastante de acuerdo a la cantidad de revisiones y tamaño de las mismas.

8. Una vez finalizado el proceso, si refrescamos el Repo-browser, podremos ver como se han sincronizado los contenidos al nuevo repositorio

image

 

Pues por ahora esto es todo. En próximos posts … porque esto es importante para TFS Integration Platform.

 

 

Saludos @ Home

El Bruno

   

Publicado 25/2/2011 22:54 por El Bruno | con no comments
Archivado en: ,,

Webcast MSDN: Conquistando el mundo con Kinect y C#Buenas,

 

ahora que Microsoft decidió sacar el driver oficial para Kinect, pienso seriamente en hacer un WebCast sobre Notepad++ o Paint.Net para ver si de una vez por todas, maduran a estos productos. Pero bueno, este post es para recordarme que el próximo 1 de Marzo, tendré un mano a mano virtual con Kinect, C#, algún robotito, etc.

El formato será raro, ya que tendremos un poco de código, la webcam en vivo, la señal del infrarojo y al Valentino jugando conmigo, pero bueno, algo saldrá y si los drivers oficiales son bueno, hacemos el update en unos meses.

Casi me olvido, del registro:

Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032476184&Culture=es-AR

 

Saludos @ Here

El Bruno

   

image47dd1de4

Buenas,

apunte rápido para que no se me olvide => existe un HotFix para evitar el problema del Out of Memory cuando se cortan o copian elementos en el editor de WorkFlow Foundation en Visual Studio 2010.

El mismo se puede descargar desde https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=29729 y una vez instalado, pues si has tenido problemas, no los tendrás más Open-mouthed smile

image

Saludos @ Here

El Bruno

   

image

Buenas,

con lo rápido que van las cosas esta noticia es viejuna, pero si todavía no te enteraste, las declaraciones de Craig Mundie y Don Mattrick y este post de Rob Knies ha levantado bastante ruido en el mundo de desarrollo.

Básicamente lo que comenta es que Craig Mundie (Microsoft’s chief research) y Don Mattrick (president of Microsoft’s Interactive Entertainment Business) anunciaron el lanzamiento de un kit de desarrollo (SDK) para Kinect gratuito para la próxima primavera. Si esperas más datos, pues estás frito (NDA I’m sorry), pero que sepas que estará 100% integrado en las herramientas de desarrollo de Microsoft, es decir Visual Studio 2010. Y, cómo es de caracter gratuito, pues lo ideal será trabajar con el mismo desde las versiones Express.

Asi que, bueno, después del evento de la semana que viene con los amigos de SecondNug sobre Kinect, deberemos hacer una actualización para utilizar los drivers de Kinect oficiales Open-mouthed smile

 

 

Saludos @ Here

El Bruno

   

Fuente: http://research.microsoft.com/en-us/news/features/kinectforwindowssdk-022111.aspx

Publicado 22/2/2011 17:34 por El Bruno | 2 comment(s)
Archivado en: ,

image47dd1de4

Buenas,

después de mi visita por Barcelona la semana pasada al equipo del AlegreBandolero, Marc Rubiño y su gente, pues uno de los temas que quedó pendiente era evaluar la capacidad de lanzar scripts de MSBuild desde una definición de build de Team Foundation Server 2010. Ahora bien, esto que no es para nada complicado tiene un par de puntos a tener en cuenta relativos a la configuración de la build en Team Foundation Server 2010 y del script de MSBuild. Los siguientes pasos demuestran como incluir un script de MSBuild que muestra unmensaje en la consola de progreso de Builds de Team Foundation Server 2010.

Tutorial

1. Para este caso en particular, utilizaré una definición ya creada de una build que se encarga de compilar y lanzar un par de tests sobre código almacenado en TFS. Como se puede ver en la siguiente imagen, la build hasta el momento funciona correctamente

image

2. Para probar este escenario, he creado el siguiente proyecto que muestra un mensaje utilizando una tarea del tipo BuildStep (de lo que hable hace bastante tiempo por aquí). Este es el código de ejemplo de la tarea, que como pueden ver, simplemente muestra un mensaje en el Log del Build.

   1: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
   2:          ToolsVersion="4.0" InitialTargets="Target1">
   3:   <Target Name="Target1">
   4:     <DisplayTinos />
   5:   </Target>
   6:   <UsingTask TaskName="DisplayTinos" TaskFactory="CodeTaskFactory"
   7:         AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
   8:     <ParameterGroup />
   9:     <Task>
  10:       <Using Namespace="System"/>
  11:       <Using Namespace="System.IO"/>
  12:       <Code Type="Fragment" Language="cs">
  13:         <![CDATA[
  14: Log.LogMessage("Hola Valentino!");
  15: //Log.LogError("Hola Martina!");
  16: ]]>
  17:       </Code>
  18:     </Task>
  19:   </UsingTask>
  20: </Project>

3. Ahora bien, para poder incluir este archivo dentro del proceso de ejecución de un build en TFS2010, es necesario que el mismo esté protegido dentro del repositorio de código fuente. Para esta demo, he seguido un criterio bastante simple y he reutilizado alguno de mis posts sobre MSBuild en una carpeta llamada [MSBuild]. Esta carpeta se baja como parte del Workspace que tiene asociado la definición del Build con lo que ya tenemos acceso a los proyectos de MSBuild.

image

4. En este paso modificaremos el archivo xaml que representa el proceso de ejecucion de TFS Build 2010. Para esto copiaremos el archivo [DefaultTemplate.xaml] a una carperta del Source Control que nos permitirá aplicar los cambios correspondientes en nuestro proceso de Build. Por defecto, los archivos de WF para las builds se encuentran en [$\BuildProcessTemplates]

image

Para este ejemplo lo copiaremos y renombraremos en otro directorio [$/LabsAgile/Build/Dev/src/BuildProcessTemplate], por ejemplo

image

 

5. En este paso, modificaremos la definición del workflow para que lance un proyecto de MSBuild. Para esto editaremos el mismo y accederemos a la siguiente sección:

  • Process
    • Run on Agent
      • Try, Compile, Test …
        • Compile Test and Associate Change Sets
          • Try Compile and Test
            • Compile and Test
              • ForEach Configuration in BuildSettings.PlatformConfiguration
                • ForEach Project in BuildSettings.ProjectsToBuild
                  • CompileTheProject

Una vez dentro, agregaremos una actividad del tipo [MSBuild] al final de la acción de compilar el proyecto. Esta actividad nos permite invocar a un proyecto de MSBuild.

image

 

6. Para que la actividad se pueda lanzar correctamente, debemos configurar las siguientes propiedades de la misma:

  • LogFile: el nombre del archivo de log sobre el que se generará la información.
    • Value: “DemoMSbuild.log”
  • LogFileDropLocation: la ubicación del archivo de log
    • Value: BuildDetail.DropLocation + “\logs”
  • Project: define el proyecto de MSBuild que se lanzará como parte del proceso de build
    • Value: SourcesDirectory + "\Build\Dev\src\MsBuild\DemoTasks.proj"
  • Targets: define las targets que se invocarán
    • Value: New String() { “Target1”}

 

image

También podemos agregar argumentos a la línea de comandos, definir el nivel de trazas, la versión de MSBuild, etc.

7. Una vez que hemos terminado de modificar el xaml, lo guardamos y lo protegemos en el Source Control.

8. A continuación ya podemos asignar este WF a nuestra definición de build de TFS2010. En este paso, editamos la definición de la Build y en la sección [Process] seleccionamos desde el Source Control el archivo de WF que hemos modificado a nuestra build.

image

9. Si todas las configuraciones son correctas, cuando lanzamos una build, en el log de la misma, después de la compilación de cada solución, podremos ver una llamada a nuestro proyecto de MSBuild. El siguiente extracto del log, muestra estas llamadas:

   1: Run MSBuild for Project
   2: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo /noconsolelogger 
   3: "C:\Builds\1\LabsAgile\Build MsBuild Integration\Sources\Build\Dev\src\BuildDemo\BuildDemo.sln" 
   4: /m:1 /fl /flp:"logfile=C:\Builds\1\LabsAgile\Build 
   5:   MsBuild Integration\Sources\Build\Dev\src\BuildDemo\BuildDemo.log;encoding=Unicode;verbosity=normal" 
   6: /p:SkipInvalidConfigurations=true  
   7: /p:OutDir="C:\Builds\1\LabsAgile\Build MsBuild Integration\Binaries\\" 
   8: /p:Configuration="Debug" /p:Platform="Any CPU" 
   9: /p:VCBuildOverride="C:\Builds\1\LabsAgile\Build MsBuild 
  10:   Integration\Sources\Build\Dev\src\BuildDemo\BuildDemo.sln.Any CPU.Debug.vsprops"  
  11: /dl:WorkflowCentralLogger, "c:\Program Files\Microsoft Team Foundation Server 
  12:   2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";
  13:   "Verbosity=Normal;BuildUri=vstfs:///Build/Build/35;InformationNodeId=2902;
  14:   TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,
  15:   GetTargetPath;TFSUrl=http://win-gs9gmujits8:8080/tfs/DefaultCollection;
  16:   "*WorkflowForwardingLogger,"c:\Program Files\Microsoft Team Foundation Server 
  17:   2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Normal;"
  18:  
  19: 00:00
  20: Built $/LabsAgile/Build/Dev/src/BuildDemo/BuildDemo.sln for default targets.
  21:  
  22: 00:00
  23: Built $/LabsAgile/Build/Dev/src/BuildDemo/BuildDemo/BuildDemo.csproj for default targets.
  24:  
  25: 00:00
  26: Built $/LabsAgile/Build/Dev/src/BuildDemo/BuildDemo.Tests/BuildDemo.Tests.csproj for default targets.
  27:  
  28: 00:00
  29: Built $/LabsAgile/Build/Dev/src/BuildDemo/BuildDemo/BuildDemo.csproj for default targets.
  30: MSBuild Log File
  31:  
  32: 00:04
  33: MSBuild
  34:  
  35: 00:00
  36: Built $/LabsAgile/Build/Dev/src/MsBuild/DemoTasks.proj for target(s) Target1.
  37: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /nologo /noconsolelogger 
  38: "C:\Builds\1\LabsAgile\Build MsBuild Integration\Sources\Build\Dev\src\MsBuild\DemoTasks.proj" 
  39: /m:1 /t:"Target1" /fl /flp:"logfile=DemoMSBuild.log;encoding=Unicode;verbosity=normal" 
  40: /p:RunCodeAnalysis="False"  /dl:WorkflowCentralLogger,"c:\Program Files\Microsoft Team Foundation 
  41:   Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";
  42:   "Verbosity=Normal;BuildUri=vstfs:///Build/Build/35;InformationNodeId=2910;
  43:   TFSUrl=http://win-gs9gmujits8:8080/tfs/DefaultCollection;"*WorkflowForwardingLogger,
  44:   "c:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";
  45:   "Verbosity=Normal;"

10. Finalmente si accedemos al directorio de [DROPS] de la build, en el directorio de logs, podremos ver el archivo creado con el output de la ejecución de nuestro proyecto de MSBuild.

 image

Pues bien, en los próximos días un poco de integración más complicada y algún que otro ejemplo interesante.

 

Saludos @ Home

El Bruno

   

image47dd1de4

Buenas,

viendo que Marino Posadas est´s por publicar un nuevo libro sobre Silverlight 4, pues aprovecho y posteo el link al histórico de versiones de Silverlight.

Descarga: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b7a3205-b5f8-4e20-bf42-792de5923454&displaylang=en

La verdad es que después de varios años, es impresionante ver como ha madurado el producto, especialmente en los cambios de Major Version. Pues listo, a darle de comer a mis enanos Open-mouthed smile

 

Saludos @ Home

El Bruno

   

Publicado 20/2/2011 18:12 por El Bruno | con no comments
Archivado en: ,

Eclipse banner

Buenas,

en el post de ayer, alguien comentó como podía crear un proyecto desde cero y protegerlo con Team Foundation Server 2010, todo desde Eclipse. Asi que el tutorial de hoy, son varios pasos que demuestran eso mismo, asumiendo que ya has conectado tu Eclipse a Team Foundation Server 2010.

1. Abrir Eclipse

2. Seleccionar la opción [File // New // Java Project]

3. El nombre del proyecto será [JavaLabs02] y dejamos las opciones por defecto para crear el proyecto

4. Una vez creado, en el Package Explorer debemos ver algo similar a

image

5. A continuación agregamos una clase al proyecto, para esta demo le pondremos de nombre [Math]

6. Agregamos un poco de código y veremos algo similar a lo siguiente:

image

7. Ok, hasta aquí ha sido trabajo de creación de clases y elementos en un proyecto.  A continuación protegeremos el mismo en TFS. Para esto, seleccionamos el proyecto, desplegamos el menú contextual y seleccionamos la opción [Team // Share Project]

8. El resto es bastante simple, seleccionamos TFS como proveedor

image

9. Definimos la ubicación en la que se almacenará dentro de la estructura de datos del Source Control

image

10. Y listo, ahora ya podremos ver el formulario para proteger los cambios, clásico de Team Foundation Server 2010

image 

11. A partir de este momento, nuestros ficheros ya están en TFS y podremos seguir trabajando a placer Open-mouthed smile

image

 

Pues más simple imposible, ahora a publicar el post y darle un restart a Windows, que el Service Pack 1 está esperando desde hace rato Smile with tongue out

 

Saludos @ Home

El Bruno

   

Eclipse banner

Buenas,

después de un par de posts relacionados con Eclipse y Team Explorer Everywhere, hoy le vamos a dar un pequeño repaso a las capacidades del Team Explorer para Eclipse. Desde el mismo podremos acceder a las opciones básicas de trabajo con TFS:

  • Team Project
    • Administración de áreas e iteraciones
    • Acceso al portal de proyecto
    • Administración de las políticas de CheckIn
  • WorkItems
    • Capacidad para crear y ejecutar consultar
    • Capacidad para crear workitems: tareas, bugs, etc
  • Documents
    • Acceso al portal de Sharepoint y a los elementos del mismo
  • Reports
    • Acceso a los informes integrados en Eclipse
  • Builds
    • Definir una nueva Build
    • Encolar una nueva Build
  • Source Control
    • Lo de siempre :)

Pero primero lo primero –> vamos a activar el panel [Team Explorer]. Esto lo logramos a través del menu [Windows // Show Views // Others …]

image

 

Una vez activado, aparece como un nuevo panel más en Eclipse que es exactamente igual al que podemos ver en Visual Studio 2010.

image

 

Otro día explico algunos conceptos como las políticas de CheckIn para Java y otras cositas, pero hay un par de detalles interesantes:

- La edición de WorkItems soporta las novedades de Visual Studio 2010, como es la edición de texto enriquecido, la inclusión de comentarios en el histórico

image

- No hay soporte para consultas con vistas de árbol en los WorkItems. Por un lado muestra la indentación de los WIs, pero no da la opción de colapsar y expandir los elementos relacionados

image

- El formulario de creación y edición de definiciones de Builds ofrece las mismas que en Visual Studio 2010

image

- En el Source Control tenemos la capacidad de trabajar con Branching y Merging con las mismas capacidades que en Visual Studio 2010. Lo único que no está incluido es la capacidad gráfica para ver las relaciones entre las ramas.

image

- El la vista del histórico de un archivo, podemos ver además las opciones de merging que ha psado el mismo

image

- la ventana de comparación entre el histórico de un archivo es bastante potente. Tengo pendiente ver si se puede reemplazar con otra herramienta

image

Bueno por ahora sirve como referencia para ver que la mayoría de las capacidades del Team Explorer de Visual Studio 2010 han sido implementadas en Eclipse. En los próximos días, un poco más de detalle al respecto y con suerte Builds, JUnit, etc.

 

Saludos @ Here

El Bruno

   

image47dd1de4

Buenas,

ahora que hemos montado el entorno de pruebas de Team Foundation Server 2010 y Eclipse, pues primero lo primero –> a conectar código hacia TFS. Los siguientes pasos demuestran como es posible realizar esta tarea.

1. Una vez abierto un paquete de Java, en el panel [Package Explorer] seleccionar el mismo, desplegar el menú contextual y seleccionar la opción [Team // Share Project].

image

2. Seleccionar Team Foundation Server en la lista de repositorios disponibles.

image

3. Leer la licencia y si estas de acuerdo, aceptar la misma.

image

4. Ingresar la clave de Team Explorer Everywhere o activar la opción de prueba de 90 días.

Detalle: a partir del día 30 aparecerá un mensaje de advertencia.

image

5. Completar los datos de conexión con el servidor TFS.

image

6. Seleccionamos el Team Project con el que queremos trabajar

image

 

7. Seleccionamos el Workspace. En este punto podemos reutilizar el workspace que viene creado en la máquina virtual para el usuario actual.

image

8. Seleccionamos la ubicacion del código fuente:

image

9. A partir de este momento ya podemos trabajar con TFS de manera “natural”.

10. Por ejemplo, si queremos hacer CheckIn veremos algo similar a lo siguiente, donde el menú contextual [Team // Check In Pending Changes] nos llevará a la ventana para proteger los cambios.

image

11. En este momento ya podremos ver la ventana de proteger los cambios, muy similar a la de Visual Studio 2010

image

donde inclusive podremos ver la capacidad para asociar WorkItems

image

12. Una vez instalado, ya podremos ver los archivos protegidos en el Source Control de Team Foundation Server 2010.

image

 

Para la próxima un poco más sobre el trabajo diario en Eclipse contra Team Foundation Server 2010.

 

Saludos @ Here

El Bruno

   

image47dd1de4

Buenas,

si quieres probar un poco las opciones de integración que nos da el nuevo Microsoft Visual Studio Team Explorer Everywhere 2010 with SP1 y Eclipse, pues aqui pongo un paso a paso para crear este entorno de prueba en aproximadamente 10 minutos.

1. Descarga las máquinas virtuales para probar Visual Studio 2010 y Team Foundation Server 2010 desde aquí, luego lo único que necesitas es Virtual PC o Hyper-V para ejecutar las máquinas virtuales.

2. Descarga Eclipse desde aquí. Si no tienes instalada la máquina virtual de Java, instala la misma desde aquí.

3. Sigue los pasos de instalación de Team Explorer Everywhere que comento aquí. Aquí pueden ver una instalación con la versión que incluye el Service Pack 1

image

4. Conectar Eclipse con Team Foundation Server 2010.

5. Done !!! en 10 minutos ya podemos probar un entorno mixto de TFS + Java.

 

Saludos @ Home

El Bruno

   

Descargas

image47dd1de4

Buenas,

así como hace unos días comenté que las Team Foundation Server Power Tools nos pueden ayudar mucho en el trabajo diario en el file system, las Team Foundation Server Build Power Extensions, cubren la parte relacionada con la compilación y análisis de información para mundos no relacionados con MSBuild.

Vamos por partes que este pack de extensiones para MSBuild, es completo completo. Utilizando estas extensiones de MSBuild, podremos compilar proyectos de Ant o Maven 2, pero además nos permitirá publicar los resultados de la ejecución de las pruebas unitarias ejecutadas con JUnit a nuestra base de datos de resultados de TFS. El combo completo lo tenemos cuando utilizamos entornos “no Microsoft” como puede ser Eclipse junto con Team Explorer Everywhere, y las definiciones de compilación de los mismos las ejecutamos en nuestro server TFS.

Como en los próximos días me tocará pegarme con estas herramientas de una forma más seria, seguramente mis posts irán por estos lados … me auto deseo suerte Open-mouthed smile

 

Saludos @ Home

El Bruno

   

Descarga: http://visualstudiogallery.msdn.microsoft.com/2d7c8577-54b8-47ce-82a5-8649f579dcb6/

imageBuenas,

seguramente alguno no lo sabe, pero me he pasado las últimas 3 semanas en mi tierra compartiendo buenos momentos con amiguetes (no con todos lo siento) y comiendo asados a cascoporro. El tema del asado argentino va mucho más allá de la calidad de la carne de vaca o ternera como dicen aquí en España, es todo un ritual que empieza cuando prendes el fuego y comenzas a preparar la parrilla, hasta que sacas la primera tanda de carne y la llevás a la mesa, te gritan un “un aplauso para el asador”, te sacuden un par de aplausos y a partir de ahí es una fiesta donde compartis un buen momento con seres queridos.

Ahora bien, para entender el concepto del “amigo que nunca se ensucia” o “el consultor que nunca se moja”, es necesario explicar que a diferencia de otros lugares en el mundo, en Argentina el asado se hace a las brasas. Esto significa que la carne en la parrilla se cocina con el calor de las brasas, muy lentamente. Este calor además ayuda a que cuando la carne suelta pequeñas gotas de grasa o aceite, las mismas caen sobre las brasas y éstas sueltan un pequeño humo que además ayuda a mejorar el sabor de la carne, ya que además de cocinarse lentamente con un calor parejo, se impregna de un humo “saborizado” que le da un sabor muy especial a la misma. Bueno, es por esto que el “asador” tiene que dedicarle tiempo y ganas frente al fuego y la parrilla, y con mucha paciencia ver como está la carne, darla vuelta para que no se queme, etc … jo, ya me dió hambre.

En este proceso frente al fuego, siempre se recomienda tener un vinito o cervecita a mano para pasar mejor el rato y, si es posible, una buena companía con la que charlar un rato. Pero aqui llegó el pero te puede pasar que se acerque el “amigo que nunca se ensucia”. Este tipo de amigos, siempre van vestidos muy pulcramente, con sus lentes/gafas de sol en la cabeza y se caracterizan por ponerse a 1,5 metros del asador, dar un vistazo y empezar a soltar frases como:

  • Me parece que se te está quemando fiera
  • Esa carne no tiene muy buena pinta, si me hubieses avisado te traiga un costillar que es un manjar
  • No te falta fuego?
  • No te sobra fuego?
  • Es tu primer asado, no?
  • etc …

Los que hacemos de la paciencia un arte, aguantamos un rato e intentamos no hacerle caso, luego pasamos a técnicas de distracción pidiendole que te acerque otra cerveza, o diciendole que cuente una hilera de hormigas, pero llega un momento en el que lo querés matar y finalmente dejas sobre la mesa todo lo que tenes en la mano y le soltas un

¿Querés hacerlo vos?

Y aquí es la prueba final, porque la respuesta en el 99.99% de los casos es

Es que mirá como me vine vestido, no te puedo dar una mano sino me ensucio

Personalmente, pienso que más de una guerra ha comenzado cuando a “ese amigo” lo asesinaron antes de terminar el asado, pero claro en mi caso que tengo que cuidar al Valentino y a la Martina me lo pienso 2 veces. Usualmente lo que sé hacer es forzar torpemente una equivocación y tirarle una brasa caliente al brazo o a la pierna, como para escuchar los gritos de dolor un rato y ver como se va muy rápido a ponerse algo para la quemazón. Además el olor a carne quemada se hace un merge con el olor del asado y mucho no se nota.

Si llegaste hasta aquí, seguro que te estás diciendo a vos mismo:

Confirmado, al Bruno se le fué la olla, ¿qué tiene que ver esto con los proyectos de software?

Pues así como en el proceso de cocción de carne está el “amigo que nunca se ensucia”, en los proyectos de software está “el consultor que nunca se moja”. Este último se caracteriza por opinar de todo pero no conocer mucho de nada. Si tuviese que listar algunos puntos que lo identifiquen, estos podrían ser algunos:

  • Puede criticar una solución o aplicación hasta las tripas, pero nunca aportar una solución para los puntos que critica.
  • Habla de tecnologías como churros, se conoce todos los últimos artículos de tecnología, pero eso sí: él no programa porque ya ha hecho “mucho de eso”, seguramente en otra vida.
  • Te puede dar mil links a referencias o artículos que son la solución mágica que arregla 3 años de proyecto desastrozo, eso sí la implementación de esta solución se la tenes que pedir a Batman, porque creo que es el único mortal que puede ayudarte.

Yo recuerdo una vez en un proyecto en llamas donde teníamos un MQSeries super atorado con más problemas que Egipto, uno de estos personajes vino y soltó la siguiente frase:

Esto con un enfoque SOA no hubiese pasado. Porque claro, la orientación a servicios …

Yo que soy una persona de principios, siempre dedicada al bien común, mientras él disertaba sobre SOA, rápidamente agregué un checkbox en un form de configuración de una aplicación, le puse como etiqueta [Enable SOA mode] y en una pausa le mostré al equipo de desarrollo el form, el check y solté un:

¿Probamos habilitando esto?

Como mis compañeros de trabajo eran unos cabrones de cuidado, se quedaron calladitos esperando la palabra del “experto” y cuando empezó la frase con:

Muy bien Bruno, veamos si este cambio nos ayuda a …

Pues a reirnos un rato, dejar que nos putee en todos los idiomas que conozca y que se vaya solito a molestar a otro lado. Vamos que esa es la forma el que “te tiro una brasa caliente” pero en proyectos de software Open-mouthed smile

 

 

Saludos @ Home

El Bruno

   

Publicado 10/2/2011 22:40 por El Bruno | 12 comment(s)
Archivado en: ,,

image47dd1de4

Buenas,

ayer comenté en un post, que cuando se trabaja con archivos directamente desde Windows Explorer, en una carpeta sincronizada con un WorkSpace, pues estos cambios son humo para TFS. Como bien, pusieron en los comentarios, este problema no es de TFS sino de la forma de trabajo, ya que te puede pasar lo mismo con GIT, SVN, etc.

Una de las soluciones, es instalar las Team Foundation Server Power Tools para Team Foundation Server 2010 para Visual Studio 2010 y a partir de este momento, podremos ver en Windows Explorer nuevas opciones que nos permiten trabajar directamente contra Team Foundation Server.

image

Esta extensión se puede descargar desde Visual Studio Gallery en http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f y si vemos el ejemplo de la carpeta que mostré ayer veremos algo similar a lo siguiente, donde se puede ver como el archivo 3.txt no está asociado al source control

image

Agregarlo desde el explorador de archivos es tan simple como seleccionarlo, desplegar el menú contextual, y seleccionar la opción [Team Foundation Server // Add]

image

 

Pues ya sabes, ahora no hay excusas Open-mouthed smile

 

Saludos @ Home

El Bruno

   

clip_image001 clip_image003

Buenas,

si quieres probar aplicaciones desarrolladas bajo tecnología microsoft esta noticia seguro que te interesa –> Microsoft Platform Ready

http://www.microsoftplatformready.com/spain/home.aspx

He aquí un poco de información oficial al respecto:

Date de alta en Microsoft Platform Ready con tu usuario y contraseña del programa de partners, da de alta todas tus aplicaciones, independientemente de la fase en la que estén (desarrollo, pruebas, producción, etc) y aprovecha los recursos de MPR (recursos de desarrollo, realiza test de certificación, material de marketing, etc).

Si realizas algunos de los test, estos automáticamente volcaran en MPN y podrás asociarlo a la competencia para la que sean válidos.

A parte de ISVs, hay otras competencias que permitirán la certificación de una aplicación para obtenerla en su nivel Silver.

· Application Integration  =  Windows Server 2008 R2 Platform Ready

· Data Platform  =  SQL Server 2008 R2 Platform Ready

· Business Intelligent  =  SQL Server 2008 R2 Platform Ready

· Content Management   =  Sharepoint Server 2010 Platform Ready (proximamente disponible)

· Unified Communication  =  Unified Communicatios Platform Ready ( aun no disponible)

Para aquellos que queráis optar a la competencia Gold de ISVs los test que se solicitaran son:

- Certified for Windows Server 2008 R2 o

- Windows 7 Logo Test

Si ya realizasteis el Windows 7 Logo test y queréis optar a la competencia Gold ISVs, enviadme un pantallazo de Winqual con la información de la certificación, para poder solicitar su validación para la competencia.

Saludos

El Bruno

Publicado 9/2/2011 21:23 por El Bruno | con no comments
Archivado en:

image47dd1de4

Buenas,

si bien existen variantes sobre la pregunta, por lo general suelo escuchar algo similar a lo siguiente:

¿Porqué mis acciones de Branch no “llevan” todos los archivos con los que trabajo?

Es decir, si tengo una rama A con los siguientes archivos

+ A

  - 1.txt

  - 2.txt

  - 3.txt

Existen ocasiones donde al hacer un branch de la rama A, a una nueva llamada B, se crea lo siguiente

+ B

  - 1.txt

  - 2.txt

Si tienes vista de lince o tu IQ supera el mío cosa no muy complicada verás que en la rama B no está el archivo 3.txt.

En este momento, cuando buscamos soluciones solemos optar por lo siguiente:

  • En primer lugar, descargamos responsabilidades en algún demonio de bajo nivel –> Esto es obra de Belcebú !!!
  • En segundo lugar, vemos quien no ha venido a trabajar y le echamos la culpa –> Seguro que fué el Shuba !!!
  • Finalmente, como seguimos sin solucionar nada tendemos a castigar al producto –> TFS es una mi#@#$ !!!

Si bien reconozco que hay varios errores en TFS y cosas que pueden ser mejoradas, para este escenario hay una casuística que es la que suele desencadenar esta situación.

Has creado archivos directamente en el explorador de archivos de Windows y no los has sincronizado con TFS.

Ya lo sé, parece una tontería y es muy obvio, pero es increíble la cantidad de veces que sucede esto mismo y si bien tenemos una extensión para Windows Explorer que nos permite trabajar con TFS directamente desde el explorador de archivos, si no “avisamos a TFS” que hemos modificado, o agregado un archivo, pues el servidor no se entera.

Asi que ya sabes, para la próxima primero una revisión de tareas realizadas fuera de Visual Studio y … Open-mouthed smile

 

Saludos @ Home

El Bruno

   

image47dd1de4

Buenas,

después de unas largas vacaciones vuelvo a estar conectado, pero de a poco que sino hace daño. Lo primero que me voy a apuntar es la versión final de WiX 3.5. Esta excelente herramienta para crear instaladores en Visual Studio. En este caso es para la versión de Visual Studio 2010, y la misma se puede descargar, obviamente desde CodePlex en http://wix.codeplex.com/releases/view/60102

Lo más interesante de esta versión según mi distorsionado point of view es lo siguiente:

  • Integración completa en Visual Studio 2010
  • Soporte para acciones en II7
  • Soporte para más de 30 culturas diferentes (incluido el clásico es-es)
  • Soporte para actualizaciones menores y mayores (eso que suena tan feo en español, pero que en inglés son los clásicos mayor updates y minor updates)

BTW la página oficial sigue estando en SourceForge http://wix.sourceforge.net/

Saludos @ Home

El Bruno

   

Fuente: http://robmensching.com/blog/posts/2011/1/31/WiX-v3.5-released