July 2012 - Artículos

image

Buenas,

una de las novedades que se incorporaron en el Kinect SDK 1.5 fue la capacidad de detectar puntos de la cara. Cuidado, algunos piensan que esto nos puede dar la capacidad de realizar reconocimiento facial, pues NO. Lo que podemos hacer es identificar más de 80 puntos de una cara y a partir de los mismos …. pues lo que querramos. Un modelo que podríamos tener de referencia es el siguiente:

image

Fuente: http://msdn.microsoft.com/en-us/library/jj130970.aspx

Si tenemos la suerte de tener ascendencia oriental, pues los puntos de reconocimiento de una cara serán similares a los de la foto anterio. Si en cambio somos feos como yo mismo, pues veremos algo similar a lo siguiente:

image

¿Y cómo funciona el reconocimiento facial? pues lo primero que veremos es que el código es abierto con lo que cualquiera puede toquetearlo y jugar con el mismo para adaptarlo a sus necesidades.

La idea es que a partir de la posición del Joint de la cabeza (Head) que reconoce el sensor Kinect, se reconoce un área virtual alrededor de la cabeza y las clases para el Face Tracing nos retornan un array con puntos en solo 2 dimensiones para poder tener las referencias como el modelo anterior. (aquí hay mucho más para explicar sobre como llegar de los 2D hasta los 3D, pero eso va para más adelante).

Como podemos ver en las imágenes anteriores, hay 87 puntos identificados en una Face. (si, me he tomado el trabajo de contarlos uno a uno) Además de los 87 puntos que se presentan en la imagen de nuestro amigo asiático, la rutina de Face Tracking identifica 13 puntos más. Por ejemplo, el centro de los ojos, el centro de la nariz, los contornos de la boca y los bordes del área donde se realiza el proceso del face tracking.

En el próximo post describiré un paso a paso para poder mostrar los ejemplitos de las imágenes.

Fuente: http://msdn.microsoft.com/en-us/library/jj130970.aspx

Saludos @ La Finca

El Bruno

image image image

Publicado 31/7/2012 13:38 por El Bruno | con no comments
Archivado en: ,

image

Buenas.

El nuevo Team Web Access para Team Foundation Server 2012 realmente ha mejorado mucho. Yo ya he escrito un par de post al respecto, sobre la home, sobre la gestión de builds y otros. Aunque hoy me toca repasar un poco las mejoras que posee TWA en la seccion de Source Control.

En primer lugar, podemos ver que al igual que en muchas partes de TFS, ahora también tenemos la sección de Favoritos, personales y de equipo.

image

Desde cualquier carpeta o elemento, podremos agregar los mismos a los favoritos. Y a partir de este momento tendremos acceso a los mismos en la parte superior izquierda del visor.

image

Otra de las mejoras está en la visualización del histórico de un fichero. Ahora ya que tenemos la capacidad de configurar nuestros datos y una foto en el perfil del usuario, pues bien, ya vemos el histórico de una forma mucho más user friendly.

image

Especialmente si lo comparamos con la versión actual de VS2012.

image

Finalmente nos queda ver el nuevo visor para las comparaciones entre versiones. En este caso no hay grandes novedades si lo comparamos con la versión de TFS2010, pero sigue siendo bastante agradable a la vista poder ver el mínimo de Changed / Inserted / Deleted con los cambios entre 2 archivos.

image

Si vemos el visor de ChangeSets, una funcionalidad que es bastante poco útil, es la capacidad de realizar una búsqueda por los mismos a partir del número del ChangeSet. Pero otra que si me gusta es la capacidad de ver los últimos ChangeSets que he realizado, además de la lista completa de ChangeSets recientes.

image

El detalle de un changeset nos muestra a la izquierda los archivos que se han incluido en el mismo y en la sección de detalle, los comentarios, notas y WorkItems asociados al ChangeSet. Además de la fecha, hora y usuario asociado al changeset.

image

El visor de ShelveSets es similar al de ChangeSets, veamos un ejemplo que cree para la charla de TFS Preview en Second Nug.image

Finalmente comentar, que si bien nos mola tener la foto del usuario en todos lados, en el histórico de un archivo o carpeta, siempre veremos los cambios del servidor de compilación en un formato similar a la siguiente imagen.

