Bonjour à tous,
Ce post fait suite à la table ronde du moodle moot 2012 à Nîmes.
Vous trouverez en pièce jointe les webservices développés pour la migration 1.9 à 2.2.3 à Lille 1. Pour les utiliser, vous devrez dézipper le fichier dans le répertoire local de votre instance moodle. J'y ai ajouter le client que nous allons utiliser pour les interroger.
Voici le détail du déroulement :
- création d'un tableur listant les cours avec leur catégorie et les enseignants (requête SQL exporter au format CSV)
- sauvegarde automatique des cours de la plateforme 1.9 au format zip via la fonction de sauvegarde avec les données du cours, les fichiers du cours.
- nettoyage de ce tableur pour conserver seulement les cours à migrer.
- A partir du client ws, on parse ce tableur et pour chaque cours, on vérifie que la sauvegarde existe (fichier zip). Si oui, on appelle la fonction de création de cours pour créer un cours (vide) dans la nouvelle version et on appelle la fonction de restauration avec le nom de la sauvegarde et l'identifiant du cours créé. Enfin, pour chaque enseignant de l'ancien cours, on créé le nouvelle utilisateur (s'il n'existe pas déjà) dans la nouvelle version à partir des données de l'ancienne version et on le rattache en tant qu'enseignant au nouveau cours.
Attention, pour créer un cours, il faut une catégorie de rattachement. Vous pouvez alors soit appeler la fonction de création de catégorie via le ws avec les données extraites, soit créer vous-même les catégories dans la nouvelle version et préciser dans le tableur pour chaque cours sa catégorie de rattachement sinon poar défaut le cours créer sera dans la cat 1.
Je vous renvoie à la doc sur les webservice pour les activer, créer les token etc. mais reste à votre disposition pour tout aide souhaitée.
Concernant les groupes/groupements/glossaires, la migration se fera directement export/import car les tables sont similaires. Le client ws créé un fichier de correspondance des cours migrés : ancien id - nouvel id (la je suis preneur d'une procédure)
Je suis preneur de toutes corrections, idées, retour d'expérience etc...
Bonne journée et bonne continuation à tous
Nicolas
PS : désolé pour les fautes d'orthographes