Introducción a Drupal. ¿Por qué sí?
Si necesitamos un gestor de contenidos para nuestra web, cosa bastante frecuente por cierto, podemos tener dudas de cuál elegir. Si somos una Administración Pública, es bastante probable que nos decantemos por Liferay, una plataforma basada en Java. En el caso de las pequeñas y medianas empresas, muchas de ellas optan por WordPress, gestor de contenidos hecho con PHP y del cual hemos hablado en numerosas ocasiones en este blog. Su facilidad de instalación y de personalización, lo convierten en el más utilizado para hacer páginas web para empresas y para particulares.
Sin embargo, muchos informáticos prefieren Drupal. Se trata de un gestor de contenidos también desarrollado con PHP y con licencia GNU/GLP. Es decir, se puede utilizar sin coste específico, aunque como en todo este tipo de programas, hay ciertos plugins y ampliaciones que pueden ser de pago.
Según dice la página oficial de Drupal, este gestor de contenidos está especialmente pensado para construir y gestionar comunidades en internet. Sin embargo, se puede utilizar para cualquier proyecto web, pues tiene un motor sólido y escalable, que permite cualquier ampliación y configuración.
Decíamos que a muchos informáticos les encanta y esto es porque está muy bien construido. Su código fuente es limpio y claro. La máxima preocupación de sus desarrolladores es que se respeten los estándares web y que la usabilidad sea máxima. Además, tiene cierto carácter más complejo que gusta más a los informáticos, algunos de los cuales son conocidos porque les encantan los retos.

Principales características de Drupal
La principal característica que destacan los que utilizan Drupal frecuentemente, es la inmensa comunidad de usuarios en internet. A diferencia de otros gestores de contenidos, en Drupal podemos encontrar información en casi cualquier idioma. En nuestro caso, en español, podemos encontrar cantidades ingentes de páginas, proyectos y ejemplos. Por si esto fuera poco, el propio Drupal dispone de ayuda on-line, que cuenta con una base documental muy importante. Eso da mucha seguridad, porque siempre que empezamos un proyecto web, antes o después necesitaremos ayuda cuando nos atasquemos en algún problema. Saber que al otro lado hay alguien, nos da confianza para meternos en cualquier tipo de proyecto.
El gestor de contenidos de Drupal está fuertemente orientado al posicionamiento SEO. Una de las ventajas es que el contenido de Drupal permite ser indexado en tiempo real. Además, las secciones y contenidos están regulados por la taxonomía, un sistema mediante el cual Drupal clasifica los contenidos. En realidad este sistema está en el núcleo o motor de Drupal. Es un sistema complejo que permite definir diferentes vocabularios que se pueden asignar a cada uno de los contenidos de la página web. Esto permite que los contenidos se clasifiquen como categorías, como etiquetas o mediante cualquier otro sistema que se especifique. La realidad es que Drupal se lleva muy bien con el posicionamiento SEO. Solo por este hecho, ya vale la pena tenerlo en cuenta. Eso sin contar con las URLs amigables. Es cierto que esta opción está presente en los gestores de contenidos que más se utilizan en la actualidad, pero no está de más recordarlo.
Que Drupal sea código abierto está muy bien. De entrada significa que no hay que pagar nada para instalarlo. Pero más importante que esto, es que si necesitamos alguna funcionalidad que no está prevista en ninguno de sus módulos existentes, un programador que controle el PHP y conozca bien esta herramienta, podrá hacernos el desarrollo específico que necesitamos. Esta versatilidad no la permiten todos los programas de estas características. Aunque también es verdad que en la mayoría de los casos tendremos más que suficiente con las opciones que vienen por defecto en la instalación estándar.
Todos los que hemos hecho un proyecto web de cierta magnitud, somos conscientes de la importancia que tiene la gestión de usuarios. Drupal tiene bien resuelto el tema y permite iniciar una sesión no solo con el típico usuario y contraseña, sino con otros sistemas como Jabber o Blogger. También está muy desarrollado el sistema de roles y usuarios, asignando permisos a cada uno de ellos.
Por cierto, Drupal es bastante utilizado para intranets, pues se puede integrar de forma más o menos sencilla con un servidor LDAP (Lightweight Directory Access Protocol o Protocolo Ligero/Simplificado de Acceso a Directorios), muy utilizados para este tipo de configuraciones tecnológicas. Una intranet con Drupal está llena de posibilidades interesantes, pues permite un alto grado de configuración y de flexibilidad. Aunque hay aplicaciones específicas para hacer intranets, una empresa mediana, sin necesidades demasiado exigentes, pueden sacar mucho partido a la tecnología que ofrece Drupal. Es cuestión de ver los pros y los contras y, sobre todo, que el programador elegido conozca bien la mecánica de Drupal.

