PatchPlugin - Présentation et utilisation
JCMS 9 JPlatform 10
Olivier Jaquemet
March 25, 2019 417 vues
In brief...

Cette fiche présente le PatchPlugin ainsi que ses modalités d'application.


1. Présentation

Le PatchPlugin propose une méthode fiable pour garder des sites JCMS / JPlatform à jour pendant la période entre 2 versions de maintenance. 

1.1 Contenu du module PatchPlugin

Les correctifs inclus dans chaque module PatchPlugin sont :

  • la totalité des correctifs de sécurité du coeur,
  • les correctifs des issues coeur (projet JIRA JCMS) ayant une priorité Bloquante (Blocker) ou Critique (Critical),
  • les correctifs jugés indispensables ou nécessaires pour la fiabilité du produit et des modules.

1.2 Mise à disposition

Les modules PatchPlugin sont diffusés sur Jalios Community.

Chaque version du module est accessible via l'URL intuitive reprenant la version cible de JCMS / JPlatform.
Exemple : 

1.3 Versions cibles de JCMS / JPlatform

Seuls les modules PatchPlugin ciblant les dernières versions de maintenances de JCMS / JPlatform sont maintenus et évoluent pour proposer les nouveaux correctifs.

Cependant, lorsqu'une nouvelle version de maintenance de JCMS / JPlatform est diffusée, le PatchPlugin de la version précédente est maintenu pendant 3 mois le temps de vous permettre d'effectuer la migration.

Exemple :

à l'heure de l'écriture de ces lignes : 

  • JCMS 9.0.5 et JPlatform 10.0.2 sont les dernières version de maintenance du produit,
  • JCMS 9.0.5 a été diffusé il y a plus de 3 mois,
  • JPlatform 10.0.2 date de moins de 3 mois. 

sachant cela 

  • les modules PatchPlugin maintenus sont les suivants :
    • PatchPlugin 9.0.5
    • PatchPlugin 10.0.2
    • PatchPlugin 10.0.1
      (ce dernier module est disponible car la version 10.0.2 date de moins de 3 mois)
  • (L'hypothétique) module PatchPlugin 9.0.4 ne bénéficierait plus de nouvelles corrections (s'il existait), la version 9.0.5 ayant été diffusée depuis plus de 3 mois 

1.4 Compatibilité

Chaque module PatchPlugin est compatible exclusivement avec une version spécifique de JCMS / JPlatform.

Exemple : le PatchPlugin 10.0.2 peut être appliqué uniquement sur JPlatform 10.0.2

2. Installation du module PatchPlugin

Le module PatchPlugin s'applique comme tous le modules JCMS / JPlatform, pour cela 2 possibilités : 

  1. Installation automatique via l'environnement d'intégration continue JADE, c'est l'approche recommandée,
    si vous n'utilisez pas encore JADE pour vos constructions, consultez le billet de blog (Restricted access link)  pour une présentation des bénéfices liés à son utilisation,
  2. Installation manuelle lors de la construction de la webapp.

2.1 Environnement JADE

1) Déposez le module PatchPlugin dans JADE :

  • Téléchargez le module PatchPlugin compatible avec votre version de JCMS / JPlatform,
  • Renommez le zip du module pour respecter la norme de nommage attendu sur JADE (sans espace),
    par exemple, PatchPlugin_10.0.1.zip
  • Lancez un accès SFTP sur le serveur JADE, avec le compte utilisateur jade,
  • Déposez le module PatchPlugin dans le répertoire /home/jade/tools/jenkins/jcmsartifact de Jenkins.

2) Ajoutez la dépendance au module PatchPlugin à votre webapp :

  • Ouvrez le fichier plugin.xml de votre module principal,
  • Ajoutez le module PatchPlugin en tout premier dans la section dependencies.
      <dependencies>
        <dependency name="PatchPlugin" />
        <dependency name="..." />
        <dependency name="..." />
      </dependencies>​

3) Relancez une build de votre webapp.

Pour plus d'information sur l'utilisation de JADE, la construction de webapp et la gestion des dépendances de module, consultez le document  JADE 2.0 - Manuel d'installation et exploitation.

2.2 Construction manuelle

  • Arrêtez votre webapp,
  • assurez-vous d'être précisément sur la version de maintenance indiquée, 
  • supprimer tous les patchs existants de votre webapp,
    notamment, la webapp ne doit pas contenir de répertoire WEB-INF/classes/com/jalios/,
  • téléchargez le module PatchPlugin compatible avec votre version de JCMS / JPlatform
  • décompressez le zip du module à la racine de votre webapp
  • pour déclencher une régénération automatique des types de contenus au démarrage, effectuez l'action suivante :
    • sous Unix : 
      touch WEB-INF/data/types/*/*.xml
    • sous Windows, dans PowerShell : 
      ls WEB-INF/data/types/*/*.xml | ForEach-Object {$_.LastWriteTime = Get-Date}
  • effacez le contenu du répertoire WEB-INF/jcmswork,
  • procédez à une mise à jour de la propriété channel.packer.version pour garantir le rechargement des nouveaux fichiers javascript par les utilisateurs,
  • démarrez votre webapp.

3. Mise à jour du module PatchPlugin

Lorsqu'une nouvelle version du module PatchPlugin est diffusée, suivez les mêmes étapes d'installation pour procéder son application.

4. Mise à jour de JCMS / JPlatform

Lorsqu'une nouvelle version de maintenance de JCMS ou de JPlatform est diffusée, vous devez procéder à une mise à jour dès que possible afin de profiter des nombreux correctifs apportés par ces versions de maintenances.

Lors de ces mises à jour, le PatchPlugin précédemment utilisé dans votre webapp n'est plus utile et DOIT être supprimé.

