Bienvenida a otro blog con una infraestructura compleja para tener cuatro visitas. Ya era hora.
Este artículo estaba previsto que fuera una guía detallada de como usé las herramientas de migraciones de Drupal para actualizar de D7 a D9, pero, siendo sincero, fue bastante sencillo, así que me quedaré en un par de consejos. Ten en cuenta que mi último intento de escribir terminó bastante rápido, por lo que hubiera sido más rápido hacer la migración a mano. Pero como alguien que ha contribuido a la iniciativa de migrate y las migraciones de Drupal a Drupal, me daba penita que nunca lo he usado en un proyecto real.
Mi sitio origen es un D7 con el módulo blog, que fue eliminado en D8 del core. Podría haber usado el módulo contribuído enlazado, pero quería sólo un tipo de contenido "artículo" de aquí en adelante. En lugar de crear una migración personalizada, quise darle una oportunidad a Drupal Migrate UI.
A pesar de no tener una migración personalizada y tener que pensar en cómo mapeamos el contenido para migrar, algo principal a tener en cuenta: la actualización es el mejor momento para hacer limpieza.
La actualización de tu web es el mejor momento para hacer limpieza de contenidos. P.ej. borrar spam.
Así que el primer paso fue borrar spam. Usé una cuenta gratuita de Mollom (DEP, gracias por tu ayuda), pero no repensé mi estrategia para prevención de spam cuando el servicio cerró. Miles de comentarios y usuarios registrados estaban en mi base de datos, y eso estaba realentizando mis primeros intentos de migración. Parcheé Drupal 7 para que los formularios de comentarios y usuarios me permitieran borrar más entidades de una vez y aseguraran que eran todos spam modificando las consultas a la base de datos. Después grabé con Selenium IDE una automatización para borrarlos. Incluso siendo más rápido programarlo o algunas consultas SQL, a veces hay un pequeño placer en ver mi navegador hacer cosas por mí.
Después de limpiar morralla, el proceso es muy sencillo. Instalar Drupal Migrate UI y sus dependencias, seguir el procedimiento y esperar a que termine. Pero es una buena idea auditar tu contenido después de la migración, para asegurar que no has olvidado contenido o configuraciones en el proceso. Especialmente porque estas actualizaciones no permiten aún la marcha atrás (rollback) - no te preocupes si tienes migraciones personalizadas, en ese caso si está soportado.
Audita tu contenido después de la migración. Has podido dejarte algo atrás.
En mi caso, tuve que reiniciar porque mi contenido multiidioma no estaba migrado. Rápidamente descubrí que las configuraciones de multilenguaje deben hacerse antes de la migración de tu contenido. Instala los módulos relacionados si ese es tu caso, y revisa tu estrategia de traducción y sus configuraciones antes de migrar, por ejemplo, tus tipos de contenidos y taxonomías.
Si tienes contenido multiidioma, revisa tu estrategia y configuraciones acordemente antes de la migración.
En mi caso, tenía etiquetas en castellano e inglés, que no estaban relacionadas entre sí a pesar de ser el mismo término en el sitio de origen. A partir de ahora, gracias en parte al mejor soporte desde Drupal 8 para sitios con diversos idiomas, quería cambiar eso. Hice esas relaciones manualmente, y aquí estamos.
He elegido el nuevo tema experimental Olivero y el nuevo tema experimental de administración Claro porque son bonitos, más accesibles y funcionales, pero también porque probarlos es una gran forma de ayudar a que mejoren.
Dejo para otro momento mi elección de módulos contribuidos para la web, alguna incidencia que tuve que solventar con un pequeño módulo custom, y la configuración de mi infraestructura basada en contenedores de Docker. Prometo que lo contaré antes de que pasen otros tantos años.