This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
report:patches:userguide [2016/05/20 23:15] admin créée |
report:patches:userguide [2024/04/04 15:50] (current) |
||
|---|---|---|---|
| Line 12: | Line 12: | ||
| // PATCH : <raison> | // PATCH : <raison> | ||
| - | + | ||
| // /PATCH | // /PATCH | ||
| - | + | ||
| A ce moment, voici par exemple une séquence non patchée : | A ce moment, voici par exemple une séquence non patchée : | ||
| Line 20: | Line 20: | ||
| redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php'); | redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php'); | ||
| } | } | ||
| + | |||
| if (get_home_page() != HOMEPAGE_SITE) { | if (get_home_page() != HOMEPAGE_SITE) { | ||
| // Redirect logged-in users to My Moodle overview if required | // Redirect logged-in users to My Moodle overview if required | ||
| Line 31: | Line 31: | ||
| redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php'); | redirect($CFG->wwwroot .'/'. $CFG->admin .'/index.php'); | ||
| } | } | ||
| + | |||
| // PATCH : Special hooking for customized My dashboard | // PATCH : Special hooking for customized My dashboard | ||
| if (file_exists($CFG->dirroot.'/local/my/frontpagehook.php')) { | if (file_exists($CFG->dirroot.'/local/my/frontpagehook.php')) { | ||
| Line 37: | Line 37: | ||
| } | } | ||
| // /PATCH | // /PATCH | ||
| + | |||
| if (get_home_page() != HOMEPAGE_SITE) { | if (get_home_page() != HOMEPAGE_SITE) { | ||
| // Redirect logged-in users to My Moodle overview if required | // Redirect logged-in users to My Moodle overview if required | ||
| if (optional_param('setdefaulthome', false, PARAM_BOOL)) { | if (optional_param('setdefaulthome', false, PARAM_BOOL)) { | ||
| set_user_preference('user_home_page_preference', HOMEPAGE_SITE); | set_user_preference('user_home_page_preference', HOMEPAGE_SITE); | ||
| + | |||
| + | |||
| + | ==== Processus de réintégration ==== | ||
| + | |||
| + | Lorsque votrez base de code contient de tels patchs marqués une mise à jour du code s'effectue suivant ce processus : | ||
| + | |||
| + | - Récupérez une base de code à jour dans un répertoire à part | ||
| + | - Scannez et listez les patchs de votre version | ||
| + | - Un par un, ouvrez les fichiers concernés et reportez vos patchs. Dans 90% des cas, ce sera facile. | ||
| + | - Réglez les cas particuliers | ||
| + | - Backupez votre code original. | ||
| + | - Remplacez par le nouveau code patché et faites les vérification de non régression. | ||
| + | |||
| + | ==== Les cas possibles ==== | ||
| + | |||
| + | 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 : | ||
| + | |||
| + | * Le code standard régle le problème corrigé par le patch : le patch devient obsolete et peut être résorbé. | ||
| + | * Le code standard est fortement modifié, mais le problème est toujours là : Vous devez alors réexaminer l'intégration de votre patch. | ||
| [[:Report:Patches|Retour à l'index du composant]] | [[:Report:Patches|Retour à l'index du composant]] | ||