En aquest article t'explique com he migrat molt fàcilment tots els usuaris de la meua organització que gestionem des de l'Active Directory en un projecte Drupal 10.
Per a fer la migració, farem servir el mòdul User CSV Import de Drupal, un modulet senzill però que funciona realment bé. Aquest mòdul és capaç d'importar usuaris en un projecte Drupal existent a partir d'un fitxer CSV estructurant bé els camps que tenim en el nostre projecte web per tal de que importe bé les dades en els seus camps.
Doncs bé, la meua organització informàtica té centralitzada la part dels recursos informàtics com impressores, escàners, servidors de dades i usuaris, tot en l'Active Directory. Per tant, el més "difícil" i principal serà exportar les dades dels usuaris en format CSV esborrant totes aquelles dades que no necessitem (com DNI, telèfon, correu personal, etc) i enmagatzemant nomès dues dades: nom d'usuari i correu.
Un exemple del fitxer CSV seria:
username, mail
joan, joan@xxx.com
pascualet, pascual@xxx.com
vicentet, vicentet@xxx.com
marieta, marieta@xxx.com
...
Aleshores, anem a començar. El primer que farem serà obrir el gestor d'usuaris i grups de l'Active Directory i ens posicionarem en la part de l'arbre on tenim els nostres usuaris:
A continuació seleccionarem tots els usuaris que volem importar (que són tots, en el meu cas). I exportem la llista completa en un fitxer tots.txt a l'escriptori, per exemple:
Ara obrim el fitxer tots.txt amb LibreOffice i li direm que els camps estan separats per "Otro", i veurem el fitxer perfectament estructurat en la fulla de càlcul sense barrejar camps, veient cada camp a una columna:
I com he comentat abans, ara necessitem netejar tots aquells camps que no necessitem per a la importació al nostre Drupal 10 i nomès deixarem el nom d'usuari i el correu electrònic. Són nomès aquestes dades les que anem a importar en la nostra base de dades de Drupal:
Guardem eixe document en un fitxer importació.csv amb el format que hem comentat abans, on nomès tenim el nom d'usuari i el correu electrònic de cada usuari. I amb això ja hem acabat la part més "complexa". Ara passarem a la part de Drupal.
Doncs bé, descarreguem el mòdul User CSV Import i descomprimirem el fitxer tar.gz o .zip del mòdul en /modules/contrib. I ara, des del tema d'administració de Drupal el veurem i li donarem a instal·lar:
En pocs segons estarà instal·lat, ja que es tracta d'un mòdul lleuger:
Una vegada està instal·lat, Drupal mostra una informació de que tot ha anat bé:
I ara, des de l'administració dels usuaris veurem un nou botó que diu + Import users from CSV. Doncs farem la importació dels usuaris fent clic en eixe botó:
Podem personalitzar un poc la importació i forçar a que els nous usuaris que anem a importar tinguen un o més rols que vullguem. En el meu cas li diré que té el rol "ENS Todos". Podem també dir-li una contrasenya inicial per defecte. En el meu cas, els meus usuaris es validen contra l'Active Directori amb LDAP aleshores no importa el que fique en aquest cas, però si els teus usuaris van a validar-se contra la base de dades del propi Drupal, sí és important que especifiques una contrasenya inicial.
A banda d'asignar el rol i una contrasenya incial, també és necessari especificar quins camps estem important en el projecte Drupal. En el meu cas nomès és nom d'usuari i correu, però si et fixes en la següent captura de pantalla (i com que jo tinc configurat l'autenticació d'usuaris via LDAP), el mòdul mostra més camps per si vullguerem incorporar-los al nostre projecte Drupal. En aquest cas, caldria que el fitxer .csv els tinga correctament estructurats, clar:
I bé, finalment una vegada adjuntem el fitxer .csv de l'exportació dels usuaris de l'Active Directory, s'importaran en el nostre projecte Drupal.
En el meu cas, ha costat un parell de minuts, però tot ha anat bé i ara tinc més de 1200 usuaris en un projecte web. Crec que mai havia gestionat un Drupal amb tants usuaris: