Installation

Modes de déploiement

Trois modes de déploiement sont disponibles :

  1. portlet : proposé pour les administrateurs de portail, il déploie l'application en une portlet JSR-168, exécutable dans une portail compatible (uPortal, liferay, infoglue, ...),
  2. servlet : proposé pour les administrateurs désireux d'exécuter l'application dans un conteneur de servlet existant (Tomcat, jetty, ...),
  3. quick-start : proposé pour tester l'application, l'application est exécuté dans un Tomcat embarqué.

Pré-requis

L'installation de l'application nécessite quelques pré-requis :

  • Le package fourni contient les sources de l'application qui doivent être compilées. Cette opération requière un kit de développement Java (une machine virtuelle seule ne suffit pas).
  • Les commandes d'installation nécessitent l'utilitaire ant. Certaines librairies étant téléchargées automatiquement, les exploitants de serveurs derrière des proxies HTTP doivent configurer ant comme indiqué ici.
  • L'application est configurée par défaut pour se connecter à une base de données MySql. Toutefois, l'utilisation du framework Hibernate permet en principe d'utiliser d'autres formats de base de données (cf. configuration de la connexion à la base de données).
  • L'authentification des utilisateurs nécessite l'accès à un annuaire LDAP, ainsi qu'à un serveur CAS (déploiements en servlet ou quick-start).
  • L'envoie d'e-mails nécessite l'accès à un serveur SMTP.

Téléchargement

La dernière version peut être récupérée dans l'onglet fichiers.

Décompressez le package zip que vous venez de télécharger. La décompression du package esup-geisha-x.y.z-t.zip crée le dossier esup-geisha-x.y.z.

Notez que les versions successives de l'application doivent être installées dans un dossier commun afin de simplifier les mises à jour.

Propriétés du déploiement

Éditez le fichier build.properties pour définir les propriétés qui configurent l'installation de l'application.

Une fois ces paramètres définis (voir ci-dessous pour les détails), le comportement de l'application à l'exécution doit être configuré (cf. configuration).

Lorsque vous changez le mode de déploiement, il est recommandé de tout nettoyer (commande "ant clean") avant de déployer à nouveau.

Propriétés communes

La propriété custom.recover.files permet de récupérer les personnalisations réalisées par l'administrateur lors d'une mise à jour de l'application. Indiquez, au besoin, dans cette propriété les fichiers que vous souhaitez conserver. Par défaut, les fichiers de configuration suivant sont récupérés :
  • build.properties,
  • properties/config.properties,
  • properties/i18n/bundles/Custom_*.properties.

Déploiement en quick-start

Indiquez simplement le déploiement en quick-start de cette façon :

quick-start=true

Toutes les autres propriétés sont optionnelles. Les propriétés tomcat.host, tomcat.port and tomcat.shutdown-port peuvent être utilisées pour configurer le Tomcat embarqué (valeurs par défaut ci-dessous).

tomcat.port=8080
tomcat.shutdown-port=8009
tomcat.host=localhost

Lors d'un déploiement en quick-start, l'application est déployée dans le dossier deploy. Un serveur Tomcat est installé automatiquement et configuré pour pointer vers le contexte de l'application.

Déploiement en portlet

Indiquez le déploiement en portlet :

deploy.type=portlet

Indiquez où l'application doit être déployée pour être exécutée par le portail (typiquement dans le dossier webapps d'un portail existant) :

deploy.home=/usr/local/uPortal/webapps/esup-geisha

Ce chemin doit être utilisé par l'administrateur du portail pour configurer le context du portail. Typiquement dans le fichier de configuration tomcat/conf/server.xml :

<Host name="localhost" 
    appBase="webapps" unpackWARs="true" 
    autoDeploy="true" xmlValidation="false" 
    xmlNamespaceAware="false">
    <Context path="/esup-geisha" 
    docBase="/usr/local/uPortal/webapps/esup-geisha" 
    crossContext="true" reloadable="true">
      <Manager pathname="" />
    </Context>
</Host>

La suite du manuel suppose que le dossier de déploiement s'appelle esup-geisha. Si vous le nommez autrement, adaptez à votre cas et configurez les variables suivantes en les ajoutant dans le fichier properties/config.properties :

mediaPath.portlet=/esup-geisha/media
apiPath.portlet=/esup-geisha/api

L'application est constituée d'une interface javascript qui utilise des requêtes AJAX. Si un utilisateur laisse le portail et l'application Esup-Geisha ouvert trop longtemps, sa session est invalidée. En revenant, s'il fait une action dans l'interface, la requête AJAX renvoie une erreur lui indiquant qu'il doit se reconnecter. Cependant par défaut, une session sera créée et le JSESSIONID sera transmis côté client dans un cookie avec comme chemin celui de la servlet qui traite ces requêtes AJAX. Après reconnexion, l'utilisateur aura donc une session pour le portail dont l'identifiant sera transmis dans un cookie avec la racine comme chemin, et une session différente pour cette servlet, ce qui pose problème. Pour éviter cela, il faut configurer le serveur tomcat avec le paramètre "emptySessionPath" à vrai :

  <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" emptySessionPath="true" />
  <Connector port="8443" enableLookups="false" protocol="AJP/1.3" scheme="https" emptySessionPath="true" />

Déploiement en servlet

Indiquez le déploiement en servlet :

deploy.type=servlet

Indiquez où l'application doit être déployée pour être exécutée par le conteneur de servlet. Typiquement, dans le dossier webapps d'un Tomcat existant :

deploy.home=/usr/local/tomcat/webapps/esup-geisha

Ce chemin doit être utilisé pour configurer le contexte de la servlet. Typiquement dans le fichier de configuration tomcat/conf/server.xml :

<Service name="Catalina">
    <Connector     port="8080" 
    maxHttpHeaderSize="8192" maxThreads="150" 
    minSpareThreads="25" maxSpareThreads="75" 
    enableLookups="false" redirectPort="8443" 
    acceptCount="100" connectionTimeout="20000" 
    disableUploadTimeout="true" emptySessionPath="true" />
    <Engine name="Catalina" defaultHost="helpdesk.domain.edu">
        <Host name="helpdesk.domain.edu" 
            appBase="webapps" unpackWARs="true" 
        autoDeploy="true" xmlValidation="false" 
        xmlNamespaceAware="false">
        <Context
        path="" docBase="/usr/local/tomcat/webapps/esup-helpdesk" 
        crossContext="true" reloadable="false">
                <Manager pathname="" 
            className="org.apache.catalina.session.StandardManager" />
            </Context>
        </Host>
    </Engine>
</Service>

Fichiers de style (CSS)

Les fichiers de style sont automatiquement inclus par l'application en mode servlet ou quick-start. En mode portlet, l'inclusion des fichiers de style doit se faire au niveau du portail. Ajoutez dans un des fichiers CSS du portail :

@import "/esup-geisha/media/extjs/css/ext-all.css";
@import "/esup-geisha/media/esup-geisha/esup-geisha.css";

Administration

Le déploiement de l'application s'effectue par la commande ant deploy.

Dans les modes portlet et servlet, l'application est démarrée par le serveur Tomcat correspondant. Dans le mode quick-start, le serveur Tomcat embarqué peut être contrôlé par les commandes ant start, ant stop ou ant restart.