Ce rapport est principalement destiné à des développeurs ou intégrateurs de Moodle. Il n'a aucune utilité pour l'usage pédagogique.
si votre intégration nécessite des patchs, Alors vous avez tout intérêt à les cataloguer. Ce rapport permet de le faire automatiquement, à partir du moment où vous maintenez une notation formelle stricte du début et de la fin d'un patch.
Dans ce qui suit, nous supposons une définition courante des motifs de début et de fin de patch, comme suit :
// PATCH : <raison>
// /PATCH
A ce moment, voici par exemple une séquence non patchée :
if ($hassiteconfig && moodle_needs_upgrading()) { redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php'); } if (get_home_page() != HOMEPAGE_SITE) { // Redirect logged-in users to My Moodle overview if required if (optional_param('setdefaulthome', false, PARAM_BOOL)) { set_user_preference('user_home_page_preference', HOMEPAGE_SITE);
Cette séquence provient de la page d'acceuil principale. Nous souhaitons insérer entre les deux groupes d'instruction un insert permettant d'activer un déroutage vers une page “My” non standard.
if ($hassiteconfig && moodle_needs_upgrading()) { redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php'); } // PATCH : Special hooking for customized My dashboard if (file_exists($CFG->dirroot.'/local/my/frontpagehook.php')) { include($CFG->dirroot.'/local/my/frontpagehook.php'); } // /PATCH if (get_home_page() != HOMEPAGE_SITE) { // Redirect logged-in users to My Moodle overview if required if (optional_param('setdefaulthome', false, PARAM_BOOL)) { set_user_preference('user_home_page_preference', HOMEPAGE_SITE);
Lorsque votrez base de code contient de tels patchs marqués une mise à jour du code s'effectue suivant ce processus :
Dans 90% des cas, le report des patchs est trivial. Moodle n'évolue pas énormément notamment entre version mineures. Il peut arriver par contre en effet que à certains moment, des tranformations plus importantes bouleversent les structures du code. Vous serez alors dans l'un des cas suivants :