4.1 Environnement JADE

  • Modifiez le fichier plugin.xml de votre module de site pour retirer la dépendance au PatchPlugin,
  • relancez une nouvelle build de votre webapp

4.2 Construction manuelle

Si vous n'utilisez pas JADE pour la construction de vos webapps, vous réalisez les montées de versions de JCMS / JPlatform grâce au JumboPatch

Dans ce cas : 

  1. supprimez le répertoire WEB-INF/plugins/PatchPlugin
  2. suivez le processus classique de déploiement du JumboPatch, comme indiqué dans la section "2. Déploiement d'un Jumbo Patch" de la documentation  (Restricted access link) ;
  3. après application du JumboPatch tous les fichiers de JCMS / JPlatform ayant fait l'objet d'une correction par le précédent PatchPlugin seront automatiquement écrasés par ceux de la nouvelle version de JCMS / JPlatform, et les anciens fichiers patchés sont renommés avec le suffixe .custom.
    Recherchez tous ces fichiers .custom et supprimez-les de la webapp.

5. FAQ

Le module PatchPlugin intégre-t-il les correctifs de sécurité ?

Oui. Tous les correctifs de sécurité sont systématiquement inclus dans le PatchPlugin.

Le module PatchPlugin intégre-t-il le correctif XYZ ?

La liste des correctifs inclus dans chaque PatchPlugin est indiquée :

  • sur le document mis à disposition sur Jalios Community,
  • ainsi que dans la description du module elle même (accessible depuis l'interface d'administration des modules, ou en consultant le fichier WEB-INF/plugins/PatchPlugin/plugin.xml ).

Le module PatchPlugin est-il compatible avec le patch XYZ ?

Non. Le PatchPlugin remplace et annule tous les patchs précédemment émis.

L'objectif du PatchPlugin est de fiabiliser l'application des correctifs, chaque PatchPlugin bénéficiant d'une validation de tous les tests automatisés en environnement d'intégration ainsi que d'une QA réalisée par l'équipe Jalios.
Ainsi, l'application de patch unitaire ne doit plus être effectuée. 

Comment supprimer le PatchPlugin ?

En environnement JADE, retirez le module PatchPlugin de vos dépendances, et relancez une build.

Sur une webapp construite manuellement, la suppression du module est plus ardue, vous pouvez cependant y parvenir de cette façon : 

  • ouvrez le fichier WEB-INF/plugins/PatchPlugin/plugin.xml 
  • consultez la section webapp-files
  • pour chacun des fichiers listés dans cette section ;
    remplacez le fichier de votre webapp par le fichier originellement fourni dans le war de base de JCMS / JPlatform utilisé par votre webapp. S'il s'agit d'un nouveau fichier apporté par le PatchPlugin supprimez-le,
  • supprimez le répertoire WEB-INF/plugins/PatchPlugin

Quelles différences entre PatchPlugin et JumboPatch ?

Leur seul point commun est de contenir le mot "Patch" dans leur nom, mais ils sont destinés à des usages totalement différents :

Les PatchPlugin permettent d'appliquer des correctifs sur une version de maintenance spécifique.
Il s'agit de modules JCMS / JPlatform.

Les JumboPatch permettent la montée de version d'une webapp, d'une version de maintenance à une autre.
Il s'agit d'archives au format zip utilisées uniquement lors de la construction manuelle d'une webapp.
Pour plus d'information à ce sujet, consultez  (Restricted access link) .

Discovering Jalios

You are not yet a Jalios customer or partner, but you would like to know more about our solutions? Make an appointment with our team or request a personalized demo and join our community!

For Jalios customer

Log in or register to access your support area, discover new products, exchange and innovate with the Jalios community of customers, partners and Jalios employees!

For Jalios partner

Log in ou register to access your partner area, your customers' support areas, discover new products, exchange and innovate openly with our teams and the entire Jalios community!

Suivez l'actualité de la Digital Workplace


Tendances, analyses, bonnes pratiques et nouveautés produits !

Souveraineté numérique : une troisième voie « utile » s’offre aux entreprises
Sur le marché français du logiciel, on voit se dessiner clairement deux voies distinctes. La première est constituée par les géants américains du numérique : Google, Amazon, Facebook, Apple, Microsoft...
Jalios célèbre son écosystème au JPartner, le rendez-vous annuel des partenaires Jalios
Le 27 juin 2023 a eu lieu le premier JPartner, un événement annuel dédié aux partenaires Jalios. Organisé à Paris, l'évènement a réuni plus d'une trentaine d'organisations partenaires. Le succès de ce...
JClub 2023 - 15e édition du rendez-vous annuel des utilisateurs Jalios
Le JClub (Club utilisateurs Jalios) a fêté cette année ses 15 ans. Ce rendez-vous annuel très attendu et réservé aux clients Jalios est l'occasion de les réunir et de créer des temps d'échanges privil...
Communiqué de presse - Jalios obtient le Label Numérique Responsable
En signant la charte d'engagement du label Numérique Responsable en décembre 2021 Jalios a rejoint la communauté Lucie rassemblant les organisations (entreprises, associations, administrations, collec...
Communiqué de presse - Résultats Jalios 2022 : 41% de croissance Cloud et 2,1M d’utilisateurs
La stratégie multicloud de Jalios permet à l'éditeur d'afficher une croissance Cloud de 41% sur le marché des solutions collaboratives.
Girls in Tech - Ep 2 : dans les coulisses de la R&D chez Jalios
Dans ce 2e volet de l'interview Girls In Tech chez Jalios, Syrine et Émilie nous racontent leur quotidien à la R&D et les projets sur lesquels elles travaillent.