Comienza un nuevo año y es buen momento para los nuevos propósitos y buenas intenciones tan propios de esta época. En mi caso, me he propuesto escribir más en este blog, así que vamos con mi primer post del año. En esta ocasión quiero aprovechar para hablar sobre las principales novedades de la recién estrenada nueva versión de Drupal, Drupal 10.
Drupal 10 se lanzó el 14 de diciembre de 2022 y, como cada nueva versión, trajo un buen puñado de nuevas funcionalidades y mejoras que voy a ir desglosando a lo largo de este post, pero antes, una reflexión: ¿por qué lanzar Drupal 10 ahora?
Drupal 8 de lanzó en noviembre de 2015 y tuvimos que esperar casi 5 años, hasta junio de 2020, para el lanzamiento de Drupal 9. Sin embargo, “solo” han pasado 2,5 años entre el lanzamiento de Drupal 9 y Drupal 10, pero podían haber sido 2 años si se hubiera cumplido la primera aproximación, ya que estaba previsto su lanzamiento para junio de 2022.
La respuesta es sencilla y se debe básicamente a que Symfony 4, en el que se basa Drupal 9, alcanza su fin de vida en noviembre de 2023. El equipo encargado de mantener el núcleo de Drupal se fijó como objetivo disponer de al menos un año de margen para la transición, por lo que Drupal 10 debía ser lanzado a finales de 2022 como ocurrió finalmente.
Además de Symfony 4, otro componente muy importante de Drupal 9 también alcanza su fin de vida en noviembre de 2023; en este caso, se trata de CKEditor 4, por lo que el motivo es doble.
Nuevas funcionalidades y mejoras de Drupal 10
Symfony 6
La primera novedad de Drupal 10, consecuencia de lo comentado anteriormente, es que se basa en Symfony 6, concretamente en Symfony 6.2. Por ese motivo, Drupal 10 requiere PHP 8.1 como mínimo, siendo totalmente compatible con PHP 8.2.
El fin de vida de Symfony 6 será en noviembre de 2027, por lo que teóricamente Drupal 10 también podría tener su fin de vida entonces. Sin embargo, esto es muy teórico, ya que es probable que Drupal 10 tenga otras dependencias que lleguen al final de su vida útil y/o que lancen nuevas versiones principales, dejando de dar soporte a las versiones principales más antiguas antes de esa fecha.
Existe una propuesta para tener ciclos de versiones mayores más predecibles con versiones de soporte a largo plazo superpuestas. Funcionaría de la siguiente manera:
- Una nueva versión mayor se lanzará aproximadamente cada 2 años
- Una versión LTS se lanzará 3 meses antes de la nueva versión mayor
- Soporte para las versiones LTS durante 2,5 años, de modo que se pueda pasar de la LTS mayor a la siguiente con un solapamiento de 6 meses
Más detalles en el siguiente enlace: https://www.drupal.org/project/drupal/issues/3238652
Nuevos temas
El nuevo tema público, Olivero, es estable y predeterminado. Este tema ya estaba presente en Drupal 9.4. El cambio real en Drupal 10 es la eliminación de Bartik.
El tema de administración Claro es estable y es el tema de administración por defecto. También estaba disponible en Drupal 9.4, por lo que, al igual que con el tema público, el cambio real en Drupal 10 es la eliminación del tema Seven.
Aunque se actualizaron parcialmente con Drupal 8, Seven y Bartik se lanzaron en 2009 con Drupal 7.
Además, se incluye el nuevo Kit de inicio para temas que cambia totalmente el paradigma de generación de temas en Drupal.
En Drupal 9.4 y anteriores, un nuevo tema personalizado se crea a partir de un tema base como Classy, Stable o Bartik, entre otros, para obtener muchas de las soluciones integradas de Drupal. En principio esto es genial porque no es necesario comenzar de cero, pero también significa que no se pueden arreglar los problemas ni mejorar los temas base porque los temas personalizados dependen de ellos en tiempo de ejecución.
La inclusión de este kit de inicio implica que se genera un fork del tema para crear un tema personalizado para el sitio. De esta forma, los desarrolladores pueden arreglar los errores y mejorar los temas sin afectar a los temas creados a partir de estos nuevos kits de inicio. Este cambio traslada la responsabilidad de la estabilidad de los temas del núcleo al tema personalizado, ya que el desarrollador del tema personalizado será el responsable de “igualar” su versión con la más reciente.
El concepto de subtemas no cambia: podemos seguir creando temas adicionales que hereden los elementos de diseño de nuestro tema principal.
CKEditor 5
Posiblemente el mayor componente front de Drupal 10 y una de las actualizaciones más esperadas y aplaudidas. Como se ha comentado antes, CKEditor 4 llegará a su fin de vida pronto, razón por la cual es necesario actualizarlo.
Se analizaron otros editores, pero se decidió mantener CKEditor porque resuelve muchos de los problemas identificados por los editores y por la buena sintonía entre el equipo de Drupal y el de CKSoure, la empresa detrás de este editor. Tiene un sistema de plugins totalmente nuevo y ha sido necesario rehacer las configuraciones existentes de la versión 4, por lo que se ha creado una herramienta de actualización. Será un módulo estable en Drupal 9.5.
Código deprecado
Además de Seven y Bartik, mencionados anteriormente, se han deprecado el resto de los temas base existentes en Drupal 9, Stable y Classy.
De la misma forma, se han deprecado varios módulos del núcleo:
- Aggregator
- QuickEdit
- HAL
- Activity Tracker
- RDF
- Forum
JavaScript
JqueryUI se encuentra presente en varios elementos de Drupal. Se trata de un proyecto descontinuado, por lo que se estaba trabajando activamente en eliminarlo. De hecho, muchos de sus componentes ya estaban eliminados en Drupal 9 y se seguía trabajando en eliminar y reemplazar los restantes. Esto resultó ser realmente difícil por la compatibilidad hacia atrás que el equipo del núcleo de Drupal se ha autoimpuesto.
Mientras tanto, jQuery UI anunció un nuevo soporte de seguridad. Así que, aunque no se ha interrumpido, no es tan urgente el reemplazo de los elementos restantes.
Existen otras novedades que, en su momento, no estaban listas para Drupal 9.4, por lo que se decidió no incluirlas en Drupal 9.5 y estarán disponibles solamente en Drupal 10. Comenzarán como módulos experimentales y se espera que puedan pasar a estables en Drupal 10.1 o 10.2.
Menús desacoplados
Se puede usar para crear un pequeño componente web para cada menú definido en el sitio.
Actualizaciones automáticas
Drupal 10 proporcionará a los desarrolladores actualizaciones seguras y sin problemas. Esta funcionalidad de actualización se añadirá al núcleo y estará disponible para los sitios basados en Composer.
Buscador de proyectos
En el momento de escribir este post se encuentra en una fase inicial de desarrollo, pero permitirá a los creadores de sitios buscar e instalar módulos desde la interfaz de administración.
Plantillas de inicio
Se trata de una versión simplificada, compuesta y repensada/modernizada de las distribuciones.
¿Cómo actualizar a Drupal 10?
Desde Drupal 9
Al estar construido sobre Drupal 9 es muy fácil actualizar desde Drupal 9 a Drupal 10. La lista de actualizaciones del sitio nos dará información sobre el estado de las actualizaciones de los módulos contribuidos. Para los módulos personalizados podemos recurrir a Drupal Rector.
Desde Drupal 8
Si dispones de un sitio que todavía está usando Drupal 8, en primer lugar, es necesario advertirte de que estás usando un software obsoleto que alcanzó el fin de su vida útil en 2021 y que es vulnerable a problemas de seguridad y rendimiento, por lo que es urgente y necesario actualizarlo lo antes posible. En segundo lugar, el proceso para realizar la actualización consiste en actualizar de Drupal 8 a Drupal 9 para finalmente realizar la actualización a Drupal 10.
Desde Drupal 7
Hay algunos sitios que aún funcionan con Drupal 7. Su fin de vida será en noviembre de 2023. Por lo tanto, la actualización de estos sitios debería convertirse ahora en una prioridad para sus gestores. Desde el lanzamiento de Drupal 8 existen varias herramientas de migración desde Drupal 7, que se han ido perfeccionando con el tiempo, lo que posibilita que el proceso de migración sea asumible, aunque no sencillo.
En Hiberus contamos con un departamento formado por 150 desarrolladores certificados en Drupal y somos miembros de la Asociación Española de Drupal. Nuestros más de 10 años de experiencia y los más de 200 portales desarrollados hasta la fecha nos avalan. ¿Necesitas un partner para actualizar tu sitio web a Drupal 10 con las mejores garantías de éxito? Contacta con nosotros y te ayudaremos.
¿Quieres más información sobre nuestros servicios de Drupal?
Contacta con nuestro equipo de Drupal