Discussions started by Valery Fremaux

Je lance cette idée sur le forum de développement, après concertation avec Martin Dougamias, de l'opportunité du développent d'un module de gestion en ligne d'un planning de cours "physiques" qui pourrait compléter notre plate-forme et lui permettre de s'intégrer encore plus dans la logique de gestion d'une institution formelle d'enseignement.

Je dispose en effet d'un ancien développement permettant de gérer graphiquement le planning d'attribution de salles, de professeur, et de groupes ciblé pour une école (mon école) d'environ 600 étudiants sur deux sites. Ce module n'a pas été utilisé et est donc entièrement récupérable.

Je lance une consultation sur l'opportunité de terminer ce développement en l'intégrant complètement à la stratégie Moodle, et en liant ce planning aux ressources et unités de cours.

Ce module est assez complexe : il effectue les résolutions de conflit (conflit de salle, conflit de profs, conflit de groupes), saura gérer les différentes capacités de salles et l'occupation d'une salle par plusieurs groupes, et devra trouver un moyen (plus facile à partir de Moodle 1.8) de connaître les groupes physiques d'étudiants, au delà des segmentations locales à des cours Moodle.

Je me mets dans l'attente de vos suggestions et éventuellement besoins collectifs (intégrer dès le début une idée de fonctionnement peut s'avérer bien moins couteux qu'une fois que le module est en production)...

A bientôt à Castres.

Average of ratings: -

Warning: Unknown(typo3/class.t3lib_div.php): failed to open stream: No such file or directory in Unknown on line 0

Fatal error: (null)(): Failed opening required 'typo3/class.t3lib_div.php' (include_path='.;c:\php4\pear') in Unknown on line 0

This happens when running several moodles on the same Apache and switching browser from one to another. As a third-party developer I run 1.5, 1.6.4, 1.7+ and 1.8 on my server, using distinct cookies anyway.

Just restarting Apache service (Windows XP) fixes back the issue and Moodle starts running well again.

Oh yes, last thing : happens only since 1.7

Someone knows about ? 

Average of ratings: -

La nouvelle béta publiée résoud quelques fautes locales, améliore la pertinence de certains indicateurs et surtout :

  • Propage l'attachement à une étape aux sous-entités. On considère que si une tâche fait partie d'une étape, il est "normal" que toutes ses sous-divisions le soient. Désormais, il suffit d'assigner la tâche initiatrice d'une branche pour reconnaitre la même assignation par toute la branche. Cette propagation est également effectuée pour l'arbre des livrables. 
  • Ajoute l'attachement de fichiers uploadés ou d'URL externes à chacun des livrables. Il est donc possible de "livrer physiquement" les résultats dans le plan des livrables qui sera établi.

Les fichiers sont uploadés dans des containers sécurisés (nom de container crypté) dans l'architecture "fichiers" du cours courant.

J'ai rencontré quelques soucis d'installation du module par les chinois, sans indices sur le problème.

Autre infos : le développement d'une documentation complète (en français, puis en anglais) à démarré sur le wiki http://docs.moodle.org/fr/mod/techproject/view

Average of ratings: -

Voici un petit hack qui résoud le problème suivant :

L'ajout d'une ressource de type "lien" peut désigner toute ressource appartenant à un des cours de l'enseignant. Mais si l'étudiant n'a pas, lui, accès à ce cours, il ne peut voir la ressource.

Dans : mod/resource/type/link/resource.class.php § 24

1. ajouter un deuxième paramètre à valeur "true" à la construction de la ressource liée :

  function display() {
    global $CFG;
    parent::display();
    if (! $cm = get_coursemodule_from_id('resource', $this->resource->reference)) {
      error('Course Module ID was incorrect');
    }
   
    if (! $resource = get_record('resource', 'id', $cm->instance)) {
      error('Resource ID was incorrect');
    }
    require ($CFG->dirroot.'/mod/resource/type/'.$resource->type.'/resource.class.php');
    $resourceclass = 'resource_'.$resource->type;
   
    $resource_linked->resource->course = $this->resource->course;
    $resource_linked->cm = $this->cm;
    $resource_linked->course = $this->course;
   
    $resource_linked->navigation = $this->navigation;
   
    $resource_linked->display();   
   
  }

2. Dans les autres ressources, reprendre les fichiers resource.class.php et modifier le constructeur de chaque classe en acceptant et progageant un nouveau paramètre optionnel :

function resource_html($cmid=0) {
    parent::resource_base($cmid);
}

Dans mod/resource/lib.php : à partir de §83

Modifier le constructeur par défaut de la ressource de base en acceptant le nouveau paramètre et en rendant conditionnel la vérification d'inscription au cours (elle a déjà été vérifiée sur l'appel du lien) :

function resource_base($cmid=0) {
    global $CFG;
    global $course;   // Ugly hack, needed for course language ugly hack
    if ($cmid) {
        if (! $this->cm = get_coursemodule_from_id('resource', $cmid)) {
            error("Course Module ID was incorrect");
        }
        if (! $this->course = get_record("course", "id", $this->cm->course)) {
            error("Course is misconfigured");
        }
        $course = $this->course;  // Make it a global so we can see it later
         require_course_login($this->course, true, $this->cm);
        if (! $this->resource = get_record("resource", "id", $this->cm->instance)) {
            error("Resource ID was incorrect");
        }
        $this->strresource  = get_string("modulename", "resource");
        $this->strresources = get_string("modulenameplural", "resource");
        if ($this->course->category) {
            $this->navigation = "<a target=\"{$CFG->framename}\" href=\"$CFG->wwwroot/course/view.php?id={$this->course->id}\">{$this->course->shortname}</a> -> ".
                                "<a target=\"{$CFG->framename}\" href=\"index.php?id={$this->course->id}\">$this->strresources</a> ->";
        } else {
            $this->navigation = "<a target=\"{$CFG->framename}\" href=\"index.php?id={$this->course->id}\">$this->strresources</a> ->";
        }
        if (!$this->cm->visible and !isteacher($this->course->id)) {
            $pagetitle = strip_tags($this->course->shortname.': '.$this->strresource);
            print_header($pagetitle, $this->course->fullname, "$this->navigation $this->strresource", "", "", true, '', navmenu($this->course, $this->cm));
            notice(get_string("activityiscurrentlyhidden"), "$CFG->wwwroot/course/view.php?id={$this->course->id}");
        }
    }
}

Average of ratings: -

Just a small message here to confirm post of a complete Project Management tool as described in discussion http://moodle.org/mod/forum/discuss.php?d=69062 complementarily to the general purpose "Project" available for those who did'nt got yet the annoucement.

Refinement-based project learning.

Beta version.

Testing and suggestions welcome.

Average of ratings: -