image

Saludos @ La Finca

El Bruno

image image image

image

Buenas,

pedazo de idea la del Megathon, en realidad es como un hackathon pero en simultáneo en varias ciudades y en este caso sobre Windows 8. LA info oficial se puede encontrar aquí http://megathonwindows8.azurewebsites.net/?goback=%2Egde_3815825_member_138409308

y por ahora tenemos evento en varias ciudades:

Saludos @ Home

El Bruno

image image image

Publicado 29/7/2012 20:18 por El Bruno | con no comments
Archivado en: ,

image

Buenas,

estos días en Avanade nos recomendaban tener cuidado si instalamos la versión de prueba de Office 2013 ya que el Outlook podía “limpiar” tu Inbox si lo conectabas con tu cuenta de Exchange. No recuerdo bien los detalles pero parece que cuando vacíabas la carpeta Deleted Items, el Exchange se pasaba de vueltas y también eliminaba todo el contenido del Inbox.

Por suerte solo han pasado unas horas y ya tenemos un parche para las versiones X86 y X64 que soluciona este problema.

For x86: http://www.microsoft.com/downloads/details.aspx?FamilyID=406fc4ba-cdd4-4dfc-a9da-3a31e9db218d
For x64: http://www.microsoft.com/downloads/details.aspx?FamilyID=7938423f-f99e-4130-8d79-000268af72dc

Saludos @ Home

El Bruno

image image image

Publicado 28/7/2012 17:22 por El Bruno | con no comments
Archivado en:

Buenas,

hoy podría escribir de muchas cosas, pero en realidad una de las mejores noticias del día es que ReSharper 7, deja de estar en fase de pruebas y se ha liberado la versión final. En R#7 se pueden ver muchas  cosas interesantes, como por ejemplo la capacidad de elegir nuestro propio set de iconos de colores o en grises para Visual Studio 2012 (este tema sigue dando juego)

image

lo que comentan en el blog oficial es parte del pedazo de producto que es ReSharper.

  • Full integration with Visual Studio 2012 while maintaining support for Visual Studio 2005, 2008, and 2010. For obvious reasons, we’ve been testing on Visual Studio 2012 RC and we haven’t had a chance to verify smooth integration with Visual Studio 2012 RTM. However, as soon as RTM is available to us, we’ll see if it contains any breaking changes, and if we find anything, we’ll be quick to roll out a minor update. (See How Exactly ReSharper 7 Supports Visual Studio 2012.)
  • An extensive pack of functionality for developers looking to create WinRT-based Metro style applications. (See Windows Runtime Support in ReSharper 7.)
  • New code inspections and contract annotations for a more robust .NET code quality analysis.
  • New automated code refactorings, including the top requested Extract Class to decrease code coupling.
  • Additional code exploration features helping visualize hierarchies of polymorphic members and CSS styles.
  • An extended and fine-tuned code generation toolset. (See Code Generation Improvements in ReSharper 7.)
  • INotifyPropertyChanged interface support pack to improve productivity of Windows Forms, WPF and Silverlight application developers. (See INotifyPropertyChanged Support in ReSharper 7.)
  • Removing unused assembly references across the entire solution.
  • Extended web development toolset, including improvements to JavaScript support, and initial support for ASP.NET 4.5 and ASP.NET MVC 4.
  • Addition of two previously unsupported Microsoft development technologies: LightSwitch and SharePoint.

Yo desde aquí los animo a probarlo, y si no lo conoces pero eres un developer del palo, seguro que este video te ayuda a decidirte. > Why ReSharper is Awesome.

Nota: Es de Hadi pero me parece que no es la voz de Hadi Winking smile

Saludos @ Home

El Bruno

image image image

Publicado 26/7/2012 20:04 por El Bruno | con no comments
Archivado en:

image

Buenas,

hoy toca un pequeño truco para poder utilizar nuestras cuentas de Microsoft Account con Outlook 2013 (@hotmail, @msn, @live, etc). Si has probado agregar directamente alguna de estas cuentas verás que las mismas no se resuelven en el asistente para agregar cuentas.

