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.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.