report:patches:userguide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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]]
report/patches/userguide.1463778956.txt.gz · Last modified: 2024/04/04 15:50 (external edit)