Outils pour utilisateurs

Outils du site


public:specs_deploy_rcp

Spécifications du déploiement de TXM RCP

Objectif

Le déploiement de TXM RCP est de préférence assuré par des setups, un par OS.

Les setups essayent d'utiliser au maximum les services de l'OS pour la rendre facile à l'utilisateur et pour mutualiser le maximum de ressources qui seraient déjà disponibles sur la machine d'installation.

Il y a des contextes de déploiement où les setups classiques rencontrent des limites :

  • sous Windows :
    • on veut parfois bénéficier de roaming et de l'utilisation sans réseau (locale) pour la même installation de TXM
    • on veut pouvoir exécuter TXM sur n'importe quelle machine et profiter de ses corpus partagés (profil de connexion en roaming) mais parfois l'espace disque disponible est trop limité
  • etc.

Voir le ticket #2246.

L'idée est de spécifier des formes de déploiement possibles qui fonctionnent dans un maximum de contextes.

Solution

A. Adaptation du setup Windows pour TXM 0.7.8

Solution 1

A solution is to test the directory existence in the TXM.bat script and try the USERPROFILE path instead.

If the USERPROFILE path does not exist also, abort TXM launch.

set installdir=%~dp0
set DEBUG=0

set USERHOME=%HOMEDRIVE%%HOMEPATH%
echo "USERHOME=%USERHOME%" 
IF EXIST %USERHOME% GOTO USERHOMEOK
set USERHOME=%USERPROFILE%\

IF EXIST %USERHOME% GOTO USERHOMEOK2
echo "HOMEDRIVE+HOMEPATH = %HOMEDRIVE%%HOMEPATH% and USERPROFILE = %USERPROFILE% do not exist. Unable to find TXM configuration, aborting TXM launch." 
exit

:USERHOMEOK2
echo "HOMEDRIVE+HOMEPATH = %HOMEDRIVE%%HOMEPATH% does not exist, using USERPROFILE = %USERPROFILE% value instead." 

:USERHOMEOK

cons: this solution is ambiguous and the user&admin don't know where the TXM files are stored.

Solution 2

Windows environment variables:

    HOMEDRIVE%HOMEPATH% : any pc (first launch, next launches), connected, always access to the same distant drive TXM HOME directory
    USERPROFILE : same pc (first launch, next launches), connected or not, always access to the same local drive (C:\) TXM HOME directory

Add a new NSIS install option "roaming profile" with 2 values: false (default) and true

**Dialog displayed to the user**
  * Type d'installation / Installation type :
    * standard [default]
    * réseau (if you don't know, use the standard installation)

**Algorithm**

if "roaming profile" is set, the TXM.bat script will always try to use the HOMEDRIVE%HOMEPATH% (the script aborts if not available and show a dialog "TXM could not starts TXM using HOMEDRIVE%HOMEPATH% directory, please contact your admin or install TXM without the 'roaming profile' option")
if not it will always use the USERPROFILE directory (the script aborts if not available and show a dialog "TXM could not starts TXM using USERPROFILE directory")

cons: is HOMEDRIVE%HOMEPATH% always pointing to the roaming account files ?

Solution 3

Drive TXM user home directory using a specific environment variable called TXMHOME the home directory path to use.
TXM.bat algorithm to set the user home directory is:

    if TXMHOME is set
        if TXMHOME exists
            then run TXM
            else abort and show a dialog "TXM could not starts TXM using TXMHOME=%TXMHOME% directory"
    else use USERPROFILE
        if USERPROFILE exists
            then run TXM
            else abort TXM launch and show a dialog "TXM could not starts TXM using USERPROFILE=%USERPROFILE% directory"

cons: admins must set the TXMHOME if they have roaming account

Solution 4

Drive TXM user home directory using 2 specific environment variables:

    TXMSHAREDHOME: the distant home directory to use
    TXMHOME: the local home directory to use

Then TXM.bat algorithm to set the user home directory is:

    to use TXMSHAREDHOME
    if TXMSHAREDHOME is not reachable to use TXMHOME
    if TXMHOME is not reachable to use USERPROFILE
    if USERPROFILE is not reachable abort TXM launch and show a dialog "TXM could not starts TXM using USERPROFILE directory"

cons: admins must set the TXMSHAREDHOME if they have roaming account and TXMHOME

Solution 5

Ajouter une option d'installation dans une nouvelle page de l'installeur, si possible dans une rubrique “Options avancées” :

  • “Do not ask TXM user directory at each TXM launch.”
  • “Ne pas demander le répertoire TXM utilisateur à chaque lancement de TXM.”
  • Titre FR: “Options avancées :”
  • EN: “Advanced settings:”

Si activée le script de démarrage de TXM demandera toujours à l'utilisateur le répertoire de travail de TXM (là où les répertoires TXM et TXM/.txm seront créés) avant de lancer TXM. Si le répertoire indiqué n'est pas disponible (NOT EXISTS) alors TXM abandonne son lancement.

Lors de l'installation, l'option “Ask user directory before launching TXM” créé un fichier “ASKUSERDIRECTORY” dans le répertoire d'installation sélectionné, le script TXM.bar test alors son existance pour savoir si il doit déclancher la fenêtre de dialogue.

Il existe des fenêtre de dialogue Windows natives, mais la commande varie en fonction de la version de Windows. On peut donc créer un petit exécutable Jar lancé avec la jvm de TXM pour demander le répertoire utilisateur. La fenêtre de dialogue à comme titre :

  • FR : Sélectionner le répertoire de travail de TXM
  • EN: Select the TXM working directory

B. Déploiement standalone

Deux scénarios possibles :

  • a) un setup habituel demande où installer, par exemple sur la clé USB “H:” :
    • on met dans un répertoire de la clé le logiciel (avec le maximum de dépendences résolues) et les corpus préinstallés
    • ce serait bien que TXMHOME soit relatif (pour ne pas avoir à désigner d'unité de disque)
  • b) on dézippe une archive TXM.zip sur la machine, par exemple sur la clé USB “H:” : le répertoire contient le logiciel et les corpus préinstallés

Prototypes

Premières réalisations concrètes de la solution.

Alpha ou Étape 1

Beta ou Étape 2

Version finale

Documentation

Si possible, développer la documentation en même temps que la solution.

Utilisateur

Développeur

Recette

Tutoriel décrivant explicitement étape par étape l'usage concret de la solution pour valider sa conformité par rapport aux objectifs.

Alpha ou Étape 1

Beta ou Étape 2

etc.

public/specs_deploy_rcp.txt · Dernière modification : 22/09/2017 09:31 de matthieu.decorde@ens-lyon.fr