Exact, car le lien suppose un petit transcodage à la volée des "id" de modules dans le code de chaque module de Moodle.
Sinon, à part ça : you wanted it, you get it !! Telle commence à être ma devise sur Moodle !!
Bonne nouvelle pour ceux qui souhaitent pouvoir déplacer n'importe quelle activité d'un cours à un autre : c'est dans le tuyau et en (très) bonne voie.
Par contre, celà modifie les fichiers de l'ensemble "course". La modif prévoit :
- gérer deux capacités nouvelles course:exportmodule et course:importmodule. Pour pouvoir déplacer une activité, il faut avoir les deux capacités (exportmodule pour le cours de départ, et importmodule pour le cours d'arrivée. (si ça choque quelqu'un je change, ya pas problem !!)
- Evidemment, lorsqu'on déplace une activité, on ne peut la déplacer QUE dans des cours où on a une fonction d'éditeur (compatible 1.8).
- le déplacement se fait au niveau du module de cours, l'activité reste intacte. C'est son enregistrement en tant que module qui change.
- les ressources physiques liées à cette activité se déplacent. Attention : il s'agit des ressources et fichiers "dûment" stockées dans le répertoire <moodledata>/<courseid>/moddata/<modulename>/<modinstance> comme tout module "normé" Moodle devrait utiliser.
- Pour les ressources contenant du texte rédigé (HTML, texte, wiki), reste le problème des liens sur des ressources intégrées ou images insérées. A priori, les images stockées dans un répertoire "images" ne se déplacent pas, sauf si vous avez pris le soin de les mettre dans un répertoire qui répond à la "norme" ci-dessus. Mais je ne prévois pas encore le recodage des URL à l'intérieur du rédactionnel. (problème à régler, probablement).
- Si il existe des modules exotiques, je prévois la détection d'une fonction (c'est très Moodle, ça
) de "callback" dans le module (on augmente donc l'API standard d'un module d'une fonction <modulename>_change_course($modid, $destcourseid). Cette fonction ne prend le dessus sur le transport "standard" des ressources physiques éventuelles QUE si elle existe. Elle doit se débrouiller à tranporter et modifier tout ce qui est nécessaire à la place de l'opération "standard".
- Au moment du choix du cours destinataire, on peut choisir d'être redirigé vers le nouveau cours.
- Les activités sont ajoutées au bloc d'en-tête du nouveau cours. Il doit être possible de donner le choix de les y coller à la fin.
- Cette modif n'est probablement pas extensible pour envisager simplement une "copie" complète d'une ressource (clonage), mais d'ici que je puisse mobiliser une petite équipe d'étudiants...
Discussion : les activités déplacées doivent elles être visibles ou non ?
Profitez-en que je sois sur ce problème pour toute suggestion.
Tant que j'y suis, comme je suis une buse en graphisme et icones et companie, si quelqu'un a de l'inspiration pour une icone "changer l'activité de cours"... j'achète.