Pues bien, gracias a este post podremos seguir los siguientes pasos para agregar nuestra cuenta.

1. Acceder al menu “File // Add Account”

image

2. Seleccionar “Manual setup …”

image

3. Seleccionar “Exchagen ActiveSync”

image

4. Completar los datos con el correo, la contraseña, y demás. Lo importante es poner el mail server: m.hotmail.com.

image

5. Done !!!

Fuente: http://msmvps.com/blogs/officept/archive/2012/07/24/connect-to-hotmail-with-outlook-2003.aspx

Saludos @ La Finca

El Bruno

image image image

Publicado 25/7/2012 11:43 por El Bruno | con no comments
Archivado en: ,

image

Buenas,

yo que estaba tan contento con mi Windows 8, con mi Visual Studio 2012 y con las versiones previas de Office 15, pues me doy con la cabeza con la pared cuando en otro ordenador de pruebas me encuentro que Visual Studio deja de funcionar cuando instalas Office 15.

Pues bien, el primer impulso es reiniciar las settings del IDE (algo de lo que escribí hace más de 5 años aquí), pero luego veo que esto tampoco funciona. El problema está relacionado con la carga incorrecta de unos ensamblados compartidos entre el IDE y Office.

Por suerte, antes de ponerme a ver qué podía pasar a bajo nivel me doy cuenta de que el July Update for VS2012 Release Candidate soluciona este problema. Así que lo descargo desde aquí y listo Open-mouthed smile

Descarga: http://www.microsoft.com/en-us/download/details.aspx?id=30178

Saludos @ La Finca

El Bruno

image image image

image

Buenas,

hace poco tiempo comenté sobre la capacidad de crear storyboardings con PowerPoint en Visual Studio 2012. Esta funcionalidad no es el nirvana de los storyboardings, pero si nos permite diagramar algunos escenarios que la verdad quedan muy bien.

Disclaimer: alguno se preguntará que pasa con SketFlow de Expression … pues ya daré mi opinión en un foro menos abierto.

Pues bien, volviendo a los StoryBoardings una de las cosas que más nos gusta es que además de las plantillas y Shapes que vienen por defecto Out-Of-The-Box también podemos importar nuevos Shapes desde Visual Studio Gallery. Este link te puede dar muchas alegrías: http://visualstudiogallery.msdn.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=StoryboardShapes&f%5B0%5D.Text=Storyboard%20Shapes

Una vez que hemos descargado nuestro Shape, los pasos para importar un archivo con extensión .sbsx son los siguientes:

1. Abrir PowerPoint y acceder a la sección StoryBoarding en la Ribbon.

2. Seleccionar la opción “Import Shapes” dentro de la Ribbon.

image

3. Seleccionar el archivo .sbsx

4. Done !!!

image

image

Buenas,

hace unos días escribí un post donde comentaba como automatizar un despliegue de un website a una instancia de AZURE utilizando Team Foundation Service como repositorio de codigo fuente y Team Build de TFSPreview para la compilación, creación de paquetes y automatización del despliegue (el post completo aquí).

Hace unos minutos alguien me preguntaba cómo revocar estos permisos asociados a mi cuenta de TFS y de AZURE. En el caso de la revocación de la cuenta de TFSPreview debemos seguir los siguientes pasos:

1. Acceder a http://www.tfspreview.com

2. Acceder a los datos de nuestro perfil (como muestro aquí)

3. Seleccionar la opción CONNECTIONS

4. Seleccionar la opción “MANAGE-PROD CLOUDAPP” y revocar el acceso a la misma.

image

Saludos @ La Finca

El Bruno

image image image

image

Buenas,

no me preguntes el porqué, pero me gusta que Windows Search indexe los contenidos de mis clases de C# y de todos los directorios de código en general para luego poder abrir en 2 clicks las soluciones / proyectos que más me molan.

Disclaimer: Sé que también es posible acceder a la lista de proyectos recientes de Visual Studio con un hermoso right-click sobre el acceso de VS2012. Pero soy un hombre de teclado siempre que puedo.

image

Pues bien, los pasos para agregar nuestros directorios de código son los siguientes:

1. Tecla de Windows + W, para acceder a la búsqueda de Settings

2. Escribir “SEARCH”

