A quince años vista de la primera release de Drupal
davidjguru Colaboraciones 16/09/2016
Nadie hubiese podido imaginar que la idea inicial de unos estudiantes de la Universidad de Amberes para facilitar la comunicación interna con un simple tablón online para publicar mensajes fuese a tener tanto recorrido y se convirtiese en todo un corpus tecnológico rodeado de una importante masa de usuarios y sobre todo, de una ingente comunidad dispuesta a colaborar y hacerlo crecer.
Durante el presente año se cumplieron quince años desde la primera liberación de Drupal como proyecto de software libre y puede ser una buena oportunidad para celebrar dicha efemérides compartiendo con la comunidad Betabeers un poco de esa vida interna del proyecto.
Mientras escribo estas líneas y ya pasado el ecuador del año, Drupal se siente más fuerte que nunca. Algo más de quince años más tarde de esa liberación que comentaba en el párrafo anterior se anunciaba la versión 8.2 lista para testeo y el calendario anda plagado de eventos relacionados con la plataforma a varios niveles y en diversos formatos: este año hemos podido optar por una DrupalCon Europa, una DrupalCon USA (eventos internacionales), DrupalCamp en Gante, el formato Drupal Developer Days para desarrolladores en Milán y antes de que termine el año tendremos en nuestro país el Drupal Day Galicia 2016. Además los grupos locales funcionan en varias ciudades (aquí en Sevilla hemos tenido el último encuentro de la comunidad el pasado catorce de septiembre). Además el próximo año tendremos una nueva edición de DrupalCamp Spain y la comunidad de Sevilla se ha propuesto para organizar el Drupal Developer Days 2017 uf ¡casi nada! Como se puede apreciar, hay toda una comunidad en movimiento y bastante proactiva trabajando duro en torno a nuestro CMS favorito. Puedes ampliar toda la información que necesites sobre cualquier evento Drupal organizado en todo el planeta gracias al DrupiCal, que mapea todas las actividades.
¿Cómo empezó todo? Una idea sencilla y un error al teclear tienen las claves del origen de Drupal...dos estudiantes de la universidad de Amberes (Dries Buytaert y Hans Snijder), pensaban cómo comunicarse con el resto de estudiantes intentaron construir un panel de anuncios online para intercambiar mensajes. Más tarde ese pequeño panel fue evolucionando y se fue ampliando el número de usuarios, con lo que poco a poco se fue desarrollando un esqueleto inicial de gestor de contenidos en una especie de Intranet universitaria; en cuanto Dries se graduó, pasó a estar abierto para toda la red con la idea de poder seguir manteniendo el contacto. Había que darle algún nombre, así que al ponerlo en abierto tenían que comprar un dominio...todo se resolvió con una pequeña typo: Dries consideró “dorp”, una palabra que en holandés significa “pueblo”, pero al teclear introdujo “Drop” y así se quedó. Lanzó drop.org como una plataforma a medio camino entre el foro, red social y tablón de contenidos. Al año siguiente (2001) tomó la decisión de liberar aquel software. En aquel entonces intentó diferenciar a la plataforma de su software y para este eligió la versión holandesa de “drop”, que es “druppel”, pero leída en inglés, que suena más “droo-puhl” y apareció “Drupal” como nombre seleccionado para ese software liberado.
Así era el portal web de Drupal.org (año 2002) en general y en particular la sección de sitios web hechos con Drupal donde se ve la friolera de ¡ocho plataformas! Lo que contrasta con las cifras actuales que reportan actualmente más de un millón de sitios web construidos con esta tecnología, recogidos como casos de estudio en un solo portal web y referencias tan importantes como la plataforma online de la Casa Blanca, el ayuntamiento de Los Ángeles o la ciudad de Londres. Industria tecnológica como Cisco, Verizon, o Redhat; medios (The Economist, NBC o la discográfica Warner) y el mundo de los deportes (sitio web de la NBA o el comité internacional de deportes paraolímpicos). Muchas son las organizaciones que basan su presencia online en las capacidades y prestaciones que Drupal ofrece y son muchos los casos disponibles para conocer la fiabilidad y rendimiento de estos sitios web auspiciados por el trabajo realizado por toda una comunidad global de personas implicadas desde diferentes zonas de especialización en el desarrollo de esta tecnología.
En la comunidad alrededor de Drupal hay miles de personas contribuyendo activamente y con diferentes perfiles: desde desarrolladores que trabajan en el core hasta mantenedores de módulos, pero además multitud de perfiles no específicamente tecnológicos que también aportan su granito de arena para hacer avanzar los niveles de calidad de la plataforma: diseñadores que proponen mejoras de UX para las interfaces tanto para la navegación a través del sitio web como para las vistas internas de gestión en menús de administración y módulos, traductores que se encargan de hacer que cada versión del core de Drupal y sus módulos estén disponibles en algún idioma específico y muchas más personas dedicadas a documentar, actualizar y editar los contenidos disponibles, las guías y manuales de instalación y recomendaciones… todo un ecosistema de participantes y colaboradores que hacen que actualmente, las cifras en torno a Drupal sean realmente impresionantes: más de treinta y cinco mil módulos disponibles para diferentes versiones del core de Drupal, más de dos mil temas visuales y unos dos mil commits enviados de media a la semana. Más de mil versiones configuradas a modo de “distribuciones”, es decir, adaptaciones de Drupal como herramientas de propósito específico debidamente “profileadas” (disculpenme el palabro) para usos concretos: gestión de proyectos y tareas con OpenAtrium, construcción de comunidades con Drupal Commons e incluso una versión para iglesias y cultos religiosos: OpenChurch.
Como podemos ver, Drupal es una tecnología en avance constante.
A quince años vista ¿Qué podríamos destacar de la orientación de Drupal?
Para empezar, un “clásico” en su planteamiento: la alta escalabilidad. Permitir un crecimiento controlado y eficiente en tres frentes distintos - el número de usuarios registrados, el tráfico de visitas y la cantidad de contenidos publicados - bajo estos tres factores sigue creciendo Drupal y continúa enfocándose para ofrecer como solución madura para sitios web de alto rendimiento.
Podríamos también destacar el enfoque “Content as service”, o el planteamiento de que en realidad el sitio web que estemos construyendo ya no tiene porque ser el destino final de nuestros contenidos. En un entorno orientado a la integración con terceros, Drupal está más que preparado para conectarse vía API con cualquier otro sistema dispuesto a extraer sus contenidos y volcarlo en aplicaciones, otros sistemas y cualquier red social.
Y en ese sentido, podemos también ver el progresivo desacople entre backend y frontend que se va realizando para permitir que manteniendo a Drupal como gestor de contenidos, el frontend pueda ser desacoplado y construido directamente sobre otras tecnologías que actualmente ofrecen un alto nivel de madurez y capacitación, sean librerías (React) o frameworks (Angular, Backbone)... Drupal crece, se abre y aumenta su flexibilidad para crear ricas experiencias digitales.
Sumemos además otros avances conseguidos como la implementación de los ficheros de configuración a partir de la versión 8, salvando ya los problemas históricos del almacenamiento directo en base de datos y sus dificultades inherentes para el versionado en repositorios, o la asimilación de mejoras de uso para la edición de contenidos mucho más amigable, directa, más cercana para el usuario habitual de otros CMS como Wordpress y que permite edición directa online…
O la confirmación de que Views es una herramienta fundamental para Drupal a la hora de trabajar con contenidos para localizarlos, filtrarlos y exponerlos de la mejor manera posible. Para las personas que no estén habituadas a trabajar con Drupal, diré que Views es un módulo de Drupal (un módulo es una pieza software para ampliar funciones al core de Drupal) muy importante para construir listas de contenidos preparadas para mostrar a través de displays visuales sobre el frontend. Cada listado procesado tiene el nombre de “View” o “Vista” y de ahí toma el nombre el referido módulo. Views ahora ya viene de serie y pasa a ser un recurso elemental y parte del core. Eso es un avance significativo, ya que a partir de este tipo de inclusiones se adquiere un compromiso de mantenimiento, actualización y documentación del módulo con mayor frecuencia y dedicación que si hubiese permanecido fuera del core, lo que también es una decisión muy estratégica que termina facilitando el trabajo de developers y site-builders que trabajan con Drupal.
Mención aparte para la integración de Drupal con componentes Symfony: gran apuesta por superar el síndrome NIH por una visión más PIE, haciendo que los desarrolladores de Drupal piensen en algo más allá que la misma plataforma al unir a Drupal con uno de los proyectos más extendidos dentro de la comunidad de tecnologías basadas en PHP y más activas actualmente; eso es querer llevar a Drupal mucho más allá, acercarlo a patrones MVC materializando esa visión de desacoplamiento que comentaba anteriormente y el cumplimiento de más stantards. Esta ha sido otra decisión estratégica muy importante pues ha influido mucho en la transformación de este CMS en su última versión (Aquí un listado de componentes Symfony disponibles en D8). En Drupal 8 hay más de nuevo que de evolutivo, los planteamientos y la articulación interna se han visto modificados, la plataforma ha alcanzado un nuevo nivel de complejidad y por extensión de su curva de aprendizaje, lo que ha generado grandes debates y discusiones que se han saldado con un fork directo de Drupal 7 como cms autónomo con otra vía de desarrollo al margen de Drupal 8. Backdropcms parece ser la versión de Drupal para los no-satisfechos por todos los cambios realizados en Drupal 8, una versión que puede considerarse el primer proyecto resultante de los acuerdos del grupo PHP-FIG para consensuar buenas prácticas comunes y homogeneización de recursos en proyectos basados en PHP a través de sus recomendaciones PSR (0, 1, 2, 3 y 4).
Desacuerdos y forks aparte, todas las opciones expuestas son en si mismas grandes ventajas operativas que nos permiten llevar Drupal a otros contextos, otros usuarios, otras entidades y conseguir más penetración en la cuota de uso de nuestra plataforma favorita, aunque el camino no sea sencillo.
Esos son los grandes retos a los que nos enfrentamos y por los que nos enorgullecemos de trabajar y colaborar con una tecnología que está en movimiento constante y rodeada de muchas personas activas. A quince años vista, echar la vista atrás para realizar una retrospectiva de esta plataforma es un ejercicio más que interesante para repasar el ciclo de vida de Drupal y valorar positivamente la enorme evolución que ha ido adquiriendo. Desde la sencilla idea de conectar estudiantes a una de las tecnologías más maduras para la implementación de sitios web. Seguimos trabajando en ello.