Syntax Highlighter

sábado, 15 de enero de 2011

Introducción a WebMatrix + DotNetNuke

El pasado 13 de enero tuvo lugar el evento CodeMash 2011 en el que se lanzó WebMatrix. Sinceramente no había trasteado hasta ahora con el producto, había oído hablar de él hace tiempo, de la sintaxis Razor que se utiliza, etc. pero muy por encima. Pero unos twits de @esmsdn despertaron mi curiosidad al decir que estaban haciendo una demo en vivo desplegando un portal DotNetNuke con la herramienta. ¿Desplegando DotNetNuke con WebMatrix? ¿Cómo? Y luego otro hablando de despliegues de Umbraco, Drupal, ...¿perdón? Nada, tarea para el fin de semana.

Y una vez que he estado trasteando hoy y visto alguna guía de iniciación a WebMatrix para aclarar conceptos, me he quedado realmente boquiabierto. 

¿Qué es WebMatrix? Es una herramienta de Microsoft con la que se pueden crear proyectos ASP.NET de forma sencilla -recalco lo de forma sencilla porque con ese eslógan abrieron la sesión de CodeMash sobre WebMatrix.

Pero no sólo ASP.NET, y aquí es donde empieza el baile de novedades y siglas de los que he podido percatarme: 
  • se trabaja de igual modo con PHP, mySQL, SQL Server, de forma integrada en el entorno de trabajo. También integración con Visual Studio y control de código fuente para soluciones más avanzadas
  • se están generando infinidad de addons y scriptlets -denominados Helpers- para integrar en nuestras webs módulos de conexión con terceros (p.e. añadir Twitter o Facebook, realizar una compra PayPal, o interactuar con almacenamiento en Azure con 1 línea de código)
  • una infinidad de plantillas web y motores CMS open source como punto de partida (ahora mismo cuento 39) que están integradas con la herramienta: DotNetNuke, WordPress, Umbraco CMS, ASP.NET MVC 3, nopCommerce, mojoPortal, Drupal, Moodle, Joomla, SugarCRM, MonoX, y un largo etc.
  • publicación y actualización directa de los websites
  • generación de informes: rendimiento, SEO, etc. para corregir errores comunes
Y todo esto...¡GRATIS! ¿Cómo? Sí...¡GRATIS!


Mi primer portal DNN con WebMatrix

Lo primero que quise comprobar después de ver a la gente de DNN en la presentación, fue seguir unos sencillos pasos para crear un sitio web con DotNetNuke a través de la herramienta. En menos de 15 minutos, ya estaba funcionando y otros 5 después publicado en Internet. ¡Mola!

Para empezar, hay que instalar WebMatrix a través del Web Platform Installer. Para ello se puede seguir este enlace. Una vez instalado, podemos seguir descargando e instalando plantillas para tenerlas ya preconfiguradas en WebMatrix y no tener que descargarlos en el momento del primer uso de las plantillas. En esta prueba descargué la plantilla de DotNetNuke para ver qué tal iba:



NOTA: a día de hoy, la versión de DNN que se descarga es la 5.6.0. La que presentaron en CodeMash es la 5.6.1 RC del 13 de enero que tiene soporte Razor y que ahora mismo es Beta, por lo que tuve que descargarme manualmente  desde CodePlex esa versión para ver lo de los Helpers. En la sesión comentaron que el día 19 de enero la versión será definitiva, por lo que no habrá que hacer ningún paso adicional a partir de esa fecha.

Una vez instalado, se abre una simple interfaz para seleccionar lo que queremos hacer: construir un sitio web a partir de la galería de plantillas -también se puede abrir un sitio DNN pre-existente con el botón derecho del ratón:




A continuación nos sale la galería...y se me ponen los pelos de punta :). Seleccionamos DNN, le ponemos el nombre al sitio y le damos a continuar:


El paso siguiente es la selección del tipo de base de datos -DNN sólo soporta SQL Server. Hay una peculiaridad a tener en cuenta. El asistente busca una instancia local de SQL Express, dándote la opción de instalarla si no la encuentra, aunque también te da la opción de seleccionar un servidor de base de datos remoto. En el caso de que tengas una edición superior instalada en local (SQL Standard, por ejemplo) el asistente no la detectará, por lo que debes seleccionar la opción "remoto" y apuntar a tu PC.


Comienza el proceso de instalación que completa con éxito:

Inmediatamente después se abre el portal en WebMatrix listo para trastear con él. Simplemente pulsando sobre el enlace que nos propone se abre el navegador para realizar la configuración de primer uso de DNN para instalar los módulos, etc.-no explico eso aquí ya que no difiere en nada de la configuración de cualquier portal DNN.


A través de las pestañas de la barra inferior izquierda, podemos acceder a distintas opciones como acceder a los ficheros del portal -véase integración con Visual Studio-, manipular la base de datos o obtener informes de rendimiento y SEO del portal.





Volviendo a la pestaña principal, pulsamos sobre el botón de publicación. Esta publicación realiza un proceso de búsqueda de cambios desde la última publicación, con lo que tenemos la opción de subir sólo los ficheros que han sido modificados desde ésta. El proceso también realiza una prueba inicial de compatibilidad de publicación para comprobar que se puede publicar sin problemas.

Para publicarlo lo podemos hacer a través de FTP o un Web Deploy, y la herramienta también nos ayuda a buscar un proveedor de hosting en caso de no disponer de alguno. En mi caso, he utilizado publicación por FTP en un servidor en GoGrid y la subida ha transcurrido sin problemas.


