Sigo en Drupal 7, ¿y ahora qué?

28/04/2022
Sigo en Drupal 7, ¿y ahora qué? - Migración a Drupal 9

Introducción

La época de Drupal 7 fue, sin ninguna duda, una época dorada en Drupal. Las mejoras desde Drupal 6 fueron sustanciales, tanto a nivel de interfaz como de código y cantidad de módulos contribuídos. Es por esto que incluso a día de hoy, y con dos versiones del core después, casi el 50% de los portales Drupal usan la versión 7.

Recientemente se anunció que el ”end of life” de Drupal 7 se retrasaría, al menos, hasta 2023, pudiendo extenderse más si se considerara necesario. Aunque esto pueda suponer un alivio a los propietarios de estos portales, más bien puede considerarse una invitación a la reflexión: ¿debería seguir en Drupal 7?

La primera release de Drupal 7 tiene ya 11 años, mientras que el comienzo del “fin del ciclo” de Drupal 7 lo marcó la salida de Drupal 8, a finales de 2015. En software, 7 años es demasiado tiempo y esto se nota cuando se ahonda en las características que Drupal 7 ya no puede ofrecer por falta de soporte:

  • Librerías de jQuery desactualizadas, lo que puede conllevar problemas de seguridad.
  • Limitaciones en las versiones de PHP modernas. Al no usar versiones actuales de PHP se perdería mejoría en seguridad y performance.
  • Módulos contribuídos que ya no mantienen su versión de D7. La mayoría del esfuerzo de los maintainers está en las versiones actuales, por lo que muchas de las versiones de D7 están sin soporte o poco mantenidas.
  • Menos revisiones de seguridad (tanto en core como en módulos contribuídos) por parte del Drupal Security Team. De nuevo, el foco está en la versión actual de Drupal.

Por no contar con las ventajas de las nuevas versiones a las que Drupal 7 no tiene acceso (en el caso de Drupal 9, detalladas en la siguiente sección). Tarde o temprano llegará el momento en el que sea obligatorio dar el salto, así que ¿por qué no prepararse cuanto antes?

¿Qué opciones tenemos?

Migrar a Drupal 9

Esta es la opción más obvia y recomendada. No es necesario “pasar” por Drupal 8 para ello, ya que desde D8, las actualizaciones major de Drupal no son tan disruptivas como el salto desde D7.

Hay muchas herramientas que se pueden usar para facilitar la migración a la última versión de Drupal. Además, Drupal 9 ofrece muchas ventajas propias de contar con los desarrollos más recientes:

  • Muchísima funcionalidad en Core (mejor mantenida y con más actualizaciones)
  • Experiencia más moderna de gestión del contenido.
  • Código mejor estructurado, con orientación a objetos e inyección de dependencias.
  • Minor updates más frecuentes y más fáciles de realizar con Composer.
  • Sistema de traducción mejorado, robusto y extensible.
  • El equipo global de seguridad alerta de cada actualización de core y muchos módulos contribuídos.

También se puede encontrar ayuda en nuestros posts de la serie de migraciones.

Migrar a Backdrop CMS

Quizá no se conozca mucho esta alternativa. Backdrop CMS nació casi a la vez que Drupal 8, cuando un grupo de developers apostaron por la continuidad de cómo se hacía el código en D7 y decidieron proveer de una vía sencilla de actualización (que no migración) para proyectos de D7.

Aunque con menos fuerza que las versiones oficiales de Drupal, Backdrop es una alternativa actualizada y presente. Entre sus principales ventajas destacamos:

  • Similar a D7, pero con soporte para versiones actuales de PHP/MySQL.
  • Facilidad de actualización entre D7 y Backdrop CMS.
  • La mayoría de APIs / código de D7 es compatible con Backdrop CMS.

Usar algo totalmente diferente

La más complicada de las opciones, pero aun así mejor que permanecer estancado en Drupal 7 cuando ya no tenga soporte. Esta opción puede tener sentido en casos concretos, donde los developers puedan tener experiencia en otros frameworks / CMS o si alguna solución externa encaja a la perfección con la filosofía del proyecto.

No será fácil (ninguna de las tres opciones lo es), ya que cuenta con una serie de dificultades añadidas:

  • No contar con herramientas concretas para una migración fuera del ecosistema Drupal.
  • Necesidad de que los desarrolladores del equipo conozcan el nuevo framework/CMS, especialmente si no es PHP como Drupal.

Conclusiones

Embarcarse en una migración requerirá esfuerzo y tiempo, y cuanto antes se acometa mucho mejor. Drupal 7, incluso aunque se extienda su end-of-life de nuevo, tiene sus mejores días atrás.

Por ello, optar por una opción tecnológica reciente es la mejor apuesta, sobre todo antes de tener la presión añadida de la cuenta atrás ante la falta de soporte del core del proyecto.