Mi blog ahora está en Drupal 8 :), notas de la migración

Por fin hice la tarea, mi Blog ahora se encuentra en la nueva versión de Drupal y la verdad no dolió :P, fue sencillo pero claramente fue porque esto es apenas un Blog y no usaba muchos módulos contribuidos, de todo lo que leí para documentarme sobre el proceso, lo he condensado en este atículo que espero les sea de utilidad, sin mas preámbulo, acá está.

Anteriormente para actualizar a una nueva versión de Drupal se debía ser muy cuidadoso para asegurar que el proceso se ejecutaba bien para obtener los resultados esperados.

A diferencia de anteriores versiones, para actualizar a Drupal 8 no se tiene que hacer directamente sobre los archivos existentes sino que se realiza sobre una nueva instalación de Drupal 8 completamente limpia, la nueva instalación hala los contenidos y configuración del sitio a migrar, de esta forma la transferencia es muy controlada ya que no modifica los archivos fuente, no sobra decir que aún así no se recomienda hacerlo en un sitio en producción.

Actualmente para migrar a Drupal 8 desde Drupal 6 o 7 es posible, con soporte para:

Drupal 6: core + CCK + Link + Email + Phone + módulos de Imagecache

Drupal 7: Solo contenido, usuarios, taxonomía, bloques, menús, formatos de entrada (más en camino). Cómo identificar los módulos y herramientas de migración.

Cómo identificar los módulos y herramientas de migración

 

Nombre

¿Don está?

¿Que hace?

Migrate

Módulo del core en Drupal 8

Proporciona toda la capa base del API para migrar configuración y contenido a Drupal 8. La fuente de la migración puede ser un sistema completamente diferente.

Migrate Drupal

Módulo del core en Drupal 8

Proporciona las clases específicamente necesarias para migrar la configuración y contenido desde un sitio Drupal a otro sitio en Drupal 8, esto como un caso especial de migración.

Migrate Drupal UI

Módulo del core en Drupal 8 (En las versiones 8.1 o superiores), también como módulo contribuido en versiones anteriores de Drupal 8

Proporciona las herramientas necesarias para realizar una actualización desde Drupal 6 o Drupal 7 a Drupal 8 -- ambos desde una interfaz sencilla (en /upgrade) o desde el comando drush migrate-upgrade

Drupal Upgrade

Módulo contribuido

Proporciona el comando drush migrate-upgrade

Migrate Tools

Módulo contribuido

Proporciona comandos drush opcionales (migrate-status, migrate-import, migrate-rollback, migrate-stop, migrate-reset-status, migrate-messages, migrate-fields-source) y herramientas para la interfaz que permiten gestionar sus migraciones

Migrate Plus

Módulo contribuido

Proporciona APIs para agrupar las migraciones así como facilitar la manipulación de las fuentes de datos entrantes en migraciones así como códigos de ejemplo para construir migraciones personalizadas.

Migrate Manifest

Módulo contribuido

Proporciona un comando Drush para ejecutar migraciones SQL basadas en plantillas definidas en un archivo MANIFEST

Migrate UI

Módulo contribuido

Proporciona una interfaz de usuario para editar y configurar migraciones en general (no solo fuentes de Drupal)

Migrations plugins

Dentro de los módulos del core y los módulos contribuidos

Proporcionan el mapeo de los contenidos y las configuraciones  del respectivo módulo. Por ejemplo, los plugins de migración que manejan los vocabularios de las taxonomías y términos ubicados en el módulo taxonomy del core.

Requerimientos

  • Una instalación de Drupal 8 reciente con el módulo Migrate activado, este viene incorporado en el núcleo.

  • Acceso a la base de datos del sitio en Drupal 6 o 7 desde el cual quiere migrar, esta base de datos se debe poder acceder desde el servidor donde tiene su instalación en Drupal 8.

  • Acceso a los archivos fuente del sitio, si el sitio solo tiene archivos públicos estos pueden ser accedidos directamente de las URL’s, sin embargo si el sitio tiene archivos privados, se requiere tener acceso a la carpeta de los archivos.

  • El módulo contribuido Migrate Upgrade (https://www.drupal.org/project/migrate_upgrade) instalado en el sitio en Drupal 8.

  • Si planea ejecutar la migración usando Drush necesitará la versión 8 o superior en el servidor además del módulo contribuido Migrate Tools (https://www.drupal.org/project/migrate_tools)

  • Si migrará archivos privados desde Drupal 7 tendrá que configurar la ruta en file_private_path del archivos settings de Drupal 8, esto debe hacerlo antes de ejecutar la migración.

Habilite los módulos que sean necesarios

La migración no habilita ni verifica si los módulos necesarios están disponibles, esta tarea corre por cuenta suya, asegúrese de tener habilitados en drupal 8 únicamente aquellos módulos que son necesarios.

No configure el sitio en Drupal 8

Tenga en cuenta que el proceso de migración sobreescribirá la configuración en el sitio en Drupal 8, así que mejor no haga ninguna configuración en el sitio Drupal 8 hasta que el proceso de migración haya finalizado, de lo contrario la perderá.

El método de migración

Tiene dos opciones para realizar la migración

  • Usando la interfaz de Migrate Upgrade: Este es el método sencillo y puede ser hecho a través de la interfaz de usuario del sitio en Drupal 8, sin embargo este ofrece menos control sobre la migración

  • Usando Drush: Este es el método más robusto y rápido, permite una migración selectiva, pero requiere un módulo adicional y debe ser ejecutado desde la linea de comandos

Migrando con la Interfaz

Antes de iniciar asegúrese que cuenta con la más reciente versión de Drupal 8, las herramientas de migración están en constante desarrollo así que la versión más reciente le asegurará mejores características y desempeño

Habilite los móduos Migrate, Migrate Drupal y Migrate UI

Módulos migracion Drupal 8

Luego en su sitio en Drupal 8 visite la url /upgrade

Página de actualización Drupal 8

Al pulsar continuar la siguiente pantalla solicita los datos de conexión a la base de datos del sitio desde donde se va a migrar, también solicitará la URL o ubicación física donde están los archivos estáticos.

Datos de conexión a fuente de datos


Posteriormente Drupal hará un comparativo de los elementos que se pueden migrar y los que no, revise muy bien este inventario de migració ya que puede que le convenga o no continuar, en mi caso al solo tratarse de un tipo de contenido, no fue ningún problema.
 

Drupal 8 lista de módulos a migrarLista de módulos que no se encuentran para la migración

Al final la migración salió bien a nivel de contenidos aunque estoy seguro que con un sitio solo un poco mas complejo podría bastante complicado relaizarlo por este método.

Resultado de migración a Drupal 8

Conclusiónes

  • La migración por la interfaz Web es muy limitada, seguramente para el 95% de los sitios esto no sea una buena idea y la mejor opción sea realizar la migración por Drush.
  • El procedimiento fue rápido e intuitivo, realmente hubo un buen trabajo del equipo de migración en hacer esto algo entendible.

 

Fuentes:

  • https://www.drupal.org/upgrade/migrate

  • https://www.drupal.org/node/2350603