Características de la gestión de contenido en Drupal
No cabe duda que Drupal está pensado para los contenidos, en su más extenso significado. Para empezar tiene un completísimo control de versiones, lo que lo hace muy adecuado a páginas que se actualizan con mucha frecuencia. Siempre es un valor añadido el poder volver a una versión anterior si se ha cometido algún error o se ha actualizado una sección de forma incorrecta. Esta gestión incluye saber qué se ha cambiado, quién lo ha hecho y cuándo. Y también está muy bien la posibilidad de hacer comentarios sobre los cambios. Vamos, totalmente profesional.
Los enlaces permanentes o permalinks aseguran que todos los contenidos tendrán una dirección externa y única, que nunca será alterada en el futuro. Por mucho que crezca una página web. A esto hay que añadir el concepto de nodos, que son como se denomina cada uno de los contenidos o elementos que se crean con Drupal. No olvidemos que Drupal tiene un fuerte componente de programación orientada a objetos, así que cada uno de los nodos es en realidad un objeto, con entidad propia. Eso permite crear una cola de moderación para envíos de diferentes tipos, utilizar algunos de estos nodos en la página principal o permitir comentarios (o impedirlos) en todos, una clase de nodos o uno en particular. Esta versatilidad lo hace muy superior a otros gestores de contenidos, donde los comentarios se pueden activar o no de manera universal a todos los contenidos en conjunto, al menos, en su versión de serie.
Y no podemos olvidar la potente sindicación del contenido de Drupal, que exporta los contenidos en el formato RDF/RSS. Esto facilita que sea utilizado por otras webs y ser indexado de forma más eficaz.

