Mises à jour
La procédure de mise à jour est la suivante :
- récupération des sources de la nouvelle version
décompression des sources au même endroit que la version déjà installée (par exemple, décompression de esup-helpdesk[-quick-start]-x.y.z-t.zip dans le répertoire /usr/local/helpdesk/src, ce qui crée le répertoire /usr/local/helpdesk/src/esup-helpdesk[-quick-start]-x.y.z.
- arrêt de la version en cours : ant stop (dans le répertoire de la version précédente)
- récupération des personnalisations de la version précédente : ant recover-config
- déploiement de la nouvelle version : ant deploy
- mise à jour de la base de données : ant upgrade (seulement pour les changements de n° mineur de version)
- redémarrage de l'application : ant start
Répertoire d'installation de l'application
Lors de mise à jour de l'application avec une version plus récente, il est impératif d'installer toutes les versions au même endroit sur le serveur, par exemple /usr/local/helpdesk/src, pour assurer la récupération des personnalisations.
Conservation des personnalisations
L'application esup-helpdesk est très configurable, grâce à l'utilisation de Spring, la programmation en couches et l'utilisation systématique d'interfaces Java.
Le problème n'est donc pas tant la personnalisation elle-même, mais plutôt la conservation des personnalisations lors des mises à jour de l'application.
esup-helpdesk offre pour cela un mécanisme très souple de récupération :
- des fichiers de configurations principaux de l'application (build.properties, properties/config.properties)
- des fichiers de configuration modifiés localement par les exploitants (/properties/*)
- plus généralement de tous les fichiers ajoutés ou modifiéslocalement (sources, feuilles de style, ...)
Pour faire en sorte que les personnalisations soient conservées, il faut éditer le fichier /build.properties et modifier la propriété custom.recover.files.
Supposons par exemple que l'exploitant :
- ajoute une classe de personnalisation de lien vers l'inventaire (edu.domain.helpdesk.computerUrl.InventoryComputerUrlBuilderImpl)
- modifie le fichier /properties/domain/computerUrl.xml pour ajouter un bean de cette classe
Il devra alors modifier la propriété de la sorte :
custom.recover.files= \ src/edu/domain/helpdesk/computerUrl/InventoryComputerUrlBuilderImpl.java \ properties/domain/computerUrl.xml
De cette manière, l'appel de la tâche ant recover-config récupérera automatiquement ces fichiers depuis le répertoire de la version précédente.