image

3. De la lista de resultados, seleccionar “Indexing options”

4. En las opciones de búsqueda, seleccionar “Modify”

image

5. Seleccionar los directorios que tengamos mapeados a nuestros espacios de trabajo locales. En mi caso he agregado un par de directorios en la raiz de mi disco E.

image

6. Pues bien este momento ya tenemos a Windows Search indexando nuestros contenidos, pero claro por defecto no sabe como procesar las extensiones de código, como por ejemplo .cs. Para agregar esto, en las opciones búsqueda seleccionamos la opción “Advanced” agergaremos esta extensión.

7. En la pestaña “File Types” agregamos la extensión CS, con la opción de indexar propiedades y contenidos como muestra la siguiente imagen.

image

8. Listo !!! A partir de este momento cuando lancemos una busqueda de archivos, podremos ver los resultados de la misma nuestros ficheros cs, vb, etc.

image

Saludos @ Home

El Bruno

image image image

Publicado 19/7/2012 21:54 por El Bruno | con no comments
Archivado en: ,

image

Buenas,

hoy un compañero que intentó acceder a mi instancia de TFS Preview, me comentó que se había caido la nube de TFS !!! Esto de por sí es un poco improbable, pero después de los últimos meses pues hay que darle crédito a todo. Asi que le pedí una descripción del error y me transcribió lo siguiente:

TF400908: The account page you are trying to view does not exist or you do not have access to it.

Esto me dió más miedo aún. Por la descripción del error o bien MS ha eliminado mi instancia de TFS Preview (cosa razonable por cierto) o era un problema de permisos.

Al momento de pedir más detalle el error era más completo y me dió pie para decirle que me debia una cerveza o dos Mug

TF400908: The account page you are trying to view does not exist or you do not have access to it.

We recommend that you double check the URL you are trying to access and verify that your identity (mailSinPermisos@SiteAgarroTeMato.com)  has the correct permissions.

Esto si que tiene sentido, la cuenta de Microsoft Passport que utiliza esta persona no tiene permisos y claro, pocas veces alguien se lee los detalles de un error.

Además ahora que han implementado el modelo “sad face” como en las BSOD de Windows 8, pues mira … ya no es tan trágico ver “un error” en TFS Service.

image

Saludos @ Home

El Bruno

image image image

image

Buenas,

ok, día de asesinar con dolor el ordenador mientras volvemos a instalar Office 15. Pero para matar el tiempo, cerraré alguna de las ideas que surgieron en una conversación de twitter ayer con @jc_quijano @pablonete @luisruizpavon. La cuestion era hasta donde podemos llegar con los nuevos Workspaces locales que se han inlcuido en Visual Studio 2012 y Team Foundation Server 2012.

Vamos con un poco de historia primero. El concepto de Workspace local nace para poner fin al infierno del modo offline que tenemos con TFS hasta la versión 2010. Si bien es cierto que el modo offline ha mejorado mucho en TFS2010, el control de archivos modificados y otro tipo de acciones se sigue realizando a través de atributos de File System. El mejor ejemplo, es que los archivos “no modificados” están marcados “Read Only” y si quieres modificarlos en un modo offline, pues toca sacar este atributo, modificar y cruzar los dedos para que cuando vuelvas a conectar con TFS te reconozca los cambios. Escenarios “más complejos” como por ejemplo, renombrar un archivo requieren realizar rituales poco convencionales para poder meter estos cambios en TFS. (no hablo de sacrificar a una virgen albina en un día de eclipse sobre una estrella de 7 puntas, pero es casi igual de complicado).

Pues bien, los amigos de Redmond decidieron que era hora de poner fin a este sufrimiento y en TFS2012 han cambiado completamente el modelo. Veamos un ejemplo. La siguiente imagen muestra la configuración de un workspace llamado “W8RC-BRUNOC-LOCAL” que es de tipo LOCAL. Además todo el source control del team Project que utilicé para el webcast de team foundation service, pues se mapea a la ruta [C:\srcElBrunoLocal].

image

En esta ruta nos encontramos con que además de las carpetas propias del Team Project tenemos una carpeta de sistema llamada [$tf] que es la que almacena los cambios que realizamos para luego compararlos con los estados iniciales y poder sincronizar con el servidor de TFS.

