Nueva versión DotNetNuke Azure Accelerator 6.2 Beta

DotNetNukeGearAyer se lanzó en CodePlex la nueva versión DotNetNuke CE 6.2 Beta 2 con una buena cantidad de nuevas características y funcionalidades que permiten nuevas posibilidades como crearte tu propia red social privada así como otras capacidades móviles como redirección de website dependiendo del tipo de móvil, todo a través de configuración. La nueva versión 6.2 continúa con el nuevo paradigma de CMS que fue anunciado en la DotNetNuke World Conference 2011: CMS = “Cloud” + “Mobile” + “Social”.

Es un placer anunciar que una nueva versión Beta del DotNetNuke Azure Accelerator está disponible en CodePlex, que incluye tanto correcciones como nuevas características que trataré de resumir en este post.

Descargar DotNetNuke Azure Accelerator 6.2 Beta

DotNetNuke Azure Accelerator 6.2 Beta

Lo que puedes esperar en este lanzamiento es una nueva versión del asistente del Accelerator así como de los paquetes de servicio, que son capaces de trabajar con tus VHDs y bases de datos SQL Azure actuales añadiendo nuevas funcionalidades en el entorno donde están alojadas y corrigiendo algunos comportamientos. Si bien actualmente esta versión del Accelerator instala la versión DNN 6.2 Beta 2 en unidades VHD vacías, esto sólo será durante esta fase Beta –que finalizará conjuntamente con el lanzamiento definitivo de DotNetNuke 6.2-. Probablemente la etiqueta “6.2” se quitará del nombre del Accelerator usando otra nomenclatura, ya que una de las nuevas características del Accelerator es que no depende de una versión específica de DotNetNuke permitiendo desplegar la última versión disponible en CodePlex de DNN CE, sin importar cuál sea. De manera que espera un cambio de “nombre” en el Azure Accelerator antes de la versión definitiva.

La lista de cambios en esta versión es la siguiente:

1. Cambios en el asistente del Accelerator

  • Aprovisionamiento y despliegue automático: esta es probablemente una de las nuevas características que más gustará, porque usando la misma técnica que usa el Azure SDK 1.6 para Visual Studio, permite la descarga automática de un fichero de configuración de publicación para administrar remotamente todas tus suscripciones. Después de descargar estas opciones de forma segura, puedes seleccionar el servicio de hospedaje, la cuenta de almacenamiento y el servidor de bases de datos, todo desde dentro del asistente. Si no has aprovisionado estos recursos desde la consola de administración de Windows Azure, puedes hacerlo desde el asistente, incluyendo la creación automática de las pertinentes reglas en el firewall de SQL Azure. Antes de comenzar el despliegue, se verificará el estado de los recursos aprovisionados para comprobar que están disponibles (por ejemplo, verificar y esperar a que la cuenta de almacenamiento esté disponible). Si el entorno de destino –producción o ensayo- está ocupado por un despliegue previo, aparecerá un diálogo de confirmación para sobrescribir el despliegue actual –sólo se sobrescriben las instancias desplegadas, nunca el VHD o la base de datos. El certificado PFX también se sube y configura automáticamente en el servicio de hospedaje de forma transparente para el usuario.  Deployment
  • Opción para instalación automática: una nueva opción ubicada en el paso de selección de paquete de despliegue, permite seleccionar el modo “auto-instalación” como último paso de despliegue usando los parámetros de instalación por defecto de DotNetNuke. Si seleccionas esta opción, tendrás un sitio web completamente funcional que usa la plantilla y credenciales por defecto (usuario “host”, contraseña “dnnhost”). Recuerda cambiar estos credenciales tan pronto como sea posible. AutoInstall
  • Despliegue en el entorno de ensayo de Azure: como el nuevo paquete de despliegue no requiere “host headers” para el sitio –ver cambios en los paquetes de instalación más adelante- ahora puedes desplegar en el entorno de ensayo de Azure y comenzar a jugar con el botón de Intercambiar VIP desde la consola de administración de Windows Azure.
  • Opción para exportar los resultados del asistente a una carpeta local: hay una nueva opción –que no usa los servicios administrados de Azure- para crear y configurar ficheros de configuración de servicio y paquetes de instalación, exportándolos a una carpeta para despliegue manual, muy útil en algunos escenarios. El fichero de certificado PFX también en la misma carpeta después de haberte solicitado una contraseña para el mismo.

