Mi experiencia con n2cms, Episodio I

Seguramente quienes desarrollen aplicaciones web se habrán topado con la necesidad de elegir un buen Administrador de Contenidos, o CMS para los amigos. En este caso, no sólo teníamos un proyecto de tamaño considerable (una importante universidad argentina), si no que además estábamos “atados” a los siguientes requisitos:

Nuestra impresión fue…

Frustracion

Luego de analizar varias alternativas (en la mayoría de los casos, los requisitos eran limitantes) decidimos probar la siguiente que resultaba muy atractiva (con cierto grado de desconfianza): http://n2cms.com/

Entre las cosas que prometía (http://n2cms.com/Features.aspx) nos habían llamado la atención las siguientes:

  • Cómoda interfaz de usuario (importante para el usuario final del sitio)
  • Código abierto y “sencillo” para leer y extender (importante para el desarrollador, sobre todo si hay que realizar alguna modificación para agregar funcionalidad)
  • Persistencia con NHibernate, que por ende, daría soporte para Oracle (o cualquier otra base de datos soportada)
  • Integración con Membership (que además, es configurable para usarse con Active Directory y Oracle)

Contento

Nos lanzamos entonces a la aventura de probar este framework, que sinceramente nos dió más satisfacciones (y muchas !) que disgustos. Poco a poco iré contando los problemas que tuvimos durante el desarrollo y cómo los fuimos solucionando, sobre todo lo apuntado a la integración de Oracle y AD.

Vean cómo armar una aplicación, después del corte.

Para entrar un poquito en calor, voy a hacer una breve introducción al desarrollo de una aplicación con N2. Por empezar, tomamos como base el “Minimal Example C#” de http://n2cms.codeplex.com/releases/view/70951

En el proyecto encontramos lo siguiente:

  • Una página Default.aspx (que realmente no aplica para mostrar contenido, si no que se muestra como mensaje de error)
  • Una carpeta Models, donde se encuentran las clases que modelan al contenido del sitio
  • Una carpeta UI, donde se encuentran las plantillas (templates) asociados a los contenidos definidos en Models
  • El archivo de configuración web.config que es IMPORTANTISIMO durante el transcurso del proyecto, por ejemplo, para setear que base de datos se desea utilizar. El ejemplo viene configurado para una base de datos Sqlite.

Para ver el sitio funcionando se puede correr desde Visual Studio (Nosotros usamos la versión 2010). Para ingresar al panel administrativo basta con entrar a la (url)/N2

Además, se puede correr el instalador (desde (url)/N2/Installation) para reiniciar los valores o cambiar la base de datos de origen. La base de datos se basa sólo en 4 tablas.

Quienes estén en dudas, o quieran probarlo, haganlo, es una buena opción. Próximamente les traigo la segunda entrega con algunos detalles más avanzados y concretos.

Hasta la próxima !!


Discussion Area - Leave a Comment