Aclaración: Si bien a primera vista esto es muy parecido al comportamiento que tiene subVersion, pues solo coincide que hay una carpeta con cambios, nada más.

image

Pues bien, ¿qué podemos hacer ahora? pues si nos desconectamos de nuestro servidor Team Foundation Server 2012 y vemos las propiedades de una clase dentro de este workspace local, veremos que … … … por fin!! los archivos no están marcados como ReadOnly.

image

Es más, si editamos este archivo con el notepad y abrimos Visual Studio 2012. Aunque estemos desconectados de TFS, en el panel del Team Explorer podremos realizar algunas acciones offline:

image

En la vista de Pending Changes veremos como este archivo se muestra como editado.

image

Y ahora, llegamos hasta el objetivo de este post: ¿qué podemos hacer en este punto cuando trabajamos con workspaces locales?.

  • NO podemos hacer checkIn en modo local
  • Podemos comparar los cambios que hemos realizado con la versión original del archivo del workspace o la última versión
  • Podemos realizar un Annotate
  • Podemos deshacer los cambios que hemos realizado
  • Podemos ver el histórico del archivo

Aclaración: cuidado con esta ultima opción, me la reservo para un próximo post

image

Ayer la conclusión fue bastante clara en el tweet

image

Pero esto abre una puerta a muchas suposiciones, por ejemplo la de que Ms está trabajando en un SCM distribuido como GIT o Mercurial y que lo podría incorporar en próximas versiones. Por ahora no hay nada (o no tengo actualizado bien mi VS2012), pero la verdad es que el nuevo modo offline se agradece y mucho.

PD: por cierto si alguno se aburre los invito a ver los contenidos del directorio [$tf] >> back to hell !!!

image

Saludos @ La Finca

El Bruno

image image image

image

Buenas,

como están las cosas ahora mismo toda noticia sobre ofertas de empleo es una buena noticia. En este caso hay bastantes “me gustan”, estamos en una empresa donde tenemos compañeros por todo el mundo, y otra pila de cosas que mejor te las cuento en persona o por correo en bcapuano [at] gmail [dot] com.

Como detalle semioficial, esto puede servir de referencia:

  • Buscamos una persona de más de 6 años de experiencia en la creación de interfaces, web sites y aplicaciones de gran escala
  • Imprescindible, tener experiencia demostrada en las siguientes tecnologías: HTML5, CSS3, Javascript, jQuery, XAML Expresion Blend, Photoshop, Illustrator, Expression Design
  • Así como una sólida trayectoria en actividades relativas a UX gestionando equipos de personas
  • Habilidades en gestión de clientes
  • Otras más de negocio que mejor las valoro face-to-face

A ver si hay suerte Open-mouthed smile

Saludos @ Home

El Bruno

image image image

Publicado 16/7/2012 17:57 por El Bruno | con no comments
Archivado en: ,

image

Buenas,

have un par de días escribí un post donde describí como automatizar un proceso de despliegue utilizando Team Build desde TFS Preview para websites de Azure. Este escenario es muy chulo, pero claro, puede suceder que en deteminado momento despleguemos a este entorno una versión que no es la que queremos que esté online.

Pues bien, para este caso lo que podemos hacer es lo siguiente:

1. Dentro del portal de administración de AZURE accedemos a nuestro WebSite o Cloud Service

2. Accedemos a la sección “DEPLOYMENTS”

3. En esta sección, accedemos a la ubicación por defecto donde se realizan los despliegues (STAGING)

4. A continuación veremos un listado con todos los despliegues que se han realizado a este entorno. Si queremos redesplegar una versión anterior, debemos seleccionar la misma.

5. Presionar el boton “REDEPLOY” en la barra de herramientas inferior.

image

6. Done !!!

Es extremandamente simple y bastante sencillo para tenerlo en cuenta Open-mouthed smile

Saludos @ Home

El Bruno

image image image

image

Buenas,

la respuesta a la pregunta:

¿Es posible lanzar una aplicación desplegada con ClickOnce con permisos de administrador?

tiene una respuesta muy simple:

NO

