¿Por qué Drupal?
Esto son algunas reflexiones sobre la elección de un Sistema de Gestión de Contenido (CMS o Content Management System). Quiero dejar claro, desde el principio, que esto no va de "Drupal para todos y para todo". Más bien, es una exposición del proceso que a mí me ha llevado a elegir Drupal para la mayoría de los sitios web que he desarrollado.
En principio, la elección de un sistema o de otro debería depender del análisis de unas necesidades concretas. Normalmente, se hace una lista con toda la funcionalidad necesaria y se compara con las que proporciona cada CMS para ver cual cumple los requisitos.
Si ninguno de ellos cumple los requisitos al 100%, que es lo más normal, hay que mirar también si es fácilmente extensible, y ahí es donde entra el sistema de módulos, el lenguaje en el que está escrito y, en general, la claridad y limpieza del diseño.
Aunque también hay quien lo hace al revés, es decir, instalar y/o comprar el que le parece "el mejor CMS" y luego ver qué se puede hacer con él. Esto puede ser una buena opción para quién no tiene muy claro dónde quiere llegar, pero no nos engañemos: "El mejor", en abstracto, no existe.
Otro condicionante importante, sobre el que creo que voy a escribir otro artículo completo porque el tema se lo merece es "¿código abierto o propietario?". Yo, obviamente, me quedo con el código abierto.
Así que, despues de comparar y evaluar varios sistemas de gestión de contenido de código abierto, al final me he quedado con Drupal, por varias razones, pero las principales son:
- Un buen diseño y un código de muy buena calidad, que lo hace fácilmente extensible
- Muy buena extensibilidad
- La usabilidad (y accesibilidad) son muy buenas en comparación con otros
- El sistema base de gestión de contenido es limpio, flexible y potente.
- Una base instalada grande y que sigue creciendo
- El modelo de desarrollo
De hecho, uno de los valores centrales del desarrollo de Drupal es la calidad del código. Y aunque tengo que confesar que esto es un poco desesperante a veces -alguna vez he tenido que modificar un parche varias veces antes de que fuera admitido porque "los comentarios no estaban bien redactados"-, a largo plazo se agradece, especialmente cuando tienes que leer y modificar código escrito por otras personas hace varios meses.
Más que tener muchas cosas, es más bien una buena base en la que puedes integrar todo tipo de módulos. Yo lo uso, en algunos casos, como CMS completo, con un "tema" hecho a medida casi siempre, y en otras utilizo sólo lo que es el "core" (el sistema básico) que proporciona gestión de usuarios y clasificación y edición del contenido, y luego construyo sobre eso para crear una web que no tenga nada que ver con el típico portal de comunidad.
Drupal genera un código HTML extremadamente limpio y bien estructurado.
Todos los objetos de contenido son tratados de manera más o menos uniforme (Una noticia, una página, un enlace o una imagen son un objeto de contenido, y sobre cualquiera de ellos se pueden activar los comentarios, presentar como un listado o a página completa, realizar búsquedas.... ). Además tiene un sistema de categorías (taxonomía) totalmente configurable, con jerarquías simples o complejas, y es el mismo para todos los tipos de objetos.
La razón no es precisamente "si lo usa mucha gente, por algo será", aunque todo ayuda :-). Un gran número de usuarios, de sitios y de empresas que utilizan Drupal, aseguran que el programa -y el soporte, y los desarrolladores- no van a desaparecer de la noche a la mañana. Desde mi punto de vista, esto significa que yo puedo trabajar extendiendo o ampliando portales implantados por otras personas. Desde el punto de vista de los posibles clientes, es una garantía de que, incluso cuando yo haya ganado bastante dinero para retirarme al Caribe ;-), siempre van a poder encontrar a otra persona u otra empresa que de soporte y extienda su portal.
Tengo que decir que, una vez dentro de la comunidad de desarrolladores de Drupal, eso es lo que he encontrado: una comunidad, gente competente y constructiva en la que prima bastante el consenso sobre los intereses particulares. No es una empresa que te permite aportar cosas a su programa y te da las gracias, o una persona que hace lo que quiere con su programa.
Desde el principio, la visión de Drupal es más bien "por y para la comunidad", y espero que esto siga así mucho tiempo.
En resumen, no es el que más funcionalidad proporciona de partida, pero desde mi punto de vista es de los mejores en cuanto a diseño, flexibilidad y extensibilidad.