Bonjour,
Est-il facile d'exporter l'ensemble des cohortes avec leurs étudiants d'un Moodle 2.7 afin de les importer dans un nouveau Moodle 3.2?
Si oui, l'importation recréera-t-elle automatiquement les cohortes?
Merci.
Bonjour Daniel,
D'après la discussion Exporter Cohortes? du 16 avril 2014 (un peu avant la sortie de la version 2.7 en mai 2014), exporter des cohortes avec ses utilisateurs inscrits ne semble pas simple. Et quand on télécharge le fichier donnant la liste des utilisateurs, on n'obtient pas la colonne indiquant la cohorte à laquelle appartiendrait chaque utilisateur.
Christian
Merci Christian,
Voilà pourtant une fonctionnalité basique qui serait très utile: L'exportation de groupes de site complets.
Tant pis on va tout recréer manuellement...
Bonjour Daniel,
Pour régler ce problème il faut avoir le nom de la cohorte dans le compte d’utilisateur.
Quand je
crée les utilisateurs a l’aide du fichier CSV, j’écris toujours la même chose
dans deux champs : cohort1 et department.
On peut aussi créer le champ supplémentaire.
Alexandre
Merci Alexandre,
Quand je consulte les nombreux messages de personnes ayant des difficultés avec les fichiers csv, je suis incité à chercher d'autres solutions plus simples.
Pour importer/exporter des utilisateurs je préfère faire carrément des sauvegardes/restaurations de cours.
J'espérais qu'au mieux, il existe un plugin permettant de faire une sorte de sauvegarde/restauration.
Merci tout de même
Bonjour Alexandre,
Nous faisons de même sur notre site en production en début d'année scolaire en utilisant le champ city. Comme il n'y a pas d'intérêt à connaître la ville de l'élève ou du professeur, le champ city est utilisé pour indiquer la classe en abrégé (TS1, TES1, ...) si c'est un élève, la discipline enseignée si c'est un professeur. Les noms abrégés des cohortes (qui correspondent aux classes) sont identiques aux noms abrégés des classes.
Christian
Astucieux Christian !
Je vote utile.
Mais est-il possible alors de créer ensuite un export csv basé sur ce champ City (renommé cohorte éventuellement) sans avoir à passer par des procédures complexes ?
On peut créer un export .csv (séparé par des virgules) avec la page "Actions en lots sur les utilisateurs" (Administration du site / ► Utilisateurs / ► Comptes / ► Actions en lots sur les utilisateurs). Le fichier contiendra les champs : id,username,email,firstname,lastname,idnumber,institution,department,phone1,phone2,city,url,icq,skype,aim,yahoo,msn,country
On peut ensuite pour obtenir un fichier .csv à importer, soit simplement remplacer city par cohort1, ou avec un tableur dupliquer la colonne K, remplacer city par cohort1, et supprimer toutes les colonnes inutiles.
Christian
Bonjour,
Il y a également la possibilité de passer par une requête SQL, soit en passant par phpMyAdmin, soit avec le plugin Moodle Adminer
Pour la requête de base, elle est ici :
https://docs.moodle.org/31/en/ad-hoc_contributed_reports#Cohorts_by_user
a adapter selon les besoins, voici la requête de base
SELECT u.firstname, u.lastname, h.idnumber, h.nameIl suffit ensuite de choisir les éléments voulus dans la table mdl_user (u.xxxxx) et mdl_cohorts (h.xxxx) pour personnaliser.
FROM mdl_cohort AS h
JOIN mdl_cohort_members AS hm ON h.id = hm.cohortid
JOIN mdl_user AS u ON hm.userid = u.id
ORDER BY u.firstname
A noter qu'une fois la requête adaptée et excutée, MoodleAdminer permet un export direct au format csv
Merci Christian,
Je connais cette procédure, mais je pensais qu'il existait une option permettant d'exporter (donc de reconstituer) d'un coup sur une nouvelle plateforme les cohortes et leur contenu en se basant sur le nouveau champ modifié. J'ai vu hier que dans les exports csv c'est toujours global...
Merci Bruno,
Mais je n'irai pas, après avoir lancé la requête, jusqu'à prendre le risque de bidouiller dans les tables. Je crains trop de casser notre belle machine.
Dans les ateliers de mécanique où j'ai pu travailler des affiches indiquaient clairement qu'il ne fallait jamais mettre la main sur un mécanisme inconnu.
Je vais reconstituer manuellement les nombreuses cohortes et leur contenu.
Bonjour Daniel,
Je crois que tu n'as pas bien lu (et / ou compris) le message de Bruno : en effet, la requête qu'il propose permet de sélectionner (requête commençant par "SELECT") des éléments dans la base interne de Moodle. Cette opération est une opération en lecture seule, donc sans aucun risque !
La requête indiquée permet de générer très facilement un fichier CSV. Fichier que tu auras tout loisir de vérifier, avant de le donner éventuellement à traiter à Moodle (sans bidouiller dans la base de données).
Séverin
Exact, pour reprendre l'exemple de Christian avec l'identifiant (username) , la requête :
SELECT u.firstname, u.lastname, h.idnumber, h.namesélectionne le prénom (u.firstname) nom (u.lastname) l'id de la cohorte (h.idnumber) le nom de la cohorte (h.name)
FROM mdl_cohort AS h
JOIN mdl_cohort_members AS hm ON h.id = hm.cohortid
JOIN mdl_user AS u ON hm.userid = u.id
ORDER BY u.firstname
exemple de résultat :
etu01 | ; moodle01 | ; cohortTest1 | ; cohorte-test-1 |
etu02 | ; moodle02 | ; cohortTest1 | ; cohorte-test-1 |
si l'on ajoute l'identifiant (u.username) dans la première ligne, cela donne pour la requête
SELECT u.username, u.firstname, u.lastname, h.idnumber, h.nameet comme résultat
.........
etudiant01 | ; etu01 | ; moodle01 | ; cohortTest1 | ; cohorte-test-1 |
etudiant02 | ; etu02 | ; moodle02 | ; cohortTest1 | ; cohorte-test-1 |
Merci Bruno,
Et on peut ajouter à la première ligne : u.username
Christian