2. Cambios en los paquetes de servicio

  • Descarga automática de DNN CE directamente desde CodePlex: otra característica importante en el Accelerator es la descarga automática del último paquete de DNN CE disponible directamente desde CodePlex durante el despliegue del rol en Azure, siempre y cuando la unidad VHD esté vacía. Puedes sobrescribir el parámetro “packageUrl” para descargar desde otra ubicación personalizada, como las anteriores localizaciones en Azure Storage o cualquier otra Url válida BETA: esta Url actualmente apunta a la versión DNN CE 6.2 Beta 2 hasta la versión definitiva 6.2. La descarga se realiza directamente desde CodePlex hacia tu servicio hospedado en Azure.

DNNCodePlex

  • Cambiados enlaces por defecto: El sitio web predeterminado será el sitio DotNetNuke en vez del propio sitio del webrole –reservado para futuras características-, lo que significa que ya no es obligatorio especificar encabezados de host habilitando la posibilidad de desplegar en el entorno de ensayo y otras operaciones como Intercambio VIP
  • Creación de la base de datos en el role startup: ahora en el evento de inicialización del role, se creará la base de datos y el usuario en el caso de que éstos no existan. Esto hace más fácil la creación de nuevos despliegues de DNN sobre Azure simplemente modificando un fichero de configuración pre-existente sin tener que realizar de nuevo todas estas tareas manualmente o a través del asistente
  • Nueva página de progreso del despliegue: se ha añadido una nueva página de información del progreso del despliegue al sitio web del webrole, mostrando el estado del despliegue hasta que el sitio de DotNetNuke esté disponible. Por defecto, la información de registro almacenada en Table Storage no se muestra en esta página, teniendo que habilitar esta opción en el fichero de configuración para propósitos de depuración. También puedes acceder a estos detalles conectándote por escritorio remoto a cualquier webrole y navegando a la dirección http://admin.dnndev.me 
  • Descarga más pequeña: las paquetes adicionales se han movido a una descarga por separado –no disponible aún en la fase Beta. El asistente viene con el paquete “Azure Single and Small” de manera que la descarga sólo ocupa 4Mb.

