Preparaci贸n del sitio para la actualizaci贸n a Drupal 8
Antes de actualizar un sitio Drupal 6 o Drupal 7 a Drupal 8, se recomienda realizar varios pasos para asegurar que el proceso sea fluido y produzca los resultados deseados.
A diferencia de actualizaciones principales anteriores del n煤cleo de Drupal, el proceso de actualizaci贸n a Drupal 8 no actualiza el sitio fuente in situ. En cambio, los objetos de configuraci贸n y contenido se transfieren desde el sitio fuente a un sitio limpio de Drupal 8. Consulta la p谩gina Actualizar de Drupal 6 o 7 a Drupal 8 para una visi贸n general del proceso y sus principales diferencias.
Aunque la actualizaci贸n no modifica el sitio fuente, se recomienda no ejecutarla en un sitio activo. Es aconsejable usar una copia de seguridad del sitio en vivo para garantizar un estado coherente de la base de datos (sin registros en la base durante la migraci贸n) y evitar impacto en el rendimiento del sitio activo.
M贸dulo de inventario del sitio fuente
Es importante comprender c贸mo est谩 construido tu sitio Drupal 6 o Drupal 7 existente antes de comenzar la actualizaci贸n a Drupal 8.
Identifica los m贸dulos principales y a帽adidos habilitados en el sitio fuente Drupal 6/7. Para ello, puedes revisar los m贸dulos listados en la p谩gina de administraci贸n de m贸dulos ("Administraci贸n" > "Construir sitio" > "M贸dulos") o usar la p谩gina de "Actualizaciones disponibles" en admin/reports/updates.
Registra la lista completa de m贸dulos habilitados en el sitio fuente y 煤sala como lista de control para planificar la actualizaci贸n. Para cada m贸dulo, responde a las siguientes preguntas:
- 驴Sigo necesitando este m贸dulo en Drupal 8?
- 驴El m贸dulo migrado est谩 incorporado en el n煤cleo de Drupal 8? Por ejemplo, Views ahora forma parte del n煤cleo de Drupal 8.
- 驴Existe una versi贸n de este m贸dulo para Drupal 8? Si no, 驴realmente lo necesito? 驴Existen otros m贸dulos que puedan proporcionar la misma funcionalidad?
- Tenga en cuenta que los m贸dulos de Drupal 6/7 no siempre mapean uno a uno con m贸dulos de Drupal 8. Por ejemplo, el m贸dulo Block en Drupal 6 y 7 fue dividido en los m贸dulos Block y Custom Block en Drupal 8.
La interfaz web de actualizaci贸n de Drupal 8 muestra qu茅 m贸dulos pueden actualizarse autom谩ticamente y cu谩les no. Consulta la Actualizaci贸n usando el navegador web para m谩s informaci贸n sobre este an谩lisis. Tambi茅n puedes probar el m贸dulo Upgrade Check, que usa un servicio externo para estimar el tiempo de actualizaci贸n.
Consulta la p谩gina de problemas conocidos
El camino de actualizaci贸n de Drupal 6/7 a Drupal 8 a煤n es experimental, y algunos m贸dulos principales pueden no tener un camino de actualizaci贸n completo. Se recomienda leer la p谩gina de Problemas conocidos antes de actualizar.
Actualiza tu sitio Drupal 6/7 para usar las 煤ltimas versiones de m贸dulos principales y a帽adidos
El proceso de actualizaci贸n asume que primero actualizar谩s tu sitio antiguo a la 煤ltima versi贸n menor. Por ejemplo, si tu sitio usa Drupal 6.35, primero debes actualizarlo a 6.38.
Si planeas migrar autom谩ticamente la configuraci贸n o contenido de m贸dulos a帽adidos, debes usar sus 煤ltimas versiones.
Usa la p谩gina de Actualizaciones Disponibles de tu sitio Drupal 6/7 en admin/reports/updates para comprobar si hay actualizaciones disponibles.
Requisitos previos para la migraci贸n de Drupal 6/7 a Drupal 8
- Una instalaci贸n nueva de Drupal 8 con los m贸dulos principales "Migrate" y "Migrate Drupal" habilitados. Si migras Drupal 8 usando la interfaz web, tambi茅n debes habilitar el m贸dulo principal "Migrate Drupal UI".
- Para todas las migraciones de traducci贸n desde el m贸dulo de internacionalizaci贸n (i18n) de Drupal 6 y 7, necesitar谩s que el m贸dulo multiling眉e Migrate Drupal (migrate_drupal_multilingual) est茅 instalado en Drupal 8.
- Acceso a la base de datos de Drupal 6 o 7 desde el host donde est谩 tu nuevo sitio Drupal 8.
- Acceso a los archivos del sitio fuente.
- Si solo usas archivos p煤blicos, estar谩n accesibles a trav茅s de la URL del sitio.
- Si necesitas migrar archivos privados, el directorio de archivos debe ser accesible directamente para el nuevo sitio Drupal 8, y debes configurar la ruta file_private_path en settings.php antes de iniciar la actualizaci贸n.
- Si migras a Drupal 8 usando Drush, tambi茅n necesitar谩s Drush 8 o 9 y tres m贸dulos adicionales.
- Las instrucciones de instalaci贸n de Drush est谩n en la p谩gina mencionada arriba.
- Instala Migrate Tools
- Instala Migrate Upgrade
- Instala Migrate Plus
- Para m谩s informaci贸n sobre estos m贸dulos, consulta la lista de m贸dulos de actualizaci贸n.
- IMPORTANTE: Presta especial atenci贸n a la compatibilidad de las versiones de los m贸dulos con la versi贸n del n煤cleo de Drupal 8 que usas. En las p谩ginas de los m贸dulos mencionados se indica claramente qu茅 versi贸n debes usar.
Habilitar los m贸dulos principales y a帽adidos necesarios en Drupal 8
El proceso de migraci贸n no instala autom谩ticamente los m贸dulos en el sitio Drupal 8 destino. Solo se ejecutar谩n las migraciones relacionadas con los m贸dulos habilitados tanto en el sitio fuente como en el destino. Por ello, primero debes habilitar todos los m贸dulos principales y a帽adidos en el sitio Drupal 8 para los que quieras migrar configuraci贸n y contenido desde el sitio fuente.
Algunos ejemplos:
- Si tienes habilitado el m贸dulo Addressfield en tu sitio fuente Drupal 7 y quieres migrar los datos de direcciones, debes habilitar el m贸dulo Address en tu sitio Drupal 8 antes de comenzar el proceso de actualizaci贸n. Este es un buen ejemplo de que los m贸dulos no siempre se corresponden 1:1 entre Drupal 7 y Drupal 8. Sin embargo, el m贸dulo Address de Drupal 8 proporciona los plugins de migraci贸n necesarios para migrar los datos del campo Address de Drupal 7.
- Si tienes habilitado el m贸dulo principal de foro de Drupal 7 en el sitio fuente, debes habilitar el m贸dulo principal de foro en tu sitio Drupal 8 antes de iniciar la actualizaci贸n.
No configures el sitio Drupal 8
Ten en cuenta que el proceso de actualizaci贸n sobrescribir谩 la configuraci贸n en el sitio Drupal 8, por lo que no realices ninguna configuraci贸n en el sitio Drupal 8 hasta que el proceso de actualizaci贸n haya finalizado. Esto significa que no necesitas crear todos los tipos de contenido y campos manualmente antes de iniciar la actualizaci贸n. El m贸dulo Migrate los crear谩 como parte del proceso de migraci贸n. De hecho, la pr谩ctica m谩s com煤n es instalar Drupal 8 usando el perfil m铆nimo de instalaci贸n, ya que el perfil est谩ndar viene con su propia configuraci贸n que probablemente no quieras usar. Esto difiere de c贸mo funcionaba Migrate en Drupal 7 y versiones anteriores, donde se ten铆a que preparar y crear todos los tipos de contenido y campos antes de ejecutar Migrate.
No crees contenido en el sitio Drupal 8
El proceso de actualizaci贸n mantiene los identificadores 煤nicos del sitio fuente. Por ejemplo, si una cuenta de usuario ten铆a el ID 煤nico 2 en el sitio fuente (es decir, estaba en la URL relativa /user/2), despu茅s de la actualizaci贸n esa misma cuenta de usuario estar谩 en /user/2 en Drupal 8. Si creas una cuenta de usuario en el sitio Drupal 8 fuera de la cuenta administrativa por defecto, se le asignar谩 el ID 2, y luego cuando ejecutes la actualizaci贸n la cuenta de usuario con ID 2 del sitio fuente sobrescribir谩 esa cuenta. Esto aplica tambi茅n a cuentas de usuario, t茅rminos de taxonom铆a, contenido de nodos y pr谩cticamente cualquier otro tipo de contenido con identificadores num茅ricos en el sitio fuente.
Para evitar p茅rdida de datos, no crees manualmente nada en el sitio Drupal 8 hasta que se haya importado todo el contenido fuente por completo.
Ejecutar la actualizaci贸n
Tienes dos opciones para realizar la migraci贸n:
- Usar la interfaz web. Esta es la forma m谩s simple, y se puede hacer a trav茅s de la interfaz del sitio Drupal 8. Sin embargo, ofrece menos control sobre la migraci贸n.
- Usar Drush. Es m谩s confiable y r谩pido, permite migraciones selectivas, pero requiere m贸dulos adicionales y se ejecuta desde la l铆nea de comandos.