1. Introduction
1.1 Principe général
Les Jumbo Patchs sont des archives au format ZIP permettant une migration plus rapide et plus simple entre 2 versions de maintenance de JCMS.
- Jalios crée un Jumbo Patch
- La personne en charge de la migration applique le Jumbo Patch avec l'outil JumboPatchDeploy
- Cette même personne ré-applique les développements spécifiques.
IMPORTANT 1 : Les Jumbo Patchs doivent impérativement être appliqués en utilisant l'outil JumboPatchDeploy. Ne décompressez jamais manuellement un Jumbo Patch dans une webapp JCMS.
IMPORTANT 2 : lors de l'application d'un jumbopatch, les classes situées dans WEB-INF/classes/com/jalios/ sont supprimées. Par conséquent, si vous avez créé des classes spécifiques à vos plugins dans l'arborescence WEB-INF/classes/com/jalios/jcmsplugin, il faut impérativement les remettre derrière le passage du patch (et donc backuper au préalable les classes en question).
1.2 Téléchargement des outils
Les JumboPatchTools sont fournis dans un
seul et unique fichier JAR afin de faciliter leur utilisation.
Cliquez sur le lien suivant pour télécharger la dernière version disponible :
IMPORTANT : ne mettez JAMAIS ce jar dans une webapp JCMS.
1.3 Téléchargement des Jumbo Patchs
Les Jumbo Patchs sont disponibles sur le site support dans la section Téléchargement / JCMS / Jumbo Patches.
2. Déploiement d'un Jumbo Patch
2.1 Prérequis
- une webapp JCMS à migrer
- le jumbo patch spécifique à la version mineure de votre webapp JCMS
2.2 Principe de fonctionnement
Voici les différentes taches que l'outil fait à votre place :
- Une vérification est effectuée pour s'assurer que la webapp est compatible avec le patch,
- Les fichiers à supprimer sont effacés de la webapp,
- Les fichiers nouveaux ou non conflictuels sont copiés dans la webapp,
- Les fichiers conflictuels sont marqués de la façon suivante :
- Le fichier modifié de la webapp est renommé avec l'extension ".custom"
- Le fichier issue du patch est appliqué,
- Les répertoires
WEB-INF/classes/generated,WEB-INF/classes/com/jaliosetWEB-INF/jcmwork/sont effacés complétement.
2.3 Utilisation
L'outil peut être lancé soit en ligne de commande, soit depuis Eclipse en référençant le jar dans un lanceur Java.
Avant tout : effectuez une sauvegarde complète de votre webapp actuelle.
Première étape : vérifiez ce qui va être fait, en
spécifiant l'option -dryrun
java -jar jcms-jumbo-patch-tools-1.0.jar -dryrun patch-60-to-602.zip jcms-6.0.0/
Seconde étape : déclenchez le déploiement du patch
java -jar jcms-jumbo-patch-tools-1.0.jar patch-60-to-602.zip jcms-6.0.0/
Après application du patch, un fichier de
log, avec un résumé de toutes les modifications, est accessible dans la
webapp pour historique : WEB-INF/data/logs/jumbo-patch-deploy.log
(en cas de nouvelle migration, il sera simplement complété)
Troisième étape : résoudre les conflits.
Cherchez manuellement tous les fichiers .custom dans la
webapp et comparez-les avec le nouveau fichier, dans lequel vous reporterez
les modifications éventuelles.
Exemple : si doArticleFullDisplay.jsp a été modifié, alors après application du patch
on trouvera les 2 fichiers suivants :
doArticleFullDisplay.jsp.custom(version modifiée )doArticleFullDisplay.jsp(fichier de la nouvelle version de JCMS)
3. Informations avancées
En plus des fichiers propre à JCMS, un jumbo patch contient :
- un fichier de propriété le décrivant (date de création, version jcms
source, version jcms cible):
WEB-INF/jalios/jumbo-patch.prop - 3 fichiers de références déployés tel quel :
WEB-INF/data/custom.prop.defaultWEB-INF/data/webapp.prop.defaultWEB-INF/data/store.xml.default
Les fichiers qui doivent être supprimés pour la migration sont présents dans le Jumbo Patch sous la forme de fichiers vides.
Sous unix, pour obtenir la liste des fichiers qui sont en conflit avant toute modification, il suffit de taper la commande suivante :
java -jar jcms-jumbo-patch-tools-1.0.jar -dryrun -debug jumbopatch-6.1.1-6.1.3.zip jcms-6.1.1/ | grep Renaming