3. Correcciones y mejoras

  • Modificada la creación de la cuenta de usuario local con la que se comparte la unidad VHD para no permitir la caducidad de la misma después de un mes (necesita revisión, el enfoque debe ser diferente)
  • Modificados los EndPoints de los web roles para permitir tráfico en el puerto 443
  • Modificadas las operaciones de compresión usando código manejado (ICSharpCode.SharpZipLib.dll)
  • Uso de “netsh advfirewall firewall” para permitir el tráfico en el servidor SMB (ver http://support.microsoft.com/kb/947709/)
  • Uso del sistema operativo Windows 2008 R2
  • Agregación automática de la entrada “IsWebFarm” en el fichero web.config para habilitar el proveedor de caché FileCachingProvider
  • Modificada la inicialización del monitor de diagnósticos. Ahora los eventos están siendo correctamente registrados en los web roles.

Tareas planificadas pendientes

Las tareas planificadas pendientes para la versión definitiva son:

  • Añadir soporte de Alta Disponibilidad para el SMB worker role –actualmente realizando pruebas sobre la solución tomada
  • Capturar el evento “Changing” para detectar cambios de configuración o topología y actuar en consecuencia
  • Cambiar los procesos de larga duración en el asistente como tareas en segundo plano para no congelar la interfaz de usuario

Por favor, si detectas algún bug, crea una incidencia en la página Issue Tracker disponible en CodePlex.

Enjoy it!

DotNetNuke Azure Accelerator 6.2 Beta Released

DotNetNukeGearYesterday the new DotNetNuke 6.2 Beta 2 was released on CodePlex with a bunch of new features and fixes that allows new possibilities like creating your own and private social network, plus other mobile capabilities like mobile website redirection on CE version. The new 6.2 release continues with the new CMS paradigm that was announced at the DNN World 2011 Conference: CMS = “Cloud” + “Mobile” + “Social”.

I’m pleased to announce that a new Beta release of the DotNetNuke Azure Accelerator has been released and is also available on CodePlex, that includes both fixes and new great features that I’ll try to summarize in this post.

Download DotNetNuke Azure Accelerator 6.2 Beta

New DNN Azure Accelerator 6.2 Beta

What you can expect from this release is a new version of the Accelerator wizard and packages, that are capable to use your actual VHDs and SQL Azure databases but adding new features on the Azure hosting environment and fixing some behaviors. If actually the Accelerator will install the 6.2 Beta 2 version on empty VHD drives, this will be only during this Beta phase –that will end with the final DotNetNuke 6.2 release- and probably the “6.2” will be removed from the name of the Accelerator using other nomenclature, because a new agnostic feature allows to deploy the latest available DNN CE version on CodePlex, no matter which version. So expect also a “name” change on the Azure Accelerator before the final release.

The categorized list of new features is as follows:

1. Changes on the Wizard

  • Automatic provisioning and deployment: this is probably one of the new features that new users will like a lot, because using the same technique that uses the Azure SDK 1.6 for Visual Studio, allows to automatically download a publish settings file and manage remotely your subscriptions. After getting this publish settings, you can select the hosted service, storage account and SQL Azure database, all from the wizard. If you don’t have provisioned them from the Windows Azure Portal, you can do it from the wizard. This includes the automatic creation of the proper SQL Azure firewall rules. Before deploying, the status of the provisioned resources is verified in order to check that all of them are available (i.e. verify and wait for storage account ready status). If the target slot is occupied by a previous deployment, a confirm dialog appears for overwriting the current deployment –only the VM, not the VHD or database. The PFX certificate is also automatically uploaded and configured on your hosted service without any user interaction.Deployment
  • Option for automatic installation: a new option located in the package selection step, allows to select auto-installation as the final step of the deployment, using the DotNetNuke default parameters. If you select this you will have a fully functional site running on Windows Azure deployed with the default website template and default credentials (user “host”, password “dnnhost”). Remember to change this credentials as soon as possible.

AutoInstall

  • Deploying on Azure staging environment: as the new package does not need “host headers” for the site –see package new features below- now you can deploy on Staging environment –and you can start playing with the Swap VIP button on the Windows Azure Management Console.
  • Option to export the wizard results to local file system: there is an option -that not uses Azure managed services- to create and configure a service configuration file and service package, exporting them to a folder for manual deployment, useful on some scenarios. The PFX file is also exported –you will be asked for a password- for manual import.

2. Changes on the packages

  • Automatic DNN CE download from CodePlex: another important feature on the Accelerator is the automatic download of the latest available DNN CE package from CodePlex on first Azure role run –when the package is deployed on Azure and the VHD drive is empty. You can overwrite the “packageUrl” setting to download from any other customized location, like previous Azure Storage container locations or any other. BETA: this Url actually points to the DNN CE 6.2 Beta 2 version until final 6.2 release. The download is done directly from CodePlex to your hosted service on Azure.

DNNCodePlex

  • Changed default binding: The default website will be the DotNetNuke website instead of the webrole website, what means that specifying host headers is no longer mandatory, and enables the possibility of deploying on Staging environment and other operations like Swap VIP
  • Database creation on role startup: now on role startup, the database and login user will be created if the database does not exist. This will make easier to create new DNN service deployments by simply changing the service configuration file without having to do that task manually or through the accelerator wizard.
  • New deployment progress page: added new deployment progress page on the webrole website, showing the service deployment status until the site is ready. By default, the deployment log stored on Table Storage is not shown on this page, but you can enable it on the service configuration file for debugging purposes. You can access also these details using remote desktop on any webrole and browsing “http://admin.dnndev.me”.
  • Smaller download: the packages has been moved to a separated download –not available yet on Beta phase. The wizard comes with the “Azure Single and Small” package so the DNNAzureAccelerator package only weights 4Mb.

3. Fixes and enhancements

  • Modified the local file sharing user account creation on roles to don’t allow account expiration after a month (needs revision, the approach must be different)
  • Modified the web roles endpoints to allow traffic on port 443
  • Changed the package unzip operations to use managed code (ICSharpCode.SharpZipLib.dll)
  • Use of “netsh advfirewall firewall” to allow traffic on the SMB server (see http://support.microsoft.com/kb/947709/)
  • Use of Windows 2008 R2 OS
  • Automatic adition of “IsWebFarm” app setting in the web.config file to enable the FileCachingProvider
  • Changed the Azure diagnostic monitor initialization. Now the events are being correctly logged on web roles.

Pending planned tasks

The pending tasks planned for the final release are:

  • Add HA support for the SMB worker role, actually doing tests on the solution taken
  • Handle the “Changing” event to detect configuration or topology changes and act in consequence
  • Change the long process tasks on the wizard as background workers to not freeze the UI

Please, if you detect any bug on this release, create an issue on the Issue Tracker page available on CodePlex.

Enjoy it!

Quitar el atributo de “ReadOnly” en un disco USB externo

Durante estos últimos días he estado trasteando para poder montar un VHD para probar la RC de System Center 2012 y así poder ver las características de integración con Windows Azure. La lista de requerimientos del software es tan grande que al final con los 25Gb que asigné para el VHD no me ha dado ni para instalar los mismos.

Problema

Encima, después de hoy estar ampliando el tamaño del VHD comienzo a tener una serie de problemas, que indicaban que el disco externo USB donde tengo almacenada la imagen estaba protegido para escritura. WTF?

DiscoReadOnlyAl parecer, después de realizar una búsqueda por Internet sobre este problema, la causa del error es por no usar la utilidad de “Expulsar hardware de forma segura” –ese icono que tienes al lado del reloj del sistema. He de reconocer que en mi vida lo he usado y no había tenido problema alguno, pensé que eso icono lo ponían sólo para hacer perder el tiempo Sonrisa. Está claro que habrá que empezar a usarlo.

Después de muchas soluciones propuestas -algunas no imposibles sugiriendo formatear el disco perdiendo todos los datos-, he conseguido dar con una solución que, si bien puede no solucionar el problema a todo el mundo, por lo menos a mí me ha funcionado. Como nota aclaratoria, indicar que el disco no me aparecía como “ReadOnly” si trataba de usarlo en otros equipos, sólo me pasaba con el equipo que trabajo habitualmente.

La configuración actual sobre que tengo es:

  • Windows 7 Ultimate SP1 64bit, con todas las actualizaciones hasta la fecha
  • Disco USB externo Iomega 500Gb, con BitLocker activado

Solución

Para solucionarlo he realizado los pasos siguientes:

1) Añadir/modificar un valor DWORD en la registry:

    • Inicio > Ejecutar… y escribir “regedit”
    • Buscar la entrada HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlStorageDevicePolicies (si no existe esta última, crearla)
    • Añadir un valor DWORD “WriteProtect” con valor “0”

DiscoReadOnlyRegistry

2) Poner offline el disco USB:

  • Abrir el administrador de discos, accediendo a “Panel de control > Herramientas Administrativas > Computer Management”, y desde esta consola, seleccionar el nodo “Administrador de discos”
  • Pulsar con el botón derecho del ratón sobre el disco y seleccionar el menú “Offline”DiscoOffline

3) Poner online el disco USB:

  • Volver a pulsar el botón derecho del ratón y pulsar sobre “Online”

Voilá! el disco ya vuelve a estar operativo para operaciones de escritura. Espero que sirva de ayuda a alguno.