La solución viene dos párrafos después, así que te podes ahorrar el siguiente texto. La forma correcta de definir que una aplicación requiera ciertos permisos es a través de un manifiesto. En el mismo, se puede indicar TODO lo que requiere una aplicación al momento de ejecutarse. El paso a paso, está en MSDN y se describe en:

El problema es que si tenemos una aplicación que luego desplegaremos con ClickOnce, aplicamos este cambio en el manifiesto y luego intentamos compilar nos encontramos con un hermoso

image

Error    1    ClickOnce does not support the request execution level 'requireAdministrator'.  

Y ahora? pues una de las soluciones viene de la mano de este post, donde lo que se hace es básicamente verificar si la aplicación se lanza con permisos de ADMIN y en caso contrario, lanzar la aplicación nuevamente con los permisos adecuados.

He creado una pequeña clase que además de aplicar este proceso, muestra un mensaje avisando que se lanzará nuevamente la aplicación.

   1: public class RunAsAdministrator
   2: {
   3:     public bool IsRunAsAdministrator()
   4:     {
   5:         var windowsIdentity = WindowsIdentity.GetCurrent();
   6:         var windowsPrincipal = new WindowsPrincipal(windowsIdentity);
   7:         return windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
   8:     }
   9:  
  10:     public static void ValidateAdministratorModeAndRestart(bool displayMessage)
  11:     {
  12:  
  13:         var runAsAdministrator = new RunAsAdministrator();
  14:         if (runAsAdministrator.IsRunAsAdministrator()) return;
  15:  
  16:  
  17:         if (displayMessage)
  18:         {
  19:             var fi = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
  20:             string productName = fi.FileDescription;
  21:             MessageBox.Show(string.Format("{0} will launch itself with admin privileges", productName));
  22:         }
  23:  
  24:         var processInfo = new ProcessStartInfo(Assembly.GetExecutingAssembly().CodeBase)
  25:                               {
  26:                                   UseShellExecute = true,
  27:                                   Verb = "runas"
  28:                               };
  29:         try
  30:         {
  31:             Process.Start(processInfo);
  32:         }
  33:         catch (Exception)
  34:         {
  35:             MessageBox.Show("Sorry, this application must be run as Administrator.");
  36:         }
  37:         Application.Current.Shutdown();
  38:     }
  39: }

En mi caso ha bastado y salvo algunas excepciones que se me ocurren de memoria, creo que puede bastar Open-mouthed smile

Source: http://antscode.blogspot.com.es/2011/02/running-clickonce-application-as.html

Saludos @ Home

El Bruno

image image image

image

Buenas,

una de las bases de la gestión correcta es poder analizar información transparente y de una manera rápida. Team Foundation Server nos brinda mucha información del trabajo de un equipo; información de la gestión del código fuente, de las compilaciones y de la gestión de los elementos de trabajo entre otras.

Hasta ahora poder trabajar con esta información era algo que nos requería un poco de esfuerzo ya que lo hacíamos en base a informes, hojas excels, etc. Hoy con Team Foundation Server 2012, esto se simplifica bastante y solo con darle un vistazo a la página principal de un Team Project ya nos basta para muchas cosas.

image

Por ejemplo, en la imagen anterior nos encontramos con que tenemos un resumen de información muy completo de muchos de los elementos que componen un Team Project. Por ejemplo, podemos añadir consultas de WorkItems como favoritas en nuestro TP para que se muestren en la home y podemos ver por ejemplo, la cantidad de Bugs activos que tenemos en este momento.

image

Podemos definir una build de Team Build, como favorita en nuestro equipo para que podamos ver un resumen del histórico de ejecución de la misma en la Home. En este ejemplo vemos el nombre de la definición de Build, la fecha de última ejecución y un gráfico con los resultados de ejecución de las últimas 10 (creo) builds y el tamaño de la barra indica el tiempo promedio de ejecución de la misma.

image

Tenemos también la capacidad de ver nuestros gráficos de horas planificadas vs horas pendientes; y el Burndown chart que conocemos de SCRUM. Todos estos gráficos se actualizan en tiempo real, a partir de la información que se este modificando en nuestro TFS.

image

