Migración de contenido multilingüe de CSV a Drupal 8

Publicado: 2021-07-13

La migración de datos desde cualquier fuente a Drupal 8 ahora se simplifica con varios módulos que permiten una fácil transferencia de datos. La migración en Drupal es un término para cualquier proceso que mueve datos desde una fuente externa al sitio actual de Drupal. Puede migrar datos que incluyen nodos, usuarios, configuración y cualquier otro componente del sitio.

Drupal le ofrece muchas formas de migrar contenido. Dependiendo del sitio web y la fuente de los datos, puede elegir la mejor manera de hacerlo. Sin embargo, la migración de datos multilingües puede agregar algunos pasos más a su proceso de migración. Primero deberá migrar el contenido base y luego migrar las traducciones. En este artículo, profundizaremos en estos pasos para ayudarlo a comprender mejor la migración de contenido multilingüe de CSV a Drupal 8.

Importación CSV

Módulos de migración de Drupal 8 que necesitará

Como se mencionó anteriormente, Drupal ofrece toneladas de opciones y módulos que pueden ayudarlo con una migración fácil y sin complicaciones. Para migrar contenido multilingüe, necesitará:

  1. Migrar: proporciona un marco flexible para migrar contenido a Drupal desde otras fuentes.
  2. Migrate plus: proporciona complementos para migraciones como complementos de origen, complementos de proceso, complementos de destino y extensiones de API.
  3. Migrar Drupal: proporciona soporte para migrar contenido y configuraciones.
  4. Migrar CSV de origen: proporciona un complemento para importar contenido a Drupal desde un archivo CSV.
  5. Herramientas de migración : este módulo proporciona herramientas de interfaz de usuario y comandos de Drush que se utilizan para la migración.
  6. Módulo de desarrollo de configuración: este módulo convierte el script en configuraciones.

Paso 1: migrar el contenido base

Para comenzar con la migración del contenido base, primero necesitaremos crear un módulo personalizado en Drupal 8.

Crear módulo personalizado

Asegúrese de que info.yml tenga estas claves y valores.

Deberá crear archivos yaml , que se conocen como scripts de migración, y colocarlos en el directorio config / install del módulo personalizado creado. La clave config_devel / install de info.yml debe tener todos los archivos yaml escritos.

Archivo Yaml

Este es un archivo yaml de muestra para importar términos de taxonomía. El script de migración tiene 4 secciones:

  1. Metadatos: tendrán la identificación, la etiqueta y la identificación del grupo de migración.
  2. Fuente: la clave de la fuente debe tener la ruta al archivo CSV.
  3. Proceso: el mapeo entre los campos y las columnas CSV.
  4. Destino: el destino donde se guardan los datos importados.

El contenido del nodo del archivo yaml debe escribirse de manera similar. La única diferencia es el destino.

Nodo de entidad

El complemento de destino debe ser entidad: nodo y el paquete_defecto tendrá el nombre de la máquina del tipo de contenido al que se importa el contenido.

Después de crear todos los archivos yaml, los ID del yaml deben incluirse en info.yml . Una vez hecho todo, habilite el módulo personalizado.

Utilice el comando Drush drush cdi <id de migración> . Aquí, el ID de migración es migración techx . Esto convertirá el script en configuraciones.

Después de ejecutar el comando, vaya a admin> estructura> migración . Encontrará el grupo de migración que creó haciendo clic en la lista de migración. Esto le mostrará la lista de los scripts de migración creados.

Operaciones

Al hacer clic en la pestaña Ejecutar, se mostrará la lista de operaciones disponibles:

Operaciones disponibles

Importar consiste en extraer los datos de la fuente.

La reversión eliminará los datos importados.

La parada sirve para interrumpir el proceso de importación o reversión.

A veces, un proceso se atasca. Para mover el estado a inactivo, se usa Reset .

Para obtener información más detallada sobre cómo migrar los datos de diferentes entidades como el usuario, párrafo, consulte Importación CSV para migrar Drupal 7 a 8 - Una guía completa.

Paso 2: migrar las traducciones del contenido base

Si ya ha habilitado el contenido multilingüe en su sitio web Drupal 8, puede omitir el primer paso. Si desea saber cómo crear sitios web de Drupal 8 multilingües (y por qué es posible que necesite uno), consulte este artículo.

1. Agregar idioma al sitio web de Drupal

Para importar traducciones, primero debemos hacer que nuestro sitio web sea multilingüe. Veamos cómo descargar idiomas al sitio.

  1. Habilite el módulo de traducción de idioma y contenido . Estos son los módulos principales.
  2. Vaya a / admin / config / regional y language / language / add language.Agregar idioma
  3. Al hacer clic en el menú desplegable, aparece una lista de idiomas. Seleccione el idioma que desea en el sitio y haga clic en Agregar idioma . Esto descargará el idioma de su sitio.

2. Habilitación de la traducción para entidades

Una vez que tenemos instalados los idiomas que necesitamos, debemos habilitar las traducciones para las entidades antes de importar o agregar las traducciones al contenido. Para esto, vaya a admin / config / regional / content translation . Seleccione las entidades a las que desea habilitar la traducción y haga clic en Guardar configuraciones .

En este ejemplo, estoy importando el tipo de contenido del blog y, por lo tanto, habilitaré la traducción para el tipo de contenido del blog.

Idioma

3. Actualice los archivos de migración

Hay algunos cambios que deben realizarse en los archivos yaml para importar las traducciones. Proporcione la ruta del archivo CSV del contenido traducido como base, y los contenidos traducidos se almacenan en diferentes archivos. Cambios en la traducción de términos.

tid

Agregue un nuevo tid clave en la sección de proceso de la secuencia de comandos con el complemento como migración, la fuente como identificación y el valor de migración debe ser la identificación de migración de su secuencia de comandos de migración de contenido base.

Para la migración de nodos, agregue un nuevo nid de clave en la sección de proceso. Aquí, la clave de migración tendrá el valor de la identificación de migración de su secuencia de comandos de migración de contenido base.

ID de fuente

Otra clave que se debe agregar son las traducciones con el valor establecido en verdadero . Esto debe agregarse en la sección de destino de todos los scripts de migración de traducción independientemente de las entidades.

Destino

Defina el idioma al que se importa la traducción mediante la tecla langcode . En este ejemplo, estoy importando traducciones al japonés, por lo que el valor será ja .

Langcode

Estos cambios le dicen al script que tome la identificación del contenido de la migración de contenido base desde la cual estos contenidos se tratan como traducciones en lugar de como un nuevo nodo.

Puntos para recordar

  • El proceso de importación debe ir en orden. Por ejemplo, si se hace referencia a los términos en el nodo, los términos deben importarse primero antes del contenido del nodo.
  • Habilite la traducción para las entidades antes de importar las traducciones.
  • El orden de los contenidos de traducción en el archivo CSV debe ser el mismo que el del contenido base. Es decir, el contenido base y sus traducciones deben estar en la misma línea en el archivo CSV.
  • Importe el contenido base primero y luego el contenido de la traducción. De lo contrario, ambos serán tratados como contenidos individuales.