Nella fase di installazione di Moodle è stato creato un utente amministratore con il quale possiamo accedere al sito e gestirlo. Una prima questione da risolvere subito è relativa alla creazione di altri utenti, vediamo quali sono le opzioni che Moodle mette a disposizione.
Per impostazione di default la creazione degli utenti è opera dell'amministratore che dispone di diverse soluzioni, questa scelta è legata alla necessità di minimizzare le problematiche di spam che possono sorgere lasciando aperta la possibilità di registrarsi a chiunque.
Tuttavia se si volesse abilitare la modalità di registrazione è possibile farlo: innanzitutto dobbiamo effettuare il login come amministratore e cliccare su "Amministrazione del sito". A questo punto il tab di nostro interesse è "Plugin", la parte da osservare è quella relativa all'autenticazione.
Scegliamo "Gestione autenticazione", verifichiamo che il plugin relativo alla voce "Account via email" sia abilitato, andiamo sulla prima opzione di scelta con etichetta "Auto creazione account", passiamo dalla modalità "Disabilita" di "Account via email" e salviamo le modifiche.
A questo punto possiamo configurare il form scegliendo da "Amministrazione > plugin" la voce "Account via email" o le impostazioni del plugin stesso. Tramite questa pagina possiamo decidere se permettere all'utente di compilare il campo o bloccarlo per lasciare la gestione all'amministratore.
Se invece sarà l'amministratore ad occuparsi della creazione degli utenti, anche in questo caso esistono diverse possibilità: la prima è la creazione manuale mediante form dall'amministrazione. In questo caso: "Amministrazione del sito > Utenti > nuovo utente", la compilazione del form non dovrebbe creare difficoltà; l'unica avvertenza riguarda i metodi di autenticazione, gli utenti creati manualmente dall'amministratore dovranno avere come valore di metodo d'autenticazione account manuale.
Caricamento massivo utenti
Più interessante invece l'opzione legata alla creazione di account mediante upload di un file csv
. La schermata per il caricamento del file si può raggiungere tramite "Amministrazione del sito > Utenti > importa utenti", trascinare il file e importarlo. Bisognerà prestare attenzione alle dimensioni del file per non incorrere nei limiti fissati dal php.ini
Il formato del file classico è un csv, la prima riga sarà costituita dai nomi dei campi, e i valori obbligatori sono: username, password, firstname, lastname, email. Se abbiamo già creato dei corsi li possiamo associare agli utenti, mentre possiamo assegnare gli utenti a gruppi per velocizzare la gestione. In questo caso se il gruppo non è ancora presente verrà creato nel corso dell'upload.
Infine vi è la possibilità di aggiungere un certo numero di campi opzionali (institution, department, city, country, lang..).
Per fare un esempio della procedura possiamo preparare un file che chiameremo utenti.csv
:
username,firstname,lastname,email,group1
prossi,piero,rossi,rossi@example.com,test1
lverdi,luca,verdi,verdi@example.com,test1
lbianchi,luigi,bianchi,bianchi@example.com,test1
Dal pannello dell'importazione scegliamo l'opzione "Importa utenti" e selezioniamo il file. Assicuriamoci di aver il separatore di campo corretto, in genere virgola o punto e virgola, e lanciamo la procedura. Come si vede abbiamo un certo numero di righe di anteprima in base al valore scelto precedentemente, di default 10, e possiamo scegliere alcune opzioni:
- creare tutti gli utenti o solo quelli nuovi, eventualmente aggiornando i valori.
- Creare e spedire le password.
- Standardizzare gli username.
- Impostare alcuni valori di default.
A questo punto possiamo finalizzare l'operazione e poi controllare l'effettiva riuscita visitando la pagina con l'elenco degli utenti.
Importazione da database
Moodle mette a disposizione ulteriori metodi di importazione degli utenti o autenticazione degli stessi. Interessante è l'usare un database esterno, vediamo come funziona con MySQL. Come prima cosa dobbiamo accedere da amministratori alla sezione "Plugin" e abilitare il plugin database esterno. Poi passiamo alle impostazioni.
Di base dobbiamo fornire le istruzioni per la connessione alla tabella del database che ci interessa e mappare i campi sullo schema di Moodle. Quindi la prima cosa richiesta è l'host, poi il database, più che il tipo di database il metodo di accesso: se per esempio il database è MySQL sceglieremo MySQLi oppure PDO. Quindi database, user e password di accesso e tabella.
Queste le classiche informazioni per la connessione al database. Poi abbiamo la gestione del campo username e password per il quale possiamo scegliere anche il formato da usare o delegare a Moodle creazione e gestione della password. Step successivo la sincronizzazione degli utenti e cosa fare nel momento in cui non fossero più presenti nella fonte esterna, incluso la possibilità di aggiornamento dei dati per gli utenti già esistenti.
Quindi inizia la mappatura vera e propria, useremo il nome come esempio e dovremo indicare il campo della tabella del database dal quale attingere il valore, se la modifica del dato può avvenire sempre o solo al primo accesso, se il valore deve essere aggiornato e se il campo deve essere bloccato.
Terminate le operazioni di setup possiamo lanciare da linea di comando l'istruzione per l'importazione o ancora meglio schedularla in un cron job:
> php /path/to/moodle/auth/db/cli/sync_users.php
E gli utenti vengono importati.