Příspěvky uživatele Valery Fremaux

Dans le même ordre d'idées, voici également le pack pour une solution de menus déroulants YUI (Ajax) développée pour Bibo (Hubert Zerbib) et que j'utilise sur http://www.ethnoinformatique.fr (voir à l'intérieur d'un cours).

Mais cette solution réutilise l'organisation en catégories de Moodle, sans créer une alternative de rangement.

La duplication de cours est vraisemblablement lourde et dangereuse. La synchronisation risque de devenir un "pensum" pour l'enseignant.

Une solution peu "académique", mais probablement très pragmatique serait de créer une simple page supplémentaire, ou plusieurs selon les modes d'accès, et de se forger "à la main" des catalogues de liens organisés de façon adéquate. Il est évident qu'une telle pratique ne peut être qu'une solution très locale car elle n'est pas très dynamique. Si on ajoute un cours, il faudra probablement réviser cette page. Mais c'est un moyen de sortir du système de catégories de Moodle, qui, comme tout logiciel d'organisation de quelque chose, ne peut proposer qu'un seul arbre de rangement principal.  

Pour une réalisation pratique de ces pages, il suffit que ce soit des pages PHP qui reprennent au minimum :

<?php

include "<path_to_config>/config.php";

require_login(); // si elles doivent être privées

print_header(...) // capté dans un des nombreux fichiers de module.

...

?>

Le reste peut être des pures organisations de liens (en HTML) récupérées des listes de cours. C'est statique mais permet de proposer plusieurs accès distincts aux mêmes entrées de cours, pourvu que les cours ne changent pas tout le temps. Ceci n'empêche évidemment pas de choisir une stratégie d'organisation principale des catégories Moodle qui ait un "sens".

I fear we have all a local and context dependent ethnomethod to get rid of the rigidity implied in old deprecated get_course_students(...). These methods still are very usefull user status queries that are involved in many module scenarii.

I suggest H.Q. and core designers rehabilitate such functions, letting have the restricted meaning they will have. My question about moodle/legacy:student role wasn't so ingenuous : could'nt we status that this capability could map any role with student-like responsibilities to any custom role ? So could get_course_student be implemented a very simple way : checking availability of moodle/legacy:student in this course context and retreiving all users will have such condition verified. We could ensure ascendent portability of major code sections without bothering with such upgrades to follow.

NB : such a solution for all legacy roles, indeed !

Bouton, un créneau : c'est pour ma pomme. J'ai fait une khonnerie.

Côté étudiant : plus sévère, encore une grosse portion d'ancien code à revoir à cause des créenaux multiples. M'en occupe ASAP. student.php à réécrire probablement de fond en comble. No problem. Better view, better code ! 

Je vous laisse en pâture la dernière mouture abondament testée de mon côté. (mais il ne faut jamais dire jamais...).

Base de données identique (donc version inchangée).

Ce qui change :

  • possibilité de révoquer un rendez-vous, chose promise chose due (pas encore fait le mail, argh!!).
  • amélioration importante de la navigation : on reste de manière stable dans "mes rendez-vous" ou "tous les rendez-vous" (persistance de la page courante).
  • vérification et stabilisation du moteur de conflits.
  • j'ai remis le bouton "Ajouter cet utilisateur" mais en changeant le label. Ce bouton n'apparaît QUE dans le cas de l'édition d'un créneau où on veut rajouter une personne au rendez-vous pour un rendez-vous de groupe (quelqu'un qu'on aurait oublié, ou lorsqu'on programme un rendez-vous de groupe soi-même).
  • Vérification des signaux sur l'écran de l'étudiant. Les signaux sont maintenant pertinents.
  • Finition des fichiers de langue anglais et espagnol (je suis multilingue anglais, espagnol, français, PHP, Java, Javascript, CSS, Perl, mais l'allemand, vous vous démerdez avec !! clin d’oeil).
  • Amélioration du formulaire de contrôle des créneaux. Plus de contrôles, des éléments de formulaires disparaissent lorsqu'ils ne sont pas pertinents.