Finalmente, también tenemos la posibilidad de crear nuevos elementos de trabajo directamente desde el Home; de acceder al backlog, a la pizarra de trabajo o a la gestión de WorkItems; y de ver el listado de personas de nuestro equipo entre otras cosas.

image

Para cerrar, lo que tenemos en la home cumple con 2 premisas muy claras:

  • Es altamente configurable para que podamos visualizar la información que más nos importa y nos ayuda a gestionar nuestro proyecto
  • Es un reflejo 100% fiable del trabajo que se reporta y ejecuta en nuestro TFS. Aquí no hay lugar para mentiras ni para número rojos ocultos.

Saludos @ Home

El Bruno

image image image

 

image

Buenas,

hoy vamos con un ejemplo simple: crear una aplicación web y desplegarla en AZURE directamente con una build desde Team Foundation Service. (otra de las preguntas que surgió durante la charla de SecondNug de Team Foundation Service).

Asi que aquí va un formato tutorial que al final es mi ayuda personal:

1. Crear un proyecto ASP.Net MVC 4. En mi caso es un muy simple que se navega y muestra lo siguiente:

image

2. Protegemos nuestro proyecto en Team Foundation Service.

Nota: Si no tienes una cuenta, mi post sobre como crear una cuenta gratuita para probar Team Foundation Service te puede ayudar.

3. Descargamos las herramientas de desarrollo para .Net desde el .Net Developer Center de AZURE. En mi caso particular para Visual Studio 2012 RC, también están disponibles para Visual Studio 2010.

image

4. El paso siguiente consiste en ir al portal de AZURE para crear un website que es donde desplegaremos nuestro sitio web ASP.Net MVC 4. El portal se accede desde http://manage.windowsazure.com/

5. En las opciones del portal podemos crear un nuevo WebSite o un CloudService para desplegar nuestra solución. En este caso crearé un nuevo “Cloud Service” con la opción QUICK CREATE y reservando la url http://elbrunoLabs04.cloudapp.net.

image

6. Una vez creado el servicio, accedemos al mismo y ya podremos integrar el mismo con la instancia de TFS correspondiente.

7. Seleccionamos la opción “INTEGRATE SOURCE CONTROL // Set up TFS publishing”

image

8. Autorizamos la cuenta de Team Foundation Service al Cloud Service.

image

9. Seleccionamos el Team Project desde el que publicaremos los cambios a nuestro Cloud Service

image

10. En este momento se lanza el proceso de Linking entre TFS y el Cloud Service.

image

11. Y en pocos segundos se completa el Linkking entre ambos

image

12. En este punto ya podremos publicar nuestros contenidos desde el Source Control de TFS Preview hacia nuestro Cloud Service.

