viernes, 2 de marzo de 2012

Windows 8: Acceso a las propiedades del sistema

Si te bajaste la beta de Windows 8 y la estás probando seguramente en algún momento vas a necesitar este truco. En mi caso en particular necesitaba habilitar el escritorio remoto en el equipo que tenía instalado Windows 8

1) Acceder a la ventana de comandos ( en mi caso utilice el buscar de la barra lateral ).


2) Escribir el comando SystemPropertiesAdvanced.exe y presionar Enter y ... Voila!



Hay varios comandos que les pueden resultar útiles. Busquen en la carpeta %windir%\system32






Saludos y hasta la próxima!

lunes, 27 de febrero de 2012

Implementando una aplicacion web con Web Packages y MsDeploy

En estos días nos ha tocado tener que hacer una implementación de una aplicación Web, en un ambiente sumamente restrictivo. Para los que han pasado por dicha Experiencia, saben que no es algo trivial, y normalmente (por lo menos hasta ahora) suele ser un proceso mas o menos manual que requiere mucha documentación para llevarlo a buen puerto, y además involucra tanto a desarrolladores como a los administradores del servidor.

El objetivo de este articulo es presentarles desde el punto de vista del desarrollador, y para los que aun no tengan el gusto de conocerlo, a una herramienta que nos va a simplificar de manera sustancial el proceso anteriormente mencionado.

Algunos de los elementos que debemos considerar a la hora de realizar dicha tarea son:
  • Contenido Web (paginas web, controles, imágenes, etc.)
  • Configuración IIS - Base de datos
  • Ensamblados de la GAC, componentes COM, dependencias en general.
  • Entradas en el registro
  • Certificados de seguridad
  • Pool de aplicaciones en donde va a correr la aplicación
Para realizar dicha implementación, existe algo llamado "Web Package", que visual Studio 2010 genera utilizando una herramienta llamada MsDeploy. Que es un Web Package? Es una unidad atómica, transparente y auto descriptiva que puede ser fácilmente hidratada dentro de un servidor IIS para reproducir el sitio web que se quiere implementar.

A continuación vamos a establecer los pasos necesarios para implementar una aplicación web desde Visual Studio 2010.

1) Establecer la configuración del paquete a publicar.

Para ello hacemos clic con el botón derecho sobre la aplicación web y seleccionamos del menú contextual la opción "Package/Publish Settings". También es posible acceder a dicha configuración accediendo a las propiedades del proyecto web (Project > NombreDelProyecto Properties).



Como se puede ver en la imagen anterior, en esta pantalla se pueden elegir que elementos se deben incluir en la implementación, por ejemplo si solo se van a empaquetar solo los archivos necesarios para correr la aplicación o el contenido completo de la carpeta del proyecto, así como el nombre que tendrá la aplicación en el IIS destino, entre otras cosas.

Algunos de los elementos que se pueden seleccionar y en los que nos detendremos particularmente son:

  1. El Check box "Include all databases configured in Package Publish SQL tab"
  2. El Check box "create Deployment Package as zip file"

El primero le dice a la herramienta que debe incluir la base configurada en la pestaña Package Publish SQL (la vamos a ver a continuacion) La segunda nos permite seleccionar en donde se va a generar el empaquetado, que por cierto, es un archivo zip.

2) Establecer la configuración de la base de datos a implementar

Si, como lo leen, esta herramienta es capaz de empaquetar la base e implementarla en el servidor de producción (este es el momento en el que todos empezamos a aplaudir).


Presionando el botón "Import from Web.config", le proporcionamos a la herramienta, la cadena de conexión necesaria para conectarse a la base de datos que deseamos empaquetar.

Un detalle importante es que han sido aplicada transformaciones al web.config, las mismas se habilitan presionando botón derecho sobre el archivo web.config y seleccionando la opción "Add Config Transforms" del menú contextual. Básicamente lo que nos permite esto, es agregar, quitar o remplazar opciones del archivo de configuración de manera sencilla en el servidor de producción. Este tema está fuera del alcance del presente artículo, pero pueden leer más acerca del tema en: http://www.codeguru.com/csharp/article.php/c17407 y http://msdn.microsoft.com/en- us/library/dd465326.aspx

