A propósito de Drupal

He pensado darle un empujón al blog próximamente publicando algunos de mis quehaceres habituales con el gestor de contenidos que llevo varios años usando y que conozco bastante bien, me refiero a Drupal; y que últimamente casi uso como framework de trabajo para el desarrollo de aplicaciones en entornos de intranet con funciones avanzadas como gestión de proyectos o e-Learning.

Una breve introducción

Drupal es un sistema para la gestión de contenidos que desde principios de 2008 va por su versión 6 y cuya versión 7 está a punto de salir. En su instalación base permite crear sitios web multiusuario con soporte para blogs, foros, encuestas y publicar artículos y otro tipo de páginas entre otras muchas cosas de fácil configuración. Es un programa libre, con licencia GNU/GPL, que está desarrollado en PHP y es mantenido por comunidades de usuarios muy activas, entre ellas Drupal Hispano. Su programación destaca por su calidad, orden, una API completa y documentada, que respeta estándares de la web, y que hace un énfasis especial en la usabilidad y consistencia de todo el sistema (wikipedia dixit, y que yo suscribo).

Además de esto, lo que sin duda ninguna hace verdaderamente potente a Drupal es su arquitectura ya que es posible desarrollar módulos nuevos para mejorar funcionalidades ya disponibles o añadir nuevas funcionalidades al sistema de manera dinámica y sencilla. Esto ha permitido un crecimiento exponencial de Drupal con una enorme cantidad de módulos disponibles que aportan soluciones prácticamente para cualquier necesidad en la creación de sitios web avanzados.

Pero no todo son ventajas

Aunque Drupal como CMS resulta muy versátil, configurable, adaptable y ampliable; como entorno de desarrollo, al nivel que estamos hablando, tiene algunas carencias que por ahora veo difícilmente salvables ya que son inherentes a su arquitectura. Fundamentalmente echo en falta facilidades para trabajar en entornos de pruebas/desarrollo para añadir tal o cual funcionalidad para luego exportar ese trabajo a un entorno en producción. Con los módulos no hay ningún problema ya que pueden crearse con sus propias funciones de instalación y desinstalación así como de actualización de la base de datos para cada nueva versión; por lo que una vez liberados pueden instalarse, actualizarse o desinstalarse con bastante facilidad. Pero las operaciones realizadas en el propio sitio, eso ya es harina de otro costal. Es preciso mantener una relación detallada de todas las acciones efectuadas (módulos activados, tipos de contenido creados, campos configurados, permisos asignados, vocabularios y categorías creadas, vistas usadas, menús creados, etc…) para luego repetirlas en el entorno de producción una vez que las nuevas funcionalidades han sido verificadas, validadas y aprobadas.

También, últimamente he detectado que están aumentado notablemente los requerimientos de máquina necesarios para un funcionamiento fluido del sistema cuando se tienen muchos módulos activos o con funcionalidades avanzadas operativas. De fábrica se incluyen algunas opciones destinadas a optimizar el rendimiento, pero parece que son insuficientes si se tienen en cuenta la cantidad de módulos existentes para esta tarea aplicando técnicas diversas. Está claro que es un tema que preocupa y tienen un interesante camino por recorrer.

Por otro lado, aunque ahora empieza a haber una comunidad incipiente dedicada a la creación de temas para Drupal, aún resulta insuficiente si la comparamos con los incontables sitios dedicados a temas de calidad creados para WordPress. Drupal tiene su propio catálogo de temas (muchos de ellos se pueden probar en línea aquí), pero no tiene esa diversidad de recursos y calidad, siendo en muchos casos adaptaciones de temas originalmente creados para WordPress. En su momento yo mismo adapté un tema para Drupal que encontré en oswd.org.

Finalmente, y conste que esto lo considero un mal menor, aunque el paquete de Drupal está traducido al castellano (entre otros muchos idiomas), muchos módulos no incluyen aún las traducciones correspondientes, lo que a menudo me ha supuesto alguna que otra jornada de trabajo traduciendo los textos más importantes de cara a facilitar el uso al usuario final.

Mi experiencia

En realidad, estos inconvenientes se presentan sobre todo cuando se quiere hacer un uso avanzado de Drupal. Si uno se enfrenta a un proyecto para crear un blog personal o, incluso, una comunidad de blogs, con foro, encuestas, sindicaciones, y páginas estáticas, bastaría con instalar la última versión de Drupal (algunos proveedores de hosting proporcionan este servicio de manera automática) y activar los módulos correspondientes del core para tener en un par de horas un sitio completamente operativo, rápido y seguro sin necesidad de ningún módulo adicional. Si luego no cometes los errores habituales al empezar a trabajar con Drupal el mantenimiento será sencillo y rutinario.

Y para los que quieran trastear con el entorno, o quieran explotar las posibilidades de la herramienta, ya sea por interés personal o profesional, puede que alguno de los artículos que a partir de ahora publicaré bajo la etiqueta Drupal les resulte de interés.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *