Problemi con importazione utenti con foglio .csv

Problemi con importazione utenti con foglio .csv

di cosimo schiri -
Numero di risposte: 16

Buongiorno, vorrei semplicemente creare l'account a piu studenti utilizzando un foglio.csv

Nonostante inserisco (penso) correttamente tutti i campi richiesti, quando vado per caricare compare questo messaggio

Non ci sono abbastanza colonne, per favore controlla i delimitatori di campo.

Queste sono le colonne

password firstname lastname email course1 course2

Solo nelle ultime due colonne non ho inserito niente.

La versione di Moodle è la 3.xxxx

Per facilitare l'inserimento ho utilizzato excel e poi convertitoil file in .csv con virgole

Grazie per chi mi potrà dare qualche indicazione

Media dei voti:  -
In riposta a cosimo schiri

Ri: Problemi con importazione utenti con foglio .csv

di Grazia Cesarini -

Questo foglio che allego l'ho usato lo scorso a.s. con la 3.7.2 e funzionava. I campi che non servono puoi toglierli come ad esempio i gruppi globali (cohort1, cohort2,,,). Dopo averci caricato i dari controlla sempre con notepad o simili per vedere che non ci siano righe vuote.

Ciao

Grazia

In riposta a Grazia Cesarini

Ri: Problemi con importazione utenti con foglio .csv

di cosimo schiri -
Ciao Grazia, prima di tutto GRAZIE😉

Ho visto che sul tuo foglio la colonna dell'Email viene indicata prima di quello che avevo io, pensavo fosse questo il problema ma, niente da fare, compare sempre lo stesso messaggio: Non ci sono abbastanza colonne, per favore controlla i delimitatori di campo.

Eppure, non dovrebbe essere difficile, seguo alla lettera tutta la procedura forse sarà un problema di conversione in file CSV?

Ho aperto il file anche con notepad eccolo qui:
username,password,email,firstname,lastname,city,country
mario.rossi,password,mr@gmail.com,mario,rossi,Roma,IT
Grazie.
Cosimo
In riposta a cosimo schiri

Ri: Problemi con importazione utenti con foglio .csv

di Grazia Cesarini -
Il separatore è il punto e virgola non la virgola. Questo è il foglio che ti ho mandato aperto con notepad o simili:
username;password;email;firstname;lastname;idnumber;institution;department;phone1;phone2;city;url;icq;skype;aim;yahoo;msn;country;cohort1
xxxxxxxx;xxxxxxxx;xxxxxxxx@xxxxxxxx;Mario;Rossi;;xxxxxxxx;xxxxxxxx;;;PG;;;;;;;IT;xxxxxxxx

Grazia
In riposta a Grazia Cesarini

Ri: Problemi con importazione utenti con foglio .csv

di Matteo Scaramuccia -
Ciao a Tutti,
XLS usa ; come separatore normalmente quando salva in "CSV" ma il "vero CSV" (Comma-Separated Values) usa , quindi fate attenzione allo strumento con cui genererete il file CSV ed alla possibilità di configurare correttamente il separatore per il file che state per caricare.
 
In riposta a Matteo Scaramuccia

Ri: Problemi con importazione utenti con foglio .csv