13. Para este ejemplo he agregado un nuevo proyecto de Cloud a la solucion y he agregado un WebRole a partir del proyecto de ASP.Net MVC 4 de la solución ("ElBruno.MVC4.Labs02”)

image

14. El siguiente paso es dejar configurado nuestro proyecto de Cloud para que pueda publicar al cloud service que hemos creado. Si bien este proceso es bastante más complejo y tiene muchas variantes dentro, lo resumie en pocos pasos.

15. Seleccionar el proyecto de Cloud, desplegar el menú contextual y seleccionar la opcion “Publish”.

16. Configuramos los pasos para la publicación en primer lugar, elegimos la suscripción de AZURE que queremos utilizar.

Nota: el paso a paso completo se puede leer aquí.

image

17. A continuación definimos las settings de nuestra aplicación. En mi caso dejaré los valores por defecto, ya que no necesito ni Remote Desktop, ni IntelliTrace, etc.

image

18. Finalmente completo la publicación a AZURE con los datos por defecto y lanzo el proceso de publicación.

image

19. El proceso de publicación suele tardar entre 2 y 10 minutos para un Cloud Service.

image

20. En pocos minutos ya tendremos la aplicación activa en AZURE directamente desplegada desde Visual Studio.image

21. Ahora bien, la idea con este ejercicio es tener una definición de Team Build Service que publique directamente los cambios que se suben a Team Foundation Service al Cloud Service que hemos creado. Para esto crearemos una nueva definición de build en Team Foundation Service y en la misma configuraremos lo que describo en los siguientes pasos.

22. En primer lugar voy a trabajar con una build llamada “elbrunoLabs04_CD”.

23. Luego podemos definir si la Build es para Integración Continua o para lanzarla manualmente, en este caso y como no le tenemos miedo a nada, la dejaremos en modo CI. (que traducido a AZURE nos permite hacer Continuous Deployment)

24. Una vez definido el Workspace y las opciones de build Default, llegamos a uno de los puntos más importantes de este post: la capacidad de utilizar una plantilla de Build específica para AZURE. En este punto seleccionamos la Build Process Template llamada AzureContinuousDeployment.xaml

image

25. Una vez definidos los datos básicos de la solución a compilar y los tests a ejecutar, vemos que tenemos 2 secciones especiales para AZURE. Definimos el nombre de las settings de deploy que hemos puesto en los pasos 16 a 18 y salvo que necesitemos hacer un override otro valor, la definición de build ya estaría completa.

image

26. A partir de este momento, cada vez que protejamos un archivo se lanzará un nuevo proceso de Build que automáticamente desplegará los cambios hacia el portal de azure.

image

Y listo, casi 30 pasos después ya podemos desplegar nuestras aplicaciones directamente utilizando Team Build en TFS Preview a AZURE Open-mouthed smile

Saludos @ Home

El Bruno

image image image

 

image

Buenas,

hoy toca responder un tema que salió en el webcast con los chicos de SecondNug sobre Team Foundation Service. En este caso, como crear una cuenta para probar gratuitamente los servicios de Team Foundation Service.

Vamos con el paso a paso.

1. Para acceder al servicio necesitas una cuenta de Microsoft Account (un Live Id de toda la vida). En este caso utilizaré la cuenta [almbookdorikr@hotmail.com].

2. Navegar hacia http://www.tfspreview.com

image

3. Arriba y a la derecha tenemos un link que nos cambiará la vida “SIGN IN”. Claro, esto asumiendo que no tengamos las sesiones de LiveId Microsoft Account en modo automático.

4. Una vez dentro, veremos que se nos ofrece la posibilidad de crear una cuenta gratuita utlilizando el link “Create a free account now

image

5. A continuación debemos definir la URI con la que se podrá acceder a nuestro servicio de TFS. En mi caso https://almbookdorikr.tfspreview.com.

image

6. Presionamos “Create Account” y esperamos unos segundos.

7. En poco tiempo tendremos nuestra cuenta creada y ya podremos crear un Team Project, acceder a los tutoriales, etc.

image

8. Done !!!

Saludos @ Home

El Bruno

image image image

image

Buenas,

otra de las preguntas que hicieron en el webcast de Team Foundation Server 2012 estaba relacionada con la capacidad de borrar un Team Project alojado on the cloud.

Pues bien, desde la línea de comandos de Visual Studio 2012 y con los permisos correspondientes, la sintaxis para eliminar un Team Project era la siguiente:

TFSDeleteProject [/q] [/force] [/excludewss] /collection:URL TeamProjectName

Pues bien, trasladando eso a una instancia on the cloud, quedaría de la siguiente manera

TFSDeleteProject /collection:”https://elbruno.tfspreview.com/DefaultCollection/” <TP Para Borrar>

El detalle importante es poner la url completa con la coleccion “DefaultCollection” y a partir de allí el nombre del TP para eliminar.

Saludos @ Home

El Bruno

image image image

image

Buenas,

pedazo de evento que tendermos la semana que viene en MadridDotNet. El gran Unai hará de moderador en una mesa redonda de arquitectura y patrones. Le hemos pedido que no se traiga la motosierra para cortar cabezas, aunque alguna caerá … es una oportunidad muy buena de compartir experiencias y opiniones con uno de los grandes sobre este tema !!!

Link: http://madriddotnet.wordpress.com/

image

PS: como siempre el post de hace varios años sigue siendo el mejor http://geeks.ms/blogs/elbruno/archive/2009/11/06/off-topic-los-arquitectos-y-sus-diagramas.aspx

Saludos @ Home

El Bruno

image image image

Publicado 5/7/2012 14:30 por El Bruno | 1 comment(s)
Archivado en: ,
Más artículos Página siguiente >