Assistance pédagogique

Désinscrire un paquet d'étudiants

 
Avatar Gerald GEORGES
Re: Désinscrire un paquet d'étudiants
 

Une possibilité est de détourner de l'importation des utilisateurs au format CSV, mais je ne l'ai pas testée, car j'ai la version 3.4 et pas 3.3, donc c'est du virtuel, mais cela peut donner les débuts d'une piste, à essayer sur un système de développement...

 

Dans Moodle, commencer par supprimer une personne à la limite supérieure de la date que l'on souhaite supprimer, ceci pour avoir une référence de la valeur "timecreated".

 

Demander au gestionnaire de la base de données de faire une exportation de la table "_user" depuis phpMyAdmin au format "CSV pour MS Excel" avec l'option "Afficher les noms de colonnes en première ligne"

 export depuis phpMyAdmin

Faire une copie du fichier généré, puis l'ouvrir avec Excel ou Libre Office ou un autre applicatif qui permet le tri par colonne...

 

Une colonne porte l'entête "deleted" et vers la fin une autre "timecreated".

 fichier CSV

Repérer la personne que l'on a supprimée précédemment, et sélectionner avec la colonne "timecreated" toutes les lignes ayant une valeur supérieure à cette personne, et les supprimer, pour ne pas créer de problèmes lors que l'on va importer le fichier des personnes avec "deleted".

Contrôler par sondage entre le fichier et Moodle si les utilisateurs qui restent sont bien ceux que l'on veut supprimer.

Si c'est bon, introduire dans la colonne "deleted" sur chaque ligne la valeur 1, sauvegarder le fichier au format CSV (en principe la sauvegarde suffit, n'ayant pas changé l'extension du fichier).

 

Dans Moodle aller dans  Tableau de bord > Administration du site > Utilisateurs  >  Comptes  >  Importation d'utilisateurs, importer votre fichier que vous venez de créer et dans les paramètres choisir pour "Mode de Création : Modifier les utilisateurs existants seulement" et dans "Détails de l'utilisateur existant : remplacer avec le fichier".

importation dans Moodle

En principe, après cette importation, le marquage 1 à "deleted" devrait être actif, et les utilisateurs marqués effacés tout en restant dans la base de données.

 

Il devrait être possible par une requête SQL de supprimer les enregistrements ayant la valeur 1 dans le champ "deleted", mais avec l'interaction entre les différentes tables, je ne sais pas si cela ne mettrait pas le bazar dans la base de données qu'une table référente soit effacée, à essayer sur une base de développement, à vos risques est périls...

 

Voilà l'expression de mes élucubrations...

 

 


 
Moyenne des évaluations  -