Développement > Utilitaires > Patchs > Intégration de patchs > Intégration de patch - Mise en oeuvre  

Pré-requis

Autres pré-requis

Il faut avoir au préalable installé le ou les fichiers de patch à intégrer dans un répertoire du serveur. Si plusieurs patches doivent être installés simultanément, il faut s'assurer qu'il n'y a que les fichiers constitutifs du patch à intégrer dans le répertoire (car dans ce cas, on va donner comme paramètre le nom du répertoire).

Il est conseillé (même si cela n'a rien d'obligatoire) de se connecter sur le dossier superviseur (qui se nomme, selon les progiciels, X3, PAYE, GX...) pour intégrer les patches. En effet, réaliser toute gestion ou maintenance de dossier à partir du dossier de référence est un bon principe.

Avant d'intégrer des patches, il faut s'assurer en outre que :

  • Les tâches comptables de tous les dossiers sont arrêtées,  ainsi que tout autre tâche batch.
  • Le serveur batch est inactif (par mesure de sécurité au cas où une tâche batch serait en attente). Ce conseil est bien sûr valable si on n'intègre pas les patches en batch !
  • L'intégration des patches se fait en mono utilisateur pour l'environnement et à partir du dossier superviseur (ce contrôle est assuré lorsque l'on intègre les patches en batch).

L'intégration d'un patch standard s'applique au minimum au dossier superviseur, et généralement à l'ensemble des dossiers se trouvant dans l'environnement concerné. En effet, si un dossier n'est pas mis à niveau des patches, il risque de ne plus fonctionner correctement, car un traitement présent uniquement dans le dossier superviseur peut s'appuyer sur une structure de données modifiée dans le même patch. Or un traitement de dossier superviseur sera automatiquement hérité dans tous les autres dossiers, alors que la structure de données sur laquelle il s'appuie n'aura pas été intégrée dans le dossier en question, ce qui provoquera une incohérence. De ce fait, si le dossier superviseur ne fait pas partie des dossiers de la liste, les traitements ne sont pas patchés.

Des cas particuliers existent :

  • si un dossier est de type Test (ce flag est défini dans les paramètres de gestion du dossier), les traitements seront intégrés dans le dossier lui-même. Ainsi, si l'on désire réaliser un test de fonctionnement d'un patch (par exemple sur un dossier intégrant beaucoup de spécifiques) sans perturber l'environnement d'exploitation, il est possible de n'intégrer le patch que sur ce dossier : les traitements et le dictionnaire seront alors patchés, ce qui permettra de réaliser un test complet. Attention toutefois, le fait d'installer des traitements standard sur un dossier rend ensuite ce dossier particulier : l'application uniforme d'un autre patch sur l'ensemble des dossiers y compris celui-ci risque de na pas être opérant sur le dossier de test (car les traitements existants dans le dossier de test ne sont pas hérités du dossier superviseur).
  • si un patch intègre des traitements spécifiques (commençant par X,  Y, ou Z, ou encore par SPE, ou SPV, ou bien obéissant au modèle CNS???SPE), ces traitements ne seront intégrés dans le dossier que s'ils existent déjà ; sinon, ils seront intégrés dans le ou les dossiers de type Spécifique (ce flag est défini dans les paramètres de gestion du dossier). Ceci est valable pour un patch de type standard, spécifique, ou vertical (cette distinction ne servant qu'à gérer correctement les actions spécifiques et verticales dans les écrans).
  • si un patch est de type Superviseur, il n'est intégré que dans le dossier superviseur. C'est notamment le cas de certains patches contenant des mises à jour de la documentation standard, ou de jeux de paramètres par défaut.

Si une mise à jour sur tous les dossiers est faite (ce qui est le cas le plus fréquent), les dossiers qui auraient un niveau de patch  inférieur à celui du dossier superviseur devront être revalidés pour être en adéquation avec l'environnement.

Tables mises en oeuvre

Les tables suivantes sont mises en oeuvre par la fonction :

Table

Intitulé Table

APATCH [APT]

Suivi des patchs

Même si une seule table est mentionnée dans les tables mises en œuvre, il faut noter que l'intégration de patches est susceptible de mettre à jour la totalité des tables de la base, et notamment :

  • les tables du dictionnaire (celles qui stockent les méta-données associées au progiciel tels les écrans, les fenêtres, les actions…).
  • la structure des tables (si une nouvelle description de table est envoyée).
  • des données de paramétrage (potentiellement dans n'importe quelle table).

Dans le cadre de la livraison d'une liste de patches standard, il est conseillé de lire les fichiers accompagnant cette livraison : ils décrivent le contenu de la liste.

Il est important de savoir que certains champs des tables du dictionnaire ne sont pas mis à jour lors de l'intégration des patches, parce qu'ils sont considérés comme relevant du paramétrage. On en trouvera le détail dans une documentation annexe.