Mise à jour de TXM

Archives

Cette page contient les spécifications de développement des mises à jour dans TXM.

Les plugins et mises à jour utiliseront le standard OSGi et principalement les outils d'Eclipse.

Objectif

Actuellement, la mise à jour d'une nouvelle version de TXM se fait par setup et requiert la réinstallation complète de l'application. L'évolution recherchée est la mise à jour incrémentielle. On part d'une version stable auquel on rajoute des améliorations. Ce principe implique que l'application soit segmentée en différents modules indépendants et interchangeables.

La plate-forme d'Eclipse Helios 4.2 permet de mettre en place un système de mise à jour et d'installation de plugins pour une application RCP. L'utilisateur utilise une interface permettant de mettre à jour son application de manière simple et automatique s'il le souhaite. Une autre lui permet d'installer au choix des plugins complémentaires.

Lorsqu'une mise à jour de l'application ou d'un plugin est disponible, une notification est affichée à l'écran sous la forme d'une info-bulle. L'utilisateur peut l'ouvrir pour avoir plus d'information.

Appliqué à TXM, ce système permettrait de simplifier le travail de l'utilisateur pour chaque nouvelle version. Le développement de nouvelles fonctionnalités est également facilité, cela revient à créer un plugin.

Concernant l'hébergement des plugins, il faut décider de leur emplacement et d'une politique de gestion des contributions.

Le système de versions bêta destinés aux bêta-testeurs doit être conservé.

Méthode

Protocole

  • Intégrer le module p2 d'Eclipse à la plate-forme TXM
    • Rendre la TBX et la RCP updatable
  • Simplifier les interfaces de mise à jour d'Eclipse
  • Tester les mises à jour

Documentation

Tuto update site :

Mise à jour de TXM

Définition des versions

Les 3 premiers nombres de la version sont définis par le développeur, le 4e est généré automatiquement par Eclipse à chaque build. Ce qui fait d'une version qu'elle soit alpha, beta ou stable est son repository.

Annonce des versions

Les versions bêta et rc (stable) sont annoncées par mail dans txm-users avec un objet “Livraison de …”. Les versions alpha sont annoncées par mail seulement dans txm-users par la nouveauté à tester. Objet “MAJ Alpha …”

Gestion des différentes versions

Par défaut, quand l'application recherche des mises à jour ou des plugins, le repository stable est le seul consulté.

L'utilisateur peut se déclarer alpha ou beta testeur, les mises à jour se feront alors aussi à l'aide des repositories correspondant.

Hébergement

L'hébergement se fait sur un serveur HTTP (Apache, Tomcat, etc.). il faut créer 8 sous-dossiers pour les cibles suivantes :

  • stable : mises à jour pour tous les utilisateurs de TXM
  • beta : mises à jour à tester par les beta testeurs (utilisateur ciblé ou volontaire)
  • alpha : mises à jour à tester par les alpha testeurs (équipe TXM)
  • dev : mises à jour de test de développement
  • extensions stable : les extensions pour tous les utilisateurs de TXM
  • extensions beta : les extensions à tester par les beta testeurs (utilisateur ciblé ou volontaire)
  • extensions alpha : les extensions à tester par les alpha testeurs (équipe TXM)
  • extensions dev : les extensions de test de développement

Interface utilisateur

Les interfaces de mise à jour et de plugins d'Eclipse sont reprises et simplifiées d'après ce tutoriel. Elles utilisent l'API “p2” d'Eclipse.

Une commande est ajoutée dans la barre de menus “Aide”:

  • Vérifier les mises à jours

Ajout d'une nouvelle préférence dans la page de préférence “TXM” pour activer ou pas la mise à jour automatique.

Une option “Mode expert” est ajoutée dans les préférences (TXM/Avancé). Elle permet de masquer ou non la page de préférence “Install/Update”. Cette page de préférence permet de régler:

  • La sélection des mises à jour (toutes ou seulement les dernières)
  • La compatibilité des plugins disponibles avec l'application
  • Les mises à jour automatiques
  • Les update sites

Modification de l'interface utilisateur de mise à jour Eclipse

Ticket lié : #715

L'interface de mise à jour d'Eclipse est trop orientée développeur. Le scénario doit être modifié tel que :

  1. Écran 1 :
    • Affiche les mises à jour disponible
    • Affiche le contenu de chaque mise à jour par une simple click (pour que l'utilisateur puisse choisir ou pas d'installer la maj)
    • Affiche par défaut le contenu de la maj de TXM
    • Permet de sélectionner les mises à jour à installer
  2. Écran 2 :
    • Accepter ou pas la ou les licences
  3. Écran 3 :
    • Finaliser

Outre le nouveau scénario, il serait bien que :

  • le contenu d'une maj soit stocké en HTML
  • la zone “détails” soit agrandie
  • Traduire l'interface

Protocole de test

Dev

Pour effectuer les test suivants depuis Eclipse, il faut activer l'option “Support software installation in the launched application” dans la partie “config” du run configuration.

Test de la mise à jour de l'application:

  • Depuis Eclipse, exporter une première version de TXM RCP
  • Modifier le code (exemple: affichage Hello world) et le numéro de version de la feature RCP+TBX
  • Exporter la deuxième version modifiée avec son repository
  • Lancer la première version de TXM RCP
  • Utiliser l'interface de mise à jour l'application depuis le repository de la deuxième version
  • Mettre à jour la feature RCP+TBX
  • Vérifier l'intégration et l'existence du code modifié

Alpha et Beta

