Si no ves el video, puedes refrescar el navegador, presionando (Ctrl+Shift+R | Ctrl+F5 o Shift+F5), o abrirlo directamente desde el Canal de Youtube... HAZ CLIC AQUI
Ahora que se aproxima la fecha del lanzamiento para Drupal 10, es cada vez más frecuente encontrar empresas interesadas en migrar sus proyectos, a versiones más recientes de este potente CMS.
Uno de los problemas más comúnes, con los que se encuentran muchos de los que trabajamos con Drupal, es que, apesar de que existen varios módulos desarrollados por la comunidad para estos fines, en realidad existe poca documentación en español, relacionada con el proceso que envuelve la migración de contenidos y usuarios, desde una versión a otra.
Por esta razón, he decidido crear esta pequeña guía, que te permitirá realizar una migración de usuarios y contenidos, entre varias versiones de Drupal, sin la necesidad de contar con grandes conocimientos sobre programación, gracias al uso de unos cuantos módulos, que te permitirán realizar el proceso completo, a través de la interfaz de usuario de Drupal.
Requisitos para la migración a través de la interfaz de Drupal
Para poder realizar la migración de tus contenidos y usuarios, entre varias versiones de Drupal, necesitaremos, al menos poder instalar uno de módulos, en la versión más antigua, para extraer los datos en un formato compatible, en este caso, será CSV, ya que podremos editarlo facilmente con cualquier programa de hojas de cáculo, para ajustar los cambios, antes de realizar la importación a la versión más reciente de Drupal.
Módulo Views Data Export:
Este módulo nos permitirá exportar, por medio de las vistas, cualquier listado de contenidos, taxonomias o usuiarios, en varios formatos, que podremos editar posteriormente.
El módulo es compatible con Drupal 7 y versiones posteriores de Drupal. Debemos tomar en cuenta, que el módulo Views, no se incluyó en el Núcleo de Drupal, hasta que se lanzó Drupal 8, por lo tanto, si queremos utilizarlo, tendremos que descargar e instalar Views, previamente.
Para descargar el módulo Views Data Export, haz clic aquí
Si quieres exportar tus usuarios, desde una versión Drupal 7, tendrás que descargar y habilitar primero los módulos Views y Ctools, para Drupal 7.
Para descargar el módulo Views (for Drupal 7), haz clic aquí
Paso 1 - Cómo exportar usuarios utilizando Views Data Export
Suponiendo que nuestro propósito consiste, en hacer una migración de usuarios desde Drupal 7 o Drupal 8, para importarlos posteriormente en Drupal 9 o posterios, los pasos ha seguir serán los mismos:
1.- Descargar y habilitar el módulo Views Data Export
2.- Crear una vista de usuarios, con todos los campos que hayas definido desde la pantalla de configuración de la cuenta de usuario. Al crear la vista, no selecciones ningún opción específica (Bloque o Página) y haz clic en el botón Guardar y continuar, para que puedas acceder al formato específico de Exportación de datos, una vez accedas a la pantalla de configuración de la vista (No podrás exportar la contraseña mediante este método)
3.- Una vez hayas selecciondo Añadir exportación de datos, asegúrate de configurar el formato en el que exportarás tus usuarios, en este caso, seleccionaremos CSV.
4.- Por útimo, añade una url, para poder acceder a la descarga del archivo enformato CSV.
5.- Cuando hayas guardado los cambios en la configuración de tu vista, accede a la url que haz definido, y se iniciará la descarga de tus usuarios en formato CSV.
Paso 2 - Cómo importar los usuarios en Drupal 8, 9 o superiores
Para importar los usuarios, en Drupal 8, 9 o superiores, podremos contar con un módulo que nos facilitará bastante el proceso, sin la necesidad de tener conocimientos avanzados de programación, o incluso, conocimientos avanzados de Drupal, el módulo se llama User CSV Import, y al instalarlo nos permitirá elegir varias opciones muy útiles, al momento de realizar esta importación de usuarios.
Descarga y Activación:
Para descargar y activar cualquier módulo de Drupal tienes varias opciones:
Descarga:
1.- La forma recomendada a partir de Drupal 8, es utilizando el gestor de paquetes Composer, ejecutando en tu consola el comando:
composer require drupal/user_csv_import
2.- Descargándolo manualmente el módulo desde la página oficial del User CSV Import y una vez descargado y colocado en carpeta "modules/contrib", si haz descargado todos tus módulos manualmente, deberías crear la carpeta "contrib", para que puedas diferenciar entre tus módulos personalizados y los que están disponibles directamente en la Página oficial de Drupal.
Activación:
1.- Utilizando la herramienta de consola Drush, la opción "-y" activará todos los sub-modulos automáticamente
drush en user_csv_import -y
2.- Desde la interfaz de usuario de Drupal, en la url "/admin/modules", y luego marcando el check junto al nombre de tu módulo y haciendo clic en el botón guardar que aparecer al final de la página.
Cómo utilizar el módulo User CSV Import
Al activar el módulo User CSV Import, descubriremos que se ha añadido un botón en la pantalla de administración de los usuarios, para acceder a ella, nos iremos a la url "/admin/people/import". Y si hacemos clic en el botón de importar usuarios, veremos varias opciones disponibles, que nos facilitarán en gran medida el proceso de importación y que te explicaré a continuación:
Opciones diponibles para la importación de usuarios
1.- Asignación automática de roles: En algunos casos, dentro del grupo de usuarios que estamos tratando de migrar, tendremos varios roles, que habremos configurado para otorgar ciertos permisos específicos. La primera de las opciones disponibles en el módulo, es la posibilidad de asignar el rol o roles, para los usuarios que importaremos, antes de empezar con el proceso.
2.- Signo de puntuación separador del archivo: Si por alguna razón, queremos realizar una importación masiva de usuarios, a partir de un archivo CSV, generado directamente desde un programa de hojas de cáculo (Excel, OpenOficce, Google Docs, etc), podremos seleccionar el signo de puntuación que utilizaremos, por defecto está puesta la coma (,). Pero podremos escribir el que esté dentro del documento de importación.
3.-Asignación masiva de contraseña: Al realizar la migración de los usuarios, tendremos la opción de asignar una contraseña temporal, para que todos puedan acceder y modificarla, una vez se haya realizado la importación. Esta opción podremos activarla directamente desde la opción en la interfaz del módulo, o añadiendo el valor para las contraseñas, directamente en una de las columnas del archivo CSV.
Encontrarás más información sobre esta opción, en el archivo README.md, dentro del módulo.
4.- Estado de los usuarios: Al importar los usuarios, podremos elegir el estado con el que se añadirán a nuestra base de datos, (Activo o Bloqueado), dependiendo de las necesidades para tu proyecto.
5.- Enviar notificación a los usuarios: Esta opción nos permitirá enviar una notificación a todos los usuarios, con un enlace de uso único, en el momento en que se realice la importación, para que sepan que su cuenta ha sido activada en el nuevo sitio Drupal.
6.- Importar campos personalizados: Esta es una de las opciones más útiles, ya que nos permitirá importar todos los campos que hayamos añadido, dentro de la configuración de la cuenta de usuarios. Una vez configurados, te aparecerán en este listado, para que puedas seleccionar cuál de ellos quieres importar.
Posibles fallos y correcciones
- Duplicidad de usuarios: Asegúrate de que no existen usuarios con el mismo nombre en tu Drupal de destino, antes de realizar la importación o tendrás un fallo por duplicidad de datos.
- Nombre de los campos adicionales: En el caso de que hayas añadido campos personalizados, dentro de la configuración de la cuenta de usuario, tendrás que añadir los nombre máquina de dichos campos, como cabecera de las columnas corresponidentes, para que Drupal pueda realizar el mapeo de los datos correctamente.
- Nombre/Correo electrónico: Drupal utiliza la columna Name, para extraer tanto el nombre del usuario como la contraseña, por lo que necesitarás utilizar el correo electrónico en dicha columna, o de lo contrario, no se guardará el correo electrónico en el campo correspondiente, y eso impedirá que puedas enviar las notificaciones a todos tus usuarios.
Ahora ya podrás realizar la migración de tus usuarios, de manera más sencilla, a través de la interfaz de usuario adminitrador, de Drupal, sin necesidad de invertir demasiado tiempo en el proceso.
En los siguientes artículos, te mostraré otros módulo y mecanismos para exportar, importar y migrar tus contenidos y/o usuarios, entre diferentes versiones de Drupal.