Con Drupal 9 recién publicado, ya hablamos de Drupal 10

Captura de pantalla 2020-07-29 a las 0.19.15.png
Solucionex
28
Jul 20

En la recientemente celebrada DrupalCon Global, que por primera vez ha sido completamente online, se ha hecho público ya que la próxima versión Drupal 10 se publicará en junio de 2022. Sorprende un poco que la Keynote del fundador de Drupal girara ya en torno a Drupal 10 cuando la versión 9 acaba de salir. Pero existe un motivo y es que el ciclo de versiones de Drupal se ve acelerado por las versiones de algunos de sus componentes base (como Symfony) y en esta ocasión, si bien Drupal 8 ha tenido varios años de vigencia, a Drupal 9 le quedan menos de 2 años. Por este motivo es importante empezar desde ya a pensar en Drupal 10 y de ahí el protagonismo que este tuvo en la reciente DrupalCon.

En realidad la transición del Drupal 9 al 10, al igual que ha ocurrido del 8 al 9, está previsto que sea una transición sencilla. Así que la comunidad Drupal ha decidido focalizarse para que, en el tiempo que queda hasta el lanzamiento de Drupal 10, al menos se hayan conseguido una serie de mejoras o nuevas funcionalidades que hagan que Drupal 10 sea un nuevo salto hacia adelante.

Actualmente hay bastantes "iniciativas" (que es como nombran en la comunidad a distintas funcionalidades o mejoras que se quieren aplicar). El concepto de iniciativa persigue convocar alrededor de una idea a un conjunto de miembros de la comunidad para que debatan y aporten hasta llevar dicha iniciativa a su desarrollo y finalmente su integración en el Core de Drupal. Algunas de las iniciativas en las que se trabaja pueden verse en esta página de Iniciativas estratégicas.

Como se puede observar hay bastantes iniciativas pero, para garantizar que se consiguen en el escaso plazo de 2 años, la comunidad ha decidido focalizar sus esfuerzos en conseguir estas 5 que Dries publicó en su Keynote:

  1. Drupal 10 readiness: Básicamente es tener listo Drupal 10 para que, cuando algunos de sus componentes base se actualicen, Drupal esté listo. Está previsto que cambien las versiones de Symfony, PHP, Composer, etc...
  2. An easier out-of-the-box experience: De forma muy general podríamos decir que se centrará en facilitar el manejo de los contenidos por parte de los editores con mejoras sobre Layout Builider, Media, etc...
  3. A new front-end theme (Olivero): Se quiere incluir ya en Drupal 10 una versión estable del nuevo theme de frontend de manera que el aspecto por defecto de Drupal mejore y se adapte a un diseño actual y no pensado solamente para programadores. 
  4. Automated updates for security releases: Según indicó esta ha sido la característica más solicitada en una encuesta realizada en la comunidad. Básicamente permitirá que se puedan hacer actualizaciones automáticas, al menos cuando se trate de problemas de seguridad. Esta iniciativa es interesante, pero la verdad es que da algo de vértigo. Que el Drupal se actualice solo... la verdad es que estaría genial. Ojalá se implemente bien. Será una gran ventaja a nivel de seguridad y estabilidad.
  5. An official JS menu component for React and Vue: Aquí el planteamiento que hacen es el de dar un primer paso en la dirección de hacer más modular algunos componentes base de Drupal (en este caso los menús) para que puedan ser consumidos por los modernos frontends javascript. Al final la idea es que, basándose en esta experiencia, otros componentes de Drupal siguen este mismo camino y que en un futuro Drupal esté más preparado de lo que está ya ahora para trabajar de forma desacoplada.

Desde mi punto de vista se trata de iniciativas interesantes y, si bien no supone que Drupal 10 sea algo "revolucionario", sí que van en la línea de que siga siendo el mejor CMS Software Libre del mercado para afrontar proyectos complejos.

Desde aquí animamos a cualquier persona interesada en colaborar a acceder a los canales de slack que se han creado de forma expresa para cada una de ellas en el Slack de Drupal:

  • Drupal 10 readiness: #d10readiness
  • Claro: #admin-ui
  • Olivero: #d9-theme
  • Automated updates: #autoupdates
  • JS Menu Component: #js-menu-component