Afin d'effectuer l'installation de l'application ESCO-Grouper, certains logiciels/outils sont nécessaires :
L'installation de Maven, Tomcat et du projet doit se faire dans des répertoires dont le chemin ne contient pas le caractère espace. Par exemple :
CHEMIN |
CORRECT OU INCORRECT |
---|---|
C:/Program Files/Tomcat |
Incorrect |
C:/Tomcat |
Correct |
Grouper 1.6.2 et son web service doivent être installés et accessibles, y compris la base de données Grouper pour les accès via l'API.
Le web service de Grouper doit contenir le fichier esco-subject-extension-1.1.jar dans le répertoire lib afin de récupérer des attributs multi-valués du LDAP sur une personne (correction du bug Grouper https://bugs.internet2.edu/jira/browse/GRP-257).
Le fichier sources.xml de grouper-ws doit contenir les attributs LDAP à afficher dans l'application (voir un exemple plus bas).
Il n'est pas possible d'avoir deux portlets ESCOGrouper dans le même portail à cause de la session.
Aucune modification de configuration ou de paramétrage dans la base de données DERBY n'est à faire entre le v2.5.00 et la v2.6.00 de l'application.
Pré-requis : Le serveur Tomcat version 5.5.27 où sera déployée l'application doit être lancé au moment de l'exécution des tâches Ant.
-Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128M -Xss2048k -Xminf0.05 -Xminf0.40 -Xmaxf0.60 |
---|
Remarque : les options de lancement concernant la langue, l'encodage et le répertoire --Dconf.dir ne sont plus nécessaires depuis la version 2.4.00.
<Connector emptySessionPath="true" acceptCount="100" connectionTimeout="20000" |
---|
ant init |
---|
Attention : le fait d'avoir BUILD SUCCESSFUL en fin de script ANT ne signifie pas forcément que la compilation s'est bien déroulée. Il faut vérifier qu'il n'y ait pas de BUILD FAILED dans les tâches maven au dessus.
ant deploy |
---|
Le fichier à copier se trouve dans le répertoire ESCOGrouper/properties/css.
Dans le cas où l'application n'a jamais été installée et la base de données mémoire n'existe pas.
Se placer dans le répertoire /ESCO-Grouper et lancer les commandes :
ant init |
---|
Quand Tomcat prend en compte le nouveau war, la base de données mémoire est créée avec le paramétrage fourni à l'étape 5.
Tomcat prend en compte le nouveau war de la façon suivante :
Dans le cas où l'application est déjà installée et la base de données mémoire existe déjà. Si l'on souhaite modifier les fichiers du répertoire /properties autres que ceux de derby (les stratégies par exemple).
Se placer dans le répertoire /ESCO-Grouper et lancer les commandes :
ant init |
---|
Quand Tomcat prend en compte le nouveau war, la base de données mémoire n'est pas modifiée par rapport à l'installation précédente.
Dans le cas où l'application est déjà installée et la base de données mémoire existe déjà. Si l'on souhaite seulement modifier le paramétrage applicatif (fichiers de propriétés derby).
Se placer dans le répertoire /ESCO-Grouper et lancer les commandes :
ant dbinit |
---|
La seconde tâche copie les fichiers générés (sql + label), supprime la base de données derby existante et alimente la base avec le nouveau paramétrage.
Ceci est vrai dans le cas du déploiement en mode local. En mode remote, il faut se référer au cas suivant.
Afin que les fichiers d'internationalisation soient pris en compte, il faut redémarrer Tomcat.
Dans le cas où l'application est déjà installée et la base de données mémoire existe déjà. Si l'on souhaite modifier à la fois le paramétrage applicatif (fichiers de propriétés derby) et les autres paramétrages (stratégie par exemple).
Se placer dans le répertoire /ESCO-Grouper et lancer les commandes :
ant init |
---|
La seconde tâche copie les fichiers générés (sql + label), supprime la base de données derby existante et alimente la base avec le nouveau paramétrage.
Afin que les fichiers d'internationalisation soient pris en compte, il faut redémarrer Tomcat.
Cette tâche permet de lancer le nettoyage des différents projets afin de pouvoir revenir à un état vierge avant toute nouvelle compilation.
Cette tâche permet de lancer un dbinit, de copier dans le projet les fichiers générés et de compiler le projet.
Cette tâche permet de générer le fichier sql permettant d'alimenter la base de données mémoire à partir des fichiers de paramétrage ainsi que les fichiers d'internationalisation.
Cette tâche peut afficher des warning lors de son exécution. Ces warnings correspondent à des clés dupliquées. Dans la majorité des cas, cela est normal car une même clé est utilisée pour le même attribut sur des pages différentes. Par exemple, l'attribut extension est utilisé dans la page de propriétés d'un groupe et dans celle d'un dossier. Le même libellé (extension.label) est utilisé. D'où le warning de la duplication de clé mais qui est normal. Il faut être vigilant sur ces duplications lors que l'on veut des libellés différents pour un même attribut.
Cette tâche permet de déployer le war sur Tomcat.
Cette tâche permet de copie les fichiers générés puis supprimer et créer à nouveau la base de données à partir des fichiers généré par la tâche dbinit ou init. Tomcat doit être démaré.
Cette tâche supprime le war et le répertoire de déploiement sous tomcat que ce soit en mode remote ou en mode local.
L'ensemble des fichiers de configuration à modifier se trouvent dans le répertoire /ESCO-Grouper/properties.
Il s'agit du fichier d'environnement nécessaire à la compilation via la tâche ant.
Clef |
Description |
Exemple |
---|---|---|
escogrouper.property.file |
Nom du fichier de propriété à utiliser pour la compilation situé dans le répertoire /ESCO-Grouper/properties |
ESCOGrouper.properties |
javascript.compression |
Compiler en utilisant le mode de compression des JavaScript |
true |
MAVEN |
|
|
maven.home |
Répertoire où se situe Maven |
/opt/apache-maven-2.2.0 |
maven.offline |
Compilation Maven en mode offline |
false |
maven.quiet |
Niveau de commentaire des tâches Maven. Affiche seulement les erreurs si en mode true. |
false |
TOMCAT |
|
|
tomcat.deploy.mode |
Détermine le mode de déploiement en local (local) ou à distance (remote). |
local |
tomcat.webapps.directory |
Répertoire de déploiement dans le cas du mode local |
/opt/tomcat/webapps |
tomcat.host |
Url d'accès au manager du Tomcat. Cette url est nécessaire pour le déploiement de l'application en mode remote. |
|
tomcat.user |
Login du compte à utiliser pour se connecter au manager (mode remote) |
manager |
tomcat.password |
Mot de passe du compte à utiliser pour se connecter au manager (mode remote) |
manager |
Il s'agit du fichier de propriétés de l'application ESCO-Grouper.
Clef |
Description |
Exemple |
---|---|---|
APPLICATION |
|
|
application.version |
Version de l'application (donné à titre indicatif) |
2.6.0 |
application.versionMajorNumber |
Version de l'application (donné à titre indicatif) |
2 |
application.versionMinorNumber |
Version mineure de l'application. Utilisé par application.xml pour afficher le numéro de version en bas de page. |
6 |
application.versionUpdate |
Version update de l'application. Utilisé par application.xml pour afficher le numéro de version en bas de page. |
0 |
application.env |
Environnement de l'application (donné à titre indicatif). Les valeurs possibles sont Test, Production, Développement, ... |
test |
application.type |
Type de compilation. Les valeurs possibles sont servlet ou portlet. |
servlet |
application.portlet.name |
Nom de la portlet. Ignorer en mode servlet. |
ESCOGrouperPortlet |
application.host |
Hôte de l'application : adresse IP ou adresse DNS du serveur Tomcat |
escogrouper.esco-portail.org |
application.context |
Contexte de l'application |
ESCOGrouper |
application.port |
Port d'accès à l'application |
443 |
CAS |
|
|
cas.mode |
Mode d'utilisation de CAS (http, https) |
https |
cas.host |
Hôte de CAS |
auth.esco-portail.org |
cas.port |
Port d'accès à CAS |
443 |
cas.uri |
URI de CAS. Le / est nécessaire en début de chaîne. |
/ |
cas.uri.login |
URI du login de CAS. Le / est nécessaire en début de chaîne. |
/login |
cas.uri.logout |
URI du logout de CAS. Le / est nécessaire en début de chaîne. |
/logout |
cas.uri.validate |
URI du validate de CAS. Le / est nécessaire en début de chaîne. |
/proxyValidate |
cas.uri.proxyCallback |
URI du callback de CAS. Le / est nécessaire en début de chaîne. |
/casProxyCallback |
LDAP |
|
|
ldap.host |
Hôte du serveur LDAP |
172.31.142.71 |
ldap.port |
Port du serveur LDAP |
389 |
ldap.login |
Login du serveur LDAP |
admin |
ldap.password |
Mot de passe du serveur LDAP |
passwd |
ldap.dn |
Le compte admin du LDAP |
cn=grouper,dc=esco-portail,dc=org |
ldap.dn.password |
Mot de passe du compte admin du LDAP |
passwd |
ldap.basedc |
Dc du serveur LDAP |
dc=esco-portail,dc=org |
ldap.baseuid |
Branche qui contient les comptes utilisateur du serveur LDAP |
ou=people,dc=esco-portail,dc=org |
BASE DE DONNÉES GROUPER |
|
|
database.driver |
Driver de la base de données |
com.mysql.jdbc.Driver |
database.username |
Login de connexion à la base de données Grouper |
esco |
database.password |
Mot de passe pour se connecter à la base de données Grouper |
passwd |
database.url |
Url de la base de données Grouper |
jdbc:mysql://172.31.142.71:3306/ |
BASE DE DONNÉES MÉMOIRE DERBY |
|
|
derby.driver |
Driver de la base de données |
org.apache.derby.jdbc.ClientDriver |
derby.port |
Port d'écoute de la base de données |
1527 |
derby.url |
Url d'accès à la base de données. Sous linux, les des slashs (//opt) sont obligatoires. |
jdbc:derby://localhost:1527//opt/conf.dir/data/ESCODB;create=true; |
derby.username |
Utilisateur de la base de données |
sa |
derby.password |
Mot de passe de l'utilisateur de la base |
passwd |
derby.requireAuthentication |
Authentification requise ou non pour accéder à la base de données (true, false) |
true |
GROUPER WS |
|
|
grouperClient.webService.url |
Url d'appel des web-services Grouper |
|
grouperClient.webService.login |
Login de connexion aux web-services |
Apd00000 |
grouperClient.webService.password |
Mot de passe de connexion aux web-service |
passwd |
LOG4J |
|
|
log4j.level |
Niveau de log dans l'ensemble de l'application. Les valeurs possibles sont DEBUG, INFO, WARN, ERROR, FATAL |
DEBUG |
log4j.appender.grouper_event.File |
Fichier de log des événements Grouper |
|
log4j.appender.grouper_error.File |
Fichier de log des erreurs Grouper |
|
log4j.appender.grouper_debug.File |
Fichier de log du debug Grouper |
|
log4j.appender.grouper_gb.File |
Fichier de log de Grouper |
|
SMTP |
|
|
smtp.host |
Hôte du serveur SMTP |
localhost |
smtp.port |
Port du serveur SMTP |
25 |
smtp.username |
Login d'accès au serveur SMTP |
|
smtp.password |
Mot de passe d'accès au serveur SMTP |
|
smtp.adress |
Adresse mail du destinataire |
ent@esco-portail.org |
smtp.name |
Nom du destinataire |
Administrateurs ENT |
smtp.adressFrom |
Adresse émettrice des mails |
devel@esco-portail.org |
smtp.nameFrom |
Nom émetteur des mails |
ESCO-Portail |
smtp.copyAdress |
Adresse de copie des mails |
julien.gribonvald@recia.fr |
error.level |
Niveau d'erreur pour envoyer les mails |
ERROR |
GROUPES DYNAMIQUES |
|
|
dynamic.group |
Inclure le plugin des groupes dynamiques au projet (true/false) |
true |
dynamic.database.attribute.field.ldaprequest |
Valeur définie dans la table grouper_fields et la colonne name. Cette valeur est l'attribut où sera sauvegardée la requête LDAP. |
rule |
dynamic.group.type |
Valeur définie dans la table grouper_types et la colonne name. Elle définie le type dynamique. |
dynamic |
Le paramétrage est un élément important de l'application, tous les écrans y font appel pour décider si tels éléments doivent être affichés ou non.
Cette brique technique se doit d'être le plus ouvert et le plus simple possible. Ainsi l'utilisation d'une base de données mémoire est recommandée dans ce type de configuration car elle est :
Or des fichiers de configurations permettent d'alimenter simplement cette base de données et de créer les fichiers d'internationalisation correspondant.
Chaque fichier contient la manière de paramétrer les différentes pages => se référer aux fichiers fournis dans les sources.
Les fichiers sont référencés dans le fichier build.xml. En modifiant build.xml, on peut modifier le nom et le nombre des fichiers de paramétrage applicatif.
Ce fichier permet de renseigner des paramètres
global.lang permet de définir les langues utilisées par l'application et ainsi vérifier lors de la génération des fichiers d'internationalisation que les libellés sont paramétrés dans l'ensemble des langues définies.
default.rule.regexp.* définit l'expression régulière utilisée si aucune autre expression n'est définie pour la validation des champs.