Les lignes préfixées (Dev, D) représentent les tâches effectuées par le développeur. Les lignes préfixiées (Testeurs, T) représentent les tâches effectuées par ceux qui vont effectuer les tests. À chaque fin de tâche, un mail doit être envoyé pour signaler qu'elle est terminée.

Pour ne pas casser son environnement TXM, on pourra utiliser une machine virtuelle : http://sourceforge.net/projects/txm/files/software/TXM%20SDK/0.7.2/VirtualBoxImage-Ubuntu-12.04-TXM_SDK_0.7.2_Linux64.tar.gz/download

  1. Dev : Produire un setup
  2. Testeurs : Installer et lancer TXM (s'il s'agit d'une 1ère installation Linux, il faudra relancer la session utilisateur pour pouvoir faire les mises à jour). Les setups se trouvent soit sur Sherpa dans '/labo_ana_corpus/PartageTemp', soit accessibles par 'http://partage-fichiers.ens-lyon.fr'.
  3. D : MAJ de l'update site stable en V0
  4. T : Au prochain lancement de TXM, la mise à jour V0 doit être proposée en bas à droite de la fenêtre (ou bulle) de TXM. Cliquer sur la bulle pour lancer la mise à jour.
  5. T : Désactiver la mise à jour automatique : Dans les préférences, à la page “TXM”.
  6. D : MAJ de l'update site beta en V1
  7. D : MAJ de l'update site alpha en V2
  8. T : Vérifier qu'aucune MAJ n'est proposée (menu Aide > Vérifier les mises à jour).
  9. T : Activer le mode beta à l'aide de l'option “Niveau de mise à jour” de la page de préférence “TXM > Avancée”.
  10. T : Relancer TXM et vérifier si la MAJ beta V1 est proposée et l'installer. Vérifier la version.
  11. T : Vérifier qu'aucune MAJ n'est proposée
  12. T : Activer le mode alpha
  13. T : Relancer TXM et vérifier si la MAJ alpha V2 est proposée et l'installer. Vérifier la version.
  14. D : MAJ de l'update beta en V3
  15. T : Relancer TXM et vérifier si la MAJ beta V3 est proposée et l'installer. Vérifier la version.
  16. D : MAJ de l'update site stable en V4
  17. T : Relancer TXM et vérifier si la MAJ stable est proposée et l'installer. Vérifier la version.

Pour vérifier la version : il faut ouvrir la fenêtre “A propos” depuis le menu “Aide”. Dans la fenêtre “A propos”, il faut cliquer sur le bouton “Installation details”

Recette

Branchement de l'update natif d'Eclipse

NK: le protocole de test dev est concluant sous Linux 64. Il est possible d'installer des plugins et de les mettre à jour ainsi que l'application. Le Protocole de test alpha, beta et stable a été validé :

  • Le 22/10/2013 sur Windows 7 64bit avec Sébastien Jacquot
  • Le 22/10/2013 sur Linux 12.04 64bit avec Matthieu Decorde
  • Le 12/11/2013 sur Mac OS X 10.8 avec Justine Lascar
  • Le 26/11/2013 sur Linux 12.04 64bit avec Serge Heiden

UI spécialisée de TXM

Recette du ticket #715 : vérification de l'UI simplifiée et plus explicite sur le contenu d'une màj.

T=testeur , D=développeur

Après chaque étape, le testeur ou le développeur envoie un mail à la liste txm-info en réponse au mail précédent indiquant la bonne réalisation de l'étape, ce qui provoque le passage à l'étape suivante du développeur ou du testeur.

Si on a des testeurs ALPHA pour les trois systèmes, on peut se passer de la phase BETA et passer en STABLE directement.

  1. D : déployer la maj Alpha (Nom=TXM, Version=0.7.5.201404161724, Id=org.txm.rcpapplication.product)
  2. T : Mettre à jour TXM au niveau Alpha (Nom=TXM, Version=0.7.5.201404161724, Id=org.txm.rcpapplication.product)
  3. D : Déployer une nouvelle maj Alpha (Nom=TXM, Version=0.7yyyyyyyyy, Id=org.txm.rcpapplication.product) [sans nouveauté, mais nécessaire pour déclencher la nouvelle UI de maj]
  4. T : dérouler le scénario suivant :
    • Ouverture du Wizard d'installation de maj
    • 1er écran : Affichage de la maj “TXM” (Nom=TXM, Version=0.7yyyyyyyyy, Id=org.txm.rcpapplication.product)
      • L'interface est en français
      • La màj est présélectionnée pour l'installation
      • sélectionner la ligne à la souris pour que le focus provoque l'affichage du détail de la maj “TXM” dans la zone “détails” sous la liste des majs
      • Les détails sont rendu en HTML (50% de la hauteur de la fenêtre du wizard)
        • cliquer sur un lien de ticket pour lire sa description
        • resélectionner la màj pour réafficher sa description
      • Cliquer sur le bouton “Suivant”
    • 2ème écran : L'écran suivant montre les licences à accepter
      • Cocher “J'accepte les licences…”
      • Cliquer sur le bouton “Terminer”
    • Scénario normal de fin d'installation de maj.

Résultat

La procédure s'est bien déroulée, voici les différents retours :

  • Pas de blocage de TXM
  • Sur Ubuntu 64bit, il y a des problèmes de crash brutal au démarrage de TXM
  • Sur Windows et MacOSX, l'ouverture de lien vers des URL en https ouvre une fenêtre d'alerte ou ne fonctionne pas
  • Sur Windows, la zone détail n'est pas bien rendu : la hauteur n'est pas de 50% ? il y a une double barre verticale de scroll
public/mise_a_jour_de_txm.txt · Dernière modification: 2014/05/06 17:01 par matthieu.decorde@ens-lyon.fr