El uso de los módulos en Drupal
Los módulos en Drupal vienen a ser como los plugins en WordPress y los componentes en Joomla. Se trata de ampliaciones que se hacen al motor principal de Drupal. Aunque el código de Drupal es extenso y contempla muchísimas opciones, hay determinados elementos que no se tienen en cuenta Por ejemplo, si queremos convertir nuestro Drupal en una tienda online, necesitaremos un módulo específico. O si queremos cambiar las propiedades de la gestión de usuarios que Drupal tiene por defecto, también es una buena idea contar con uno de los miles de módulos que hay disponibles. Y decimos bien, porque hay muchas empresas y particulares que desarrollan para Drupal, y lo hacen crecer cada día.
Los módulos que más me interesan son los de geolocalización. Algunos pueden hacer auténticas virguerías. El tema del geoposicionamiento está muy de moda y hay muchas páginas web que ya están sacando partido a las opciones de colocar contenidos o lugares en un mapa. Algunos permiten generar rutas, sí, tal como hace Google Maps. Con un poco de imaginación, no cuesta entender cómo podríamos hacer crecer nuestro negocio con este tipo de herramientas.
No podemos pasar por alto los módulos diseñados para optimizar la web para SEO. Aunque Drupal ya está muy preparado en este terreno, a veces se necesita una ayuda externa que audite si cada contenido que se añade a la web cumple con las reglas básicas del posicionamiento orgánico. Y, claro, Drupal no sirve solo para crear sitios eficientes. También pueden (y deben) ser bonitos y muy atractivos. Hay varios módulos que están orientados a ofrecer espectaculares galerías de fotos, con efectos 3D o mostrando las imágenes con profundidad. La elegancia no está reñida con la eficacia en la programación.
Y hablando de diseño, aunque no son módulos específicamente, Drupal cuenta con temas o plantillas para cambiar el aspecto de nuestra web. A poco que busquemos encontraremos cientos de plantillas totalmente responsive. Claro, las mejores suelen ser de pago, lo mismo que ocurre con los módulos. Pero se supone que nuestra web debe ser profesional y tiene que servir para hacer clientes o mejorar nuestra cuenta de resultados.
Modificar una plantilla de Drupal no es demasiado complicado, sobre todo si estamos acostumbrados a trabajar con HTML, CSS y jQuery, sin olvidar del principal lenguaje de programación que utiliza, que es PHP. El consejo, no obstante, es elegir la plantilla que más se ajuste a nuestra idea para la web.
¿Es mejor Drupal o WordPress?
Pues no esperéis que contestemos esta pregunta. Al menos no de forma directa. Tengo que ser sincero: yo he trabajado muchos más con WordPress que con Drupal, pues para la mayoría de proyectos que hago, la herramienta WordPress es suficiente. Sin embargo, conozco bastante bien Drupal, y he de reconocer que en muchos aspectos, Drupal tiene mejores soluciones tecnológicas. Por otra parte, aprender a trabajar con Drupal no es lo más intuitivo del mundo, y dependiendo de las necesidades que tengamos, su configuración es algo más compleja que con WordPress. Por supuesto, luego está la costumbre y los gustos personales. Si nos acostumbramos a trabajar con Drupal, es probable que otras herramientas no sean de nuestro agrado, del mismo modo que si trabajamos normalmente con WordPress, lo normal es que nos terminemos habituando a su modelo de trabajo.
Entonces, ¿qué herramienta debo elegir? Si el proyecto no tiene una complejidad excesiva, WordPress será, posiblemente, una buena opción. Aunque luego están los gustos personales, tal y como hemos dicho. Otras personas trabajan con Joomla y que nadie les quite dicho gestor de contenidos. Al final son herramientas que tienen muchos elementos similares. Si el cliente nos da una directriz concreta, tendremos que seguirla. Por otro lado, si el gestor de contenidos se deja a nuestra elección, podemos elegir el que prefiramos.
Tengamos en cuenta que Drupal es multiplataforma y funciona perfectamente tanto en un servidor Apache como en un Microsoft ISS. Lo habitual es que la base de datos sea MySQL, pero puede trabajar sin mayor problema con casi cualquier sistema de bases de datos.

Conclusión: Drupal es una excelente opción
Hemos dicho anteriormente, que una de las ventajas principales de Drupal es su comunidad. Si surge alguna duda que no se ha contestado previamente, cosa bastante rara por cierto, encontraremos foros especializados con personas dispuestas a ayudarnos. Estas comunidades crecen y se benefician de la experiencia de años de las miles de informáticos que desarrollan sus herramientas web con este software como base.
Con la enorme cantidad de módulos que hay disponibles para Drupal, es bastante complicado que queramos conseguir una cosa con nuestra web que no se haya resuelto con anterioridad. Pero si este fuera el caso, se puede modificar y ampliar el código a nuestro gusto. Solo es necesario conocer bien PHP y tener una buena idea, claro está.
Miles de páginas web, tiendas online y portales están construidos con Drupal. No se trata de un gestor de contenidos cualquiera. Es una excelente herramienta que no para de crecer y mejorar con cada versión. Lo más interesante es que está fuertemente orientada al posicionamiento SEO y a la usabilidad. No es la única opción. Por suerte para los programadores y los que quieren hacer una página web, hay mucha competencia en el campo de los gestores de contenidos. Pero no cabe duda que nos encontramos ante una excelente opción. Y, desde luego, vale la pena probarla. Si nos especializamos mucho en su uso, difícilmente nos faltará trabajo, pues siempre se necesitan buenos profesionales que controlen con Drupal. Manos a la obra.