C'est quoi un PFE?
C'est quoi un module d'auto-évaluation?
Joseph
Module d'Auto-évaluation c'est un module qui permet au apprenant d'évaluer ses propre connaissance.
Salem
Je veut avoir un petit module qui ne fait rien, le plus simple que possible pour que je puisse demarrer mon travail.
Je suis sûr de votre aide.
Merci d'avance.
Cdt,
Rochdi
Ou bien ici : http://download.moodle.org/plugins/mod/NEWMODULE.zip
J'ai enfin réussi à installer ce module et à comprendre et modifier son code.
comment peut-je attribuer des autorisations au utilisateurs ?? et est ce que je peut donner à tel user le droit à executer tel function ???
qlq chose qui concerne capability je pense !!!!
Merci d'avance
Librement votre,
Rochdi ABID
Je suis dans la phase de développement de mon petit outil d'auto-évaluation.
J'ai besoin d'une base de donnée des question avec différents types (vrais/faux, numérique, ....)
NB: J'utilise dans mon module les questions qui existe dans le module "question" qui existe déjà par défaut.
Cordialement,
Rochdi ABID
Je suis en train de développer mon nouveau module et je suis face à un petit problème: j'arrive pas à trouver le fichier dans le quel je doit définir les insertions dans la base de donnée lors de la validation de la page :
/moodle/course/modedit.php?add=selfeval&type=&course=6§ion=4&return=0
Merci pour votre aide.
Librement votre
Rochdi ABID
L'ajout d'une instance de module se fait dans le noyau de Moodle, grâce à un "callback" sur le formulaire mod.html présent dans le répertoire de module.
Le schéma de l'entité principale du module et les champs de formulaires de ce paramètre doivent correspondre.
Depuis la version 1.8, Moodle promeut une nouvelle version de ce mécanisme, abandonnant l'écriture du formulaire en HTML et produisant un fichier mod_form.php qui définit ce même formulaire à partir de l'API de fomulaires de Moodle.
De nombreux modules n'utilisent pas encore cette API, qui demande un certain effort d'apprentissage, et comme tout principe d'encapsulation, produit ses rigidités. L'avantage par contre, en est un code de formulaire produit plus sécurisé et uniforme.
Les fonctions <module>_add_instance et <module>_update_instance dans la librairie de base du module terminent le travail.
Merci Valery pour votre réponse.
Dans mon cas, j'utilise la version 1.8 et j'ai modifier le fichier mod_form.php et j'ai arrivé à avoir ce que je veut comme formulaire.
Le code du fichier mod_form.php est le suivant:
<?php
require_once ('moodleform_mod.php');
class mod_selfeval_mod_form extends moodleform_mod {
function definition() {
global $COURSE;
$mform =& $this->_form;
$mform->addElement('header', 'general', get_string('general', 'form'));
$mform->addElement('text', 'name', get_string('selfevalname', 'selfeval'), array('size'=>'64'));
$mform->setType('name', PARAM_TEXT);
$mform->addRule('name', null, 'required', null, 'client');
$mform->addElement('htmleditor', 'intro', get_string('selfevalintro', 'selfeval'));
$mform->setType('intro', PARAM_RAW);
$mform->addRule('intro', get_string('required'), 'required', null, 'client');
$mform->setHelpButton('intro', array('writing', 'richtext'), false, 'editorhelpbutton');
$mform->addElement('text', 'nbmaxquestion', get_string('nbmaxquestion', 'selfeval'), array('size'=>'32'));
$mform->setType('nbmaxquestion', PARAM_INT);
$mform->addRule('nbmaxquestion', null, 'required', null, 'client');
$mform->addElement('text', 'weithingselfeval', get_string('weithingselfeval', 'selfeval'), array('size'=>'32'));
$mform->setType('weithingselfeval', PARAM_INT);
$mform->addRule('weithingselfeval', null, 'required', null, 'client');
$mform->addElement('text', 'successweithing', get_string('successweithing', 'selfeval'), array('size'=>'32'));
$mform->setType('successweithing', PARAM_INT);
$mform->addRule('successweithing', null, 'required', null, 'client');
$mform->addElement('text', 'duration', get_string('duration', 'selfeval'), array('size'=>'32'));
$mform->setType('duration', PARAM_INT);
$mform->addRule('duration', null, 'required', null, 'client');
//-------------------------------------------------------------------------------
/// Adding the rest of selfeval settings, spreeading all them into this fieldset
/// or adding more fieldsets ('header' elements) if needed for better logic
// $mform->addElement('static', 'label1', 'selfevalsetting1', 'Your selfeval fields go here. Replace me!');
$mform->addElement('header', 'selfevalfieldset', get_string('selfevalfieldset', 'selfeval'));
$req = mysql_query("SELECT * from mdl_lesson where course = $COURSE->id ");
if ( mysql_num_rows ($req) )
{
$mform->addElement('static', 'label2', 'Liste des leçons', 'Pondérations des leçons');
while ( $resultat = mysql_fetch_array( $req ))
{
$mform->addElement('text', 'lesson'.$resultat["id"], $resultat["name"], array('size'=>'32'));
$mform->setType('lesson'.$resultat["id"], PARAM_INT);
$mform->addRule('lesson'.$resultat["id"], null, 'numeric' , null, 'client');
}
}
else
{
$mform->addElement('static', 'label2', '', 'Il n\'y à pas de leçon dans ce cours.');
}
//-------------------------------------------------------------------------------
// add standard elements, common to all modules
$this->standard_coursemodule_elements();
//-------------------------------------------------------------------------------
// add standard buttons, common to all modules
$this->add_action_buttons();
}
}
?>
Voulez vous me clarifier l'utilisation des fonctions selfeval_add_instance et selfeval_update_instance.
Merci d'avance.
Librement,
Rochdi ABID
Ces deux fonctions permettent de retravailler les paramètres issus du formulaire et de procéder à l'insertion (ou la mise à jour) de l'instance dans la base. Elles reçoivent toutes deux une référence sur un objet $instance qui contient tout ce qui a été récolté dans mod_form.php. Ce sont donc les fonctions effectives qui enregistrent les données, et qui sont des callbacks de l'infrastructure de gestion du module.
Voici un exemple de add_instance qui en fait très peu :
function scheduler_add_instance($scheduler) {
$scheduler->timemodified = time();
$id = insert_record('scheduler', $scheduler);
return $id;
}
La seule action de cette version est de rajouter le champ timemodified, ce que le formulaire d'édition des paramètres du module ne prenait pas en charge. D'autres font beaucou plus de vérifications, par exemple si des plages de dates doivent être définies, ou si des valeurs données à certains paramètres sont incompatibles.