En la imagen anterior se muestra un ejemplo de transformaciones en el web.config.

Finalmente establecemos la información de la base de datos de origen:

  1. Marcamos la opción "Pull data and/or schema from an existing database"
  2. Seleccionamos las opciones de scripting de la base de datos, Solo el esquema o esquema y datos.
  3. Podemos agregar cualquier script de personalizado, presionando el botón Add Script.
Para terminar Ctrl+S o File > Save para guardar los cambios.

3) Construir el paquete

El último paso requerido (en lo que tiene que ver con el armado del paquete), es construirlo. Para ello nos posicionamos en el proyecto web, botón derecho sobre el mismo, y elegimos del menú contextual la opción "Build Deployment Package"


4) Implementar el paquete generado


Una vez que tenemos el paquete generado el ultimo paso es "instalarlo" en el servidor de producción. Para implementar este paquete es necesario que la herramienta Web Deploy esté instalada en el servidor de producción.

La instalación de dicho paquete se puede realizar utilizando la línea de comandos (con el archivo.cmd que se genera) o a través de la UI del IIS Manager.

Pueden encontrar mas información acerca de como instalar dicha herramienta en http://technet.microsoft.com/en-us/library/dd569059.aspx

Realmente el proceso es muy sencillo y como mencione anteriormente se puede hacer de dos maneras:

  1. Desde la consola, ejecutando el archivo .cmd que genera la herramienta
  2. Desde la UI de IIS como se muestra en la imagen a continuación

El proceso desde la UI es muy sencillo y básicamente nos pide la información que se necesita mediante pantallas autogeneradas que nos simplifican la tarea.




Recursos

Si tienen tiempo miren este Web Cast de Scott ... no tiene desperdicio.
http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx

Un Walk Through completito de esta herramienta
http://msdn.microsoft.com/en-us/library/dd483479.aspx

Excelente Blog con mucha documentación del tema http://vishaljoshi.blogspot.com/2011/07/documenting-key-end-to-end-deployment.html


Espero les haya gustado y les sea de utilidad, hasta la próxima!

martes, 7 de febrero de 2012

domingo, 22 de mayo de 2011

Enriqueciendo la interface de LightSwitch con SilverLight Control Toolkit

Como comentaba en un post anterior, en estos días hemos tenido la oportunidad de desarrollar un sistema con Microsoft LightSwitch. Producto de esa experiencia les dejo un documento que les muestra como usar controles del Silverlight Control Toolkit en nuestros screens. Pueden descargar dicho documento desde aquí: http://bit.ly/j83g5W

martes, 17 de mayo de 2011

Google Cloud Connect integra Google Docs con Office

Google ha lanzado Google Cloud Connect, un plug-in que se instala en la suite de Microsoft Office que integra Google Docs con las aplicaciones de Microsoft Office, para que los usuarios puedan obtener todos los beneficios de los documentos en la nube.

Google Cloud Connect fue lanzado el pasado mes de noviembre para un número limitado de usuarios, pero ahora, Cloud Connect está listo para el prime-time, y el plug-in está disponible para todos.

La fusión y sincronización entre documentos de Microsoft Office y Google Docs es ya una realidad con Google Cloud Connect.

Google Cloud Connect le permite guardar documentos de Office en la nube, editarlos en Google Docs, y sincronizar los cambios de nuevo en su escritorio.

Ojo que no es un sustituto de Office, lo que Google Docs permite es que se use para la sincronización y la edición en tiempo real de Word, PowerPoint o Excel.

Básicamente, Google Cloud Connect solicita el acceso a la cuenta de Google Docs del usuario. La aplicación da la posibilidad de realizar una sincronización automática o manual de los documentos, de tal forma que cada vez que el usuario guarde una revisión se publicará en su cuenta asociada a Google Docs.

Las principales características de Google Cloud Connect incluyen la colaboración simultánea (con la posibilidad de trabajar sin conexión y resolver los cambios una vez que vuelva a conectar), historial de revisiones, compartir documentos y, por supuesto, sincronización en la nube. Cloud Connect funciona con Office 2003, 2007 y 2010.


Pueden bajar la herramienta desde aquí

Espero les sea de utilidad, ¡hasta la próxima!