di Gerardo Fallani -
Grazie a tutti per questa discussione. 
Con un CSV sono riuscito a registrare un utente (non ad iscriverlo perché l'istanza di Moodle è attualmente senza corsi).

Tuttavia, ho un problema che permane e se ne può intuire la natura: per iscrivere un utente (uno solo e ogni tanto - l'istanza è in realtà un'area di test per alcune attività didattiche) sarebbe normale ricorrere all'iscrizione manuale. Qui però ho un errore che non riesco a comprendere.
L'ho già segnalato e non lo ripeto qui nei dettagli, anche per motivi diciamo "ecologici". Dirò soltanto che l'errore ha iniziato a manifestarsi dall'aggiornamento (peraltro andato bene, senza il minimo intoppo) alla versione 3.9 (e poi anche 3.9.1).
Viene fuori questo messaggio...

... il cui rimando è a questa pagina: https://docs.moodle.org/39/it/error/moodle/dmlreadexception
La spiegazione più dettagliata del problema è qui: https://moodle.org/mod/forum/discuss.php?d=408218#p1647667


In riposta a Gerardo Fallani

Ri: Problemi con importazione utenti con foglio .csv

di Matteo Scaramuccia -

Ciao Gerardo,
quando Moodle ti comunica un errore che non riesci a comprendere, attiva la modalità di debug a livello SVILUPPATORE in Amministrazione del sito > Sviluppo > Debugging (/admin/settings.php?section=debugging) e riprova la stessa azione: ti verranno riportati i dettagli della problematica che il codice di Moodle incontra, da cui spesso si riesce a risalire alla natura del vero problema che scatena quell'errore.
Nota: una volta tracciato il problema, è meglio riportare quella impostazione al valore NESSUNO.

Rif.: https://docs.moodle.org/39/en/Debugging#Enabling_debugging .

HTH,
Matteo

In riposta a Matteo Scaramuccia

Ri: Problemi con importazione utenti con foglio .csv

di Gerardo Fallani -

eccolo qui, sembra proprio sulla prima riga (dello screen allegato).

COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'utf8'

ma era proprio durante l'upgrade alla 3.9 che mi veniva chiesto di mettere utf8mb4_bin?

ho fatto qualche prova, rimettendo utf8_bin, utf8mb4_unicode_ci (lo suggeriva il phpMyAdmin) ecc.?

la cosa curiosa è che mi dà sempre lo stesso identico errore, nonostante quell'"utf8mb4_bin" sia stato cambiato in più modi (ok, mettendo utf8_unicode_ci veniva fuori un manicomio di errori).

forse andare a casaccio sul DB non è il massimo della vita...

any help?

grazie

Allegato Schermata 2020-09-03 alle 02.15.13.png
In riposta a Gerardo Fallani

Ri: Problemi con importazione utenti con foglio .csv

di Matteo Scaramuccia -

Ciao Gerardo,

COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'utf8'
ma era proprio durante l'upgrade alla 3.9 che mi veniva chiesto di mettere utf8mb4_bin?

mi sembrava un argomento già trattato nella Comunity Italiana tempo fa: chi usa Moodle su MySQL o MariaDB dovrebbe aggiornare il Charset a utf8mb4 perché è un superset di utf8 con la disponibilità di molti più caratteri tra cui la famigerata lista infinita di emoij.
Modificando il Charset deve essere poi modificata di conseguenza la Collation, sempre basata sul charset utf8mb4.

Non so come tu abbia fatto l'aggiornamento richiesto ma hai dimenticato di aggiornare probabilmente Charset e/o Collation di qualche tabella per esempio il Charset di mdlnk_user è rimasto utf8 - e probabilmente nel file config.php hai invece indicato già utf8mb4 - di conseguenza durante la validazione della mail, che viene fatta forzando una collation di tipo binario per garantirla univoca in tutta l'istanza Moodle, ottieni quell'errore.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Ri: Problemi con importazione utenti con foglio .csv

di Gerardo Fallani -
Cavolo sorridente
Ho continuato a smanettare e alla fine ho (in realtà ho creduto di avere) anche risolto.
Non senza strane peripezie...

Nel dubbio (forse tutto mio...) che phpMyAdmin non scrivesse su config.php sono andato a controllare. Qui, mooolto curiosamente, mi sono ritrovato (riga 18) utf8mb4_unicode_ci, ovvero il primo character set che avevo provato a sostituire. Solo che in quel momento da phpMyAdmin avevo impostato utf8_bin. Morale (provvisoria) in qualche momento phpMyAdmin ha pur scritto sul file, ma ora non lo stava facendo.
Di conseguenza... l'ho fatto io sorridente
Sono dunque intervenuto manualmente sulla riga 18 del config.php e dove c'era 'dbcollation' => 'utf8mb4_unicode_ci', ho corretto in 'dbcollation' => 'utf8_bin'.
A questo punto tutto funzionava e allora ho pensato bene di fare la stessa cosa sulle altre due istanze (https://ital2.org/m, https://ital2.org/s).

Precisazione: nelle varie prove che ho fatto, sotto Codifica caratteri ho sempre spuntato entrambe, solo la prima o nessuna delle due opzioni sottostanti: Cambia tutte le collazioni delle tabelle / Cambia tutte le collazioni dei campi delle tabelle.

Certo, ora leggendo Matteo mi viene da pensare: niente di strano, che funzioni, ma ci hai perso i molti caratteri in più e tutte le emoji...

Rifarei anche altre prove (appena riavrò un po' di tempo) da phpMyAdmin, ma allora non mi è chiaro che cosa dovrei fare, di preciso, ovvero al di là di provare tutte le combinazioni (la prima, entrambe o nessuna tra Cambia tutte le collazioni delle tabelle e Cambia tutte le collazioni dei campi delle tabelle).
Per inciso, ricordo che quando feci l'upgrade alla 3.9 misi la spunta a entrambe queste opzioni.
Forse che la Collation va cambiata da un'altra parte?
Peccato non poter continuare ora...

PS. In effetti io credevo di cambiare la Collation ma intervenivo su Codifica caratteri:


In riposta a Matteo Scaramuccia

Ri: Problemi con importazione utenti con foglio .csv

di cosimo schiri -

Grazie Matteo, ora è tutto molto più chiaro, una domanda, esiste un comando per far si che all'utente venga richiesto di modificare la password?

Nella creazione manuale basta flaggare questa voce, in un foglio CSV come si procede?

Grazie e buona giornata a tutti

Cosimo

In riposta a cosimo schiri

Ri: Problemi con importazione utenti con foglio .csv

di Matteo Scaramuccia -

Ciao Cosimo,

esiste un comando per far si che all'utente venga richiesto di modificare la password?

certamente, basta leggerlo nella documentazione grande sorriso:

HTH,
Matteo

In riposta a Matteo Scaramuccia

Ri: Problemi con importazione utenti con foglio .csv

di cosimo schiri -

Matteo, porta pazienza, nonostante ho tradotto la pagina non sono riusito a capire come impostare per far si che a l'utente venga richiesto di cambiare forzatamente la password😲

Dimmi un pò basta che nel campo Password, apposto di scrivere io una password digiti: changeme?

Approfitto per chiedere anche la sequenzialità delle colonne con le varie intestazioni ha una sua importanza?

username,password,email,firstname,lastname,city,country

Ringrazio anticipatamente chi mi può aiutare.

Buona giornata

Cosimo

In riposta a cosimo schiri

Ri: Problemi con importazione utenti con foglio .csv

di Matteo Scaramuccia -

Ciao Cosimo,

Dimmi un pò basta che nel campo Password, apposto di scrivere io una password digiti: changeme?

Si, se il valore della password di un utente è "changeme" l'utente sarà invitato a modificarla a seguito di una login con successo: setta il campo come obbligatorio e popolalo con quel valore per tutti gli utenti che crei e che vuoi si cambino la password.

Approfitto per chiedere anche la sequenzialità delle colonne con le varie intestazioni ha una sua importanza?

No, in un file CSV che si rispetti è il nome della colonna che ha importanza e non la sua posizione ovvero l'intera sequenza dei nomi colonne: anche Moodle implementa questa politica di dipendenza dal solo nome della colonna e non dalla posizione prefissata quindi puoi mettere le colonne nell'ordine che meglio ti conviene - nulla vieta però di seguire l'ordine indicato nella documentazione ammiccante.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Ri: Problemi con importazione utenti con foglio .csv

di cosimo schiri -
Perfetto Matteo ti ringrazio molto.
Quando dici "setta il campo come obbligatorio e popolalo con quel valore " intendi die che basta che io digiti nel campo Password "changeme" ho capito bene?
Buon pomeriggio.
Cosimo