Una vez que pasamos por el taller de chapa y pintura, ya tenemos nuestro portal funcionando en la red. Nótese que en la imagen he remarcado el nuevo módulo que da soporte Razor al portal y a través del cual podremos utilizar todos los Helpers de terceros, como Facebook, Twitter, PayPal o Azure (ver enlaces al final del post). Esa parte la voy a dejar para un segundo post, ya que si no éste se va a hacer eterno. El vídeo de CodeMash sobre el módulo de eventos me dio una idea para el registro de eventos de TenerifeDev :)



Conclusión

La frase de Leonardo da Vinci con la que abrieron las sesiones lo resume todo: "La simplicidad es la máxima sofisticación". Tener a nuestra disposición una herramienta como esta, de acabado excepcional y con integración con las últimas tecnologías en lo que se refiere a CMS, redes sociales, Azure, PayPal, etc. es casi impensable, pero...¿gratis? Y vuelvo a recalcar...¿GRATIS? 

Para todo lo demás... :)

Os dejo dos enlaces por si queréis seguir ampliando conocimientos. Mañana más.

10 comentarios:

  1. David,
    QUERIA SABER SI CON WEB MATRIX SE PUEDE ACTUALIZAR LAS VERSIONES DNN.

    SALUDOS

    ResponderEliminar
  2. Hola Calin,

    A través del Web Platform Installer que viene integrado con WebMatrix, lo que puedes actualizar es la versión del paquete de instalación completo -para la creación de nuevos sitios.

    Si lo que deseas es actualizar la versión de DNN de una instalación ya desplegada, el mismo portal tiene esa opción de auto-actualización. Supongo que ya estarás al tanto, pero por si acaso:
    1) Entra con un super-usuario (host)
    2) Ve a la configuración del Host y asegúrate que tienes activada la opción "Comprobar Actualizaciones"
    3) Cuando hay una nueva actualización disponible y entras con un superusuario, en la barra superior del panel de control te lo muestra. Sigue el asistente en pantalla para instalar la actualización

    NOTA: te recomiendo que lo hagas sobre una copia del portal (y de la base de datos!), antes de realizar la actualización en producción, no vaya a ser que la actualización tenga algún problema con tu despliegue.

    Un saludo

    ResponderEliminar
  3. hola, tengo un problema al instalar webmatrix, desde microsoft web platform 3.0, me sale un aviso de requerimiento ..
    microsoft web platform 3.0 require windows xp service pack 3, windows server 2003 service pack 2 or later..
    mi duda es si para instalar webmatrix necesariamente debo hacerlo sobre windows server

    ResponderEliminar
  4. de antemanpo agradesco por la respuesta y una solucion que podria adoptar...

    ResponderEliminar
  5. No hay ninguna limitación de ese tipo (de hecho tu mismo has puesto que corre sobre Windows XP). Lo que igual no tienes actualizado el sistema operativo con el service pack requerido. Para hacerlo, activa las actualizaciones Automaticas (o ve a www.windowsupdate.com) e instala las actualizaciones que tengas pendientes.

    ResponderEliminar
  6. ya tengo funcionando mi portal , lo puedo ejecutar desde matrix, pero ahora como hago para publicarlo en un vps o un hosting?, cuando intento hacerlo en iss me sale de nuevo la pantalla de instalación...

    ResponderEliminar
  7. DotNetNuke, desde el punto de vista del despliegue, se divide en dos partes: aplicación web y base de datos. Según tus indicaciones (cuando intentas hacerlo te sale de nuevo la pantalla de instalación), lo que te falta es la conexión con la base de datos que es donde tienes todo el contenido del portal que has preparado.

    DNN soporta dos modos para la base de datos: una que se adjunta en tiempo de ejecución (el archivo de datos ubicado en \App_Data se adjunta a la instancia local de SQL Server en el servidor); la otra es usar un servidor SQL Server (Express, Standard, etc.) en el mismo o en otro servidor.

    Para la primera solución, simplemente con copiar también el archivo \App_Data\Database.mdf en destino debería funcionar. Para la segunda, si has desarrollado el portal contra un servidor de datos local/red, la base de datos la tendrás en el mismo, por lo que tendrás que exportar una copia de seguridad e importarla en el sitio de hosting donde estés publicando.

    Finalmente, deberás modificar el web.config para que la aplicación apunte al nuevo servidor de datos (a través del asistente de instalación también puedes hacerlo llegando hasta el paso de bases de datos).

    Te dejo esta entrada (en inglés) que explica este proceso con más detalle.
    http://www.dotnetnuke.com/Resources/Blogs/EntryId/1293/HOW-TO-Move-a-DotNetNuke-installation.aspx

    ResponderEliminar
  8. quisiera que porfavor me ayudes a instalar dnn, ya tengo instalado el webmatrix y el microsoft web plataform, instala bien todo me muestra los archivos, pero no lo puedo enlzar con la bd, cuento con un serdicor de desarrollo y he instalado el sql express para instalar local, pero me sale error de sql, provider en las dos opciones, quisiera saber la forma exacta para dicha instalacion

    ResponderEliminar
  9. Hola @Carlos,

    En caso de usar un servidor de datos en vez del archivo de datos de SQL Express, primero tienes que hacer el aprovisionamiento de la base de datos en el servidor (crear la base de datos en blanco para que sea usada por el asistente). Asegúrate que las credenciales que vas a suministrar funcionan correctamente para conectarte a la base de datos usando, por ejemplo, MS SQL Management Studio.

    ResponderEliminar
  10. Hola me están entregando un portal en dnn 6.x.x sé que hay programación con nuestra lógica de negocio en él.
    La pregunta es: en base a ese portal tal cual, puedo editar y corregir la programación de esos modulos que el proveedor haya hecho?
    Estos modulos los edito con VS2010 + el SDK de DNN. es suficiente eso?

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...