¿Por qué Drupal?

Drupal, motivos de la decision

Porque necesitábamos desarrollar sitios que fuesen fácil de administrar por nosotros y por quienes adopten la solución, la simplicidad en la instalación del framework y el tiempo requerido para entender como funciona fue el factor decisivo. Mientras que Ruby on Rails (ROR) era intrigante era evidente que llevaría demasiado tiempo codificar un CMS desde cero, por lo tanto ROR fue descartado

Tener un efectivo control de acceso a la información para cada persona, una administración sencilla de sesiones y usuario facilita la implementación. Por supuesto, la velocidad de desarrollo también se veía beneficiada al contar con una robusta infraestructura de plugins mantenidos por una comunidad vibrante de desarrolladores que aseguran la calidad de las extensiones del framework.

Otro aspecto determinante era el potencial de escabilidad ante el crecimiento del numero de usuarios del sistema.

La facilidad para ajustar el modo de visualización del contenido era crucial; necesitábamos flexibilidad durante las iteraciones del diseño y en los posibles futuros ajustes. Eso llamado "themability" era también un requerimiento al pretender utilizar las buenas practicas del diseño web respecto a la semántica xHTML, CSS y diseño accesible..

La Figura 1 muestra una comparativa de como plataforma candidata cumplia nuestros requerimientos. Era obvio que necesitabamos algo mas que lo que un 'blog engine' podía proveernos.

Figure 1. Rating de las plataformas candidatas de acuerdo a los requerimientos

CMS Comparision

Mambo era una alternativa atractiva por su facilidad de instalación y la interfaz de usuario, pero su desarrollo estaba paralizado, eso disminuía nuestra confianza respecto a la necesidad futura de soporte.

Typo3 parecía contar con el tipo de comunidad extensa y madura que estábamos buscando. Sin embargo la curva de aprendizaje para usar Typo3 es enorme si la comparamos con la de Drupal.

Necesitamos invertir algo de tiempo para comprender lo que tenía sentido. Sentimos además que Drupal proveía la comodidad de un framework y la flexibilidad para 'salirse del framework' cuando los requerimientos lo requerían. Luego de considerar todos los aspectos decidimos que Drupal era la opción adecuada. El panorama de los CMS Open Source cambia constantemente por eso permanecemos abiertos a reevaluar cada uno de estos puntos en los nuevos participantes del ecosistema y en las actualizaciones que surjan dentro de los existentes.

Drupal en detalle

Drupal ofrece muchas características incluidas por defecto en el propio 'core' y es fácilmente extensible debido al soporte que brinda su vibrante comunidad. Las características básicas incluyen:

  • URLs amigables usando la funcionalidad que brinda mod_rewrite en Apache.
  • Fácilmente expansible usando los modulos Drupal. La comunidad ha desarrollado una extenda cantidad de módulos que incluyen entre otras las funcionalidades de visualización de taxonomías, autenticación jabber, mensajes privados bookmarks etc.
  • Personalización del entorno para ciertos contenidos y presentación basada en las preferencias de usuario.
  • Un sistema de permisos basados en roles que definen el acceso a la visualización y la edición del contenido.
  • El contenido es totalmente indexado para soportar búsquedas.
  • Drupal está codificado sobre una capa de abstración de base de datos, por lo tanto el framework puede ser fácilmente extendido para soportar otros motores de bases de datos.
  • Soporte para otras tipos de contenido como encuestas, comentarios enlazados, foros y sindicación de contenidos.
  • Contenido separado de la presentación utilizando un sistema que usa HTML, CSS y PHP.
  • Administración web simplificada por el soporte de logs de sistema y análisis de los mismos.
  • Soporte online.

Extendiendo Drupal

Utilizamos la funcionalidad que aportan los modulos de Drupal para extender las características que nuestros sitios necesitan soportar. Estas incluyen aspectos tales como:

  • Crear una extranet: es decir un ambiente de acceso limitado que requiere autenticación previa al acceso de la información.
  • Cierre de la sesión basado en la interacción del usuario con el sitio.
  • Un politica de Términos y Condiciones de uso que los usuarios deben aceptar para poder utilizar el sitio.
  • Extensión de la interfase de edición para para soportar edición 'in place' (Por ejemplo, permitir ver a un usuario autorizado cuales son las partes que el puede editar y habilitarle la edición en el mismo contexto de la página.)
  • Administración de anuncios para publicitar información general que todos los usuarios deban ver.
  • Manejo de grupos de trabajo, sus estatus y acciones pendientes, etc...
  • Creación y manejo de sesiones de conferencias y agendas utilizando Ajax para facilitar el uso de la interface administrativa.
  • Una vista extendida y interfase de administración de los perfiles e información asociada a los usuarios y los mecanismos de busqueda que pfaciliten esta tarea.
  • Bloques adicionales de información contextual puedan ser mostrados en las barras laterales basada en los roles de usuarios y los daos que utilizan y crean.
  • Un resumen semanal de información por correo electrónico a los miembros interesados en áreas específicas de contenido.

Nota: Traducción de Why Drupal?