Bonjour à tous,
J'ai écrit un petit filtre Moodle qui fait à peu près la même chose que le filtre multimédia, pour les url d'un serveur de type pod.univ-lille1.fr. J'en ai fait la présentation avec Nicolas Can au MoodleMoot2015, d'ailleurs.
Mais bref, je coince sur un point désagréable : les paramètres locaux aux contexts !
Tout d'abord, j'ai lu la doc sur les filtres avant de créer cette discussion :
https://docs.moodle.org/dev/Filters
En particulier :
https://docs.moodle.org/dev/Filters#Local_configuration
et
https://docs.moodle.org/dev/Filter_enable/disable_by_context#Make_possible_per-filter_settings_page_in_each_context
J'ai un fichier filterlocalsettings.php avec tout ce qu'il faut dedans à priori.
Ils parlent de filterlocal.php dans le second lien mais ça semble être une erreur ou alors j'ai raté quelque chose. De plus, toujours dans cette seconde page, ils parlent d'options spécifiques par context du filtre glossaire, hors je ne les ai pas vues pour ce filtre !
En fait, ça marche "presque" sur mon filtre, (voir l'image attachée), c'est à dire que :
- j'ai bien des options au niveau global de Moodle, que seul l'administrateur peut changer.
- j'ai bien des options au niveau de l'activité dans laquelle se trouve une url à filtrer (souvent une étiquette).
Dans les deux cas, je parviens à récupérer les valeurs :
- $CFG->filter_podlille1_url renvoie la valeur globale
- $this->localconfig['url'] renvoie bien la valeur locale à l'activité.
Donc tout va bien ?
"Presque !"
Car un filtre peut s'activer à trois endroits !
1) au niveau global
2) au niveau du cours
3 au niveau de l'activité
Or je ne récupère la config qu'aux niveaux 1) et 3) et pas au niveau 2).
Il y a bien le formulaire d'options au niveau du cours, mais je ne connais pas le moyen de récupérer ces valeurs, ni même où elles sont stockées (elles ne sont pas dans $CFG) !
C'est ballot car c'est justement ce qui serait le plus pratique : permettre à un enseignant d'activer le filtre au niveau du cours, y mettre ses paramètres (l'url du serveur POD mais aussi la largeur des vidéos adaptées à son cours, par exemple), et ne plus s'en soucier pour toutes ses activités.
Je n'ai pas trouvé de filtres fournis avec Moodle qui propose d'options par contexte.
Avez-vous une piste à me donner pour récupérer les options au niveau du cours ?
Ou bien à la limite un filtre qui le ferait et dont je pourrais m'inspirer ?
Merci d'avance.