Projets
Pages enfant
  • Guide d'installation (fr)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3
Sommaire

Pré-requis

Afin d'effectuer l'installation de l'application d’effectuer l’installation de l’application ESCO-Grouper, certains logiciels/outils sont nécessaires nécessaires :

  • Maven 2.2.1
  • Apache ant 1.8.0
  • Tomcat 5.5.27
  • Un éditeur de texte (ex ex : Bloc Note)

L'installation 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 exemple :

CHEMIN

CORRECT OU INCORRECT

C:/Program Files/Tomcat

Incorrect

C:/Tomcat

Correct

La base de données 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).

Restriction

Il n'est pas possible d'avoir deux portlets ESCOGrouper dans le même portail à cause de la session.

...

/1.6.3 doit être installé et accessible.

Restriction

Il n'est possible d'utiliser ESCOGrouper en mode portlet que dans un portail uPortal en version 2.6 et en utilisant https. Dans ce cas, il n’est pas possible d’avoir deux portlets ESCOGrouper dans le même portail à cause de la session.

Installation de l'application

Récupération des sources

Les sources sont disponibles sur : https://sourcesup.cru.fr/frs/?group_id=824

Le guide d'installation en format PDF est disponible à : https://sourcesup.cru.fr/docman/?group_id=824

Le package ESCO-DynamicGroups doit être compilé avec grouper-ws pour déployer un hook grouper pour les groupes dynamiques, et esco-subject-extension-1.2.jar doit être déployé dans le répertoire lib de grouper-ws.

Paramétrage et configuration

Aucune modification de configuration ou de paramétrage dans la base de données DERBY n'est n’est à faire entre le v2.5.00, la v2.6.00 et la v2.6.00 07 de l'applicationl’application.

Principe général

...

d’installation

Pré-requis requis : Le serveur Tomcat version 5.5.27 où sera déployée l'application l’application doit être lancé au moment de l'exécution l’exécution des tâches Ant.

  • Étape 1 : récupération des sources
  • Étape 2 : modification des options de lancement de Tomcat pour spécifier l'emplacement des l’emplacement des fichiers de la mémoire allouée, etc...
    Bloc de code
    TEXT
    TEXT
    
    -Xms256m \-Xmx512m \-XX:PermSize=64M \-XX:MaxPermSize=128M \-Xss2048k \-Xminf0.05 \-Xminf0.40 \-Xmaxf0.60

...

  • 
    \-Djavax.net.ssl.trustStore=*\**emplacement du fichier*.cacerts si mode SSL**\*
    
    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.
  • Étape 3 : si l'installation l’installation est en mode portlet (uPortal 2.6 accédé en https), édition du fichier server.xml du serveur Tomcat pour ajout du « emptySessionPath=true » » à toutes les balises <connector> <connector> :
    Bloc de code
    TEXT
    TEXT
    
    <Connector emptySessionPath="true" acceptCount="100" connectionTimeout="20000"
    
  • Étape 4 : Lancement de Tomcat
  • Étape 5 : Modification des fichiers de configuration :
  • Étape 6 : Construction du projet par compilation maven via le script ant ant :
    • Initialisation et compilation de l'application : l’application : se placer dans le répertoire /ESCO-Grouper et lancer la commande :

...

    • commande ;
      Bloc de code
      TEXT
      TEXT
      
      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.
    • Déploiement : se placer dans le répertoire /ESCO-Grouper et lancer la commande :

...

    • commande :
      Bloc de code
      TEXT
      TEXT
      
      ant deploy
      
  • Étape 7 : Modification des fichiers d'd’aide en ligne si nécessaires (cf. §6.8).
  • Étape 8 : Pour le mode portlet (uPortal 2.6 accédé en https), il est nécessaire de copier les css dans les thèmes du portail.

 Le Le fichier à copier se trouve dans le répertoire ESCOGrouper/properties/css.

Cas de la première installation

Dans le cas où l'application n'a l’application n’a jamais été installée et la base de données mémoire n'existe n’existe pas.

Se placer dans le répertoire /ESCO-Grouper et lancer les commandes :

...

Bloc de code
TEXT
TEXT

ant init
ant deploy

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 l’étape 5.

Tomcat prend en compte le nouveau war de la façon suivante suivante :

  • En mode remote, prise en compte à chaud
  • En mode local, redémarrage de Tomcat

Cas d'une installation avec modification des propriétés autres que derby

Dans le cas où l'application l’application est déjà installée et la base de données mémoire existe déjà. Si l'on 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 :

...

commandes :

Bloc de code
TEXT
TEXT

ant init
ant deploy

Quand Tomcat prend en compte le nouveau war, la base de données mémoire n'est n’est pas modifiée par rapport à l'installation l’installation précédente.

Cas d'une installation avec modification des propriétés derby

Dans le cas où l'application l’application est déjà installée et la base de données mémoire existe déjà. Si l'on 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 commandes :a

Bloc de code
TEXT
TEXT

ant dbinit

...


ant dbdeploy

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 d’internationalisation soient pris en compte, il faut redémarrer Tomcat.

Cas

...

d’une installation avec modification des properties (derby + autre)

Dans le cas où l'application est l’application est déjà installée et la base de données mémoire existe déjà. Si l'on 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 :

...

commandes :

Bloc de code
TEXT
TEXT

ant init
ant dbdeploy
ant deploy

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 d’internationalisation soient pris en compte, il faut redémarrer Tomcat.

Les tâches ant

ant clean

Cette tâche permet de lancer le nettoyage des différents projets afin de pouvoir revenir à un état vierge avant toute nouvelle compilation.

ant init

Cette tâche permet de lancer un dbinit, de copier dans le projet les fichiers générés et de compiler le projet.

ant dbinit

Cette tâche permet de générer le fichier sql permettant d'alimenter d’alimenter la base de données mémoire à partir des fichiers de paramétrage ainsi que les fichiers d'internationalisationd’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 l’attribut extension est utilisé dans la page de propriétés d'un d’un groupe et dans celle d'un d’un dossier. Le même libellé (extension.label) est utilisé. D'où D’où le warning de la duplication de clé mais qui est normal. Il faut être vigilant sur ces duplications lors que l'on l’on veut des libellés différents pour un même attribut.

ant deploy

Cette tâche permet de déployer le war sur Tomcat.

  • En mode remote, cela « undeploy » l'application l’application existe (si elle porte le même nom de contexte) et déploie le nouveau war. Ce war est pris directement en compte par Tomcat.
  • En mode local, cela copie l'application l’application dans le répertoire paramétré. Il faut redémarrer Tomcat pour le nouveau war soit pris en compte.

ant dbdeploy

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é.

ant undeploy

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.

Configurations techniques et applicatives

L'ensemble L’ensemble des fichiers de configuration à modifier se trouvent dans le répertoire /ESCO-Grouper/properties.

Ancre
build.properties
build.properties

build.properties

Il s'agit s’agit du fichier d'environnement 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).
A distance, le déploiement utilise le manager Tomcat.
En local, le déploiement s'effectue s’effectue par copie.

local

tomcat.webapps.directory

Répertoire de déploiement dans le cas du mode local

/opt/tomcat/webapps

tomcat.host

Url d'accès d’accès au manager du Tomcat. Cette url est nécessaire pour le déploiement de l'application l’application en mode remote.

http://escogrouper:8090/manager

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

Ancre
ESCOGrouper.properties
ESCOGrouper.properties

ESCOGrouper.properties

Il s'agit s’agit du fichier de propriétés de l'application l’application ESCO-Grouper.

Clef

Description

Exemple

APPLICATION

 

 

application.version

Version de l'application l’application (donné à titre indicatif)

2.6.0

application.versionMajorNumber

Version de l'application l’application (donné à titre indicatif)

2

application.versionMinorNumber

Version mineure de l'applicationl’application. Utilisé par application.xml pour afficher le numéro de version en bas de page.

6

application.versionUpdate

Version update de l'applicationl’application. Utilisé par application.xml pour afficher le numéro de version en bas de page.

0

application.env

Environnement de l'application 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 (uniquement pour uPortal 2.6 accédé en https).

servlet

application.portlet.name

Nom de la portlet. Ignorer en mode servlet.

ESCOGrouperPortlet

application.host

Hôte de l'application l’application : adresse IP ou adresse DNS du serveur Tomcat

escogrouper.esco-portail.org

application.context

Contexte de l'application l’application

ESCOGrouper

application.port

Port d'accès à l'application d’accès à l’application

443

CAS

 

 

cas.mode

Mode d'utilisation d’utilisation de CAS (http, https)

https

cas.host

Hôte de CAS

auth.esco-portail.org

cas.port

Port d'accès 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
Utilisé dans le fichier grouper.client.properties, ce login représente « kerberos principal used to connect to ldap ». Cette clé n'est n’est utilisée que dans le cas de kerberos. Dans les autres cas elle est mise en commentaire.

admin

ldap.password

Mot de passe du serveur LDAP
Utilisé dans le fichier grouper.client.properties, ce login représente « password for shared secret authentication to ldap or you can put a filename with an encrypted password ». Cette clé n'est n’est utilisée que dans le cas de kerberos. Dans les autres cas elle est mise en commentaire.

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/
grouper?characterEncoding=UTF-8

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 d’écoute de la base de données

1527

derby.url

Url d'accès 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 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

N'est plus utilisé.


grouperClient.webService.login

N'est plus utilisé.

 

Url d'appel des web-services Grouper

http://172.31.142.71:8080/grouper-ws/servicesRest/

grouperClient.webService.login

Login de connexion aux web-services

Apd00000

grouperClient.webService.password

Mot de passe de connexion aux web-service

passwd

password

N'est plus utilisé.

 

GROUPER API service

LOG4J

 

 

log4j grouper.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

Paramétrage applicatif (base de données DERBY)

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 :

  • Souple d'utilisation grâce à un accès distant ;
  • Accessible par de multiples modules ;
  • Modifiable à chaud.

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.

MyParameters.properties

Ce fichier permet de renseigner des paramètres

  • nécessaires à la génération de la base de données,
  • communs à l'ensemble de l'application et qui sont nécessaires au bon fonctionnement de l'application.

 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.

MySearch.properties

Ce fichier concerne le paramétrage des pages relatives aux recherches :

  • Recherche de sujets :
    • Personnes
    • Groupes
    • Personnes dans un groupe
  • Recherche de dossiers

service

Service utilisé pour l'appel à Grouper API. 2 valeurs possibles :

  • grouperApiImplRecia : a été optimisé pour le calcul des droits sur un nombre important de groupes (à partie de la version 2.6.08)
  • grouperApiImpl . pour les sites pour lesquels le service grouperApiImplRecia semble moins performant (même comportement que dans la version 2.6.07 et antérieures)

grouperApiImplRecia

grouper.helper.timeToIdle

durée, en secondes, d'inactivité du cache avant sa régénération, si le service grouperApiImplRecia est utilisé

60

grouper.helper.timeToLive

durée de vie maximale, en secondes, du cache avant sa régénération , si le service grouperApiImplRecia est utilisé

600

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

Obsolète. Fichier de log des événements Grouper. Pour être utilisé il faut modifier log4j (ant/filters/log4j.filter.xml)

 

log4j.appender.grouper_error.File

Fichier de log des erreurs de l'API Grouper

/home/grouper/logs/ESCOGrouper/grouper_error.log

log4j.appender.grouper_debug.File

Obsolète. Fichier de log du debug Grouper.  Pour être utilisé il faut modifier log4j (ant/filters/log4j.filter.xml)

 

log4j.appender.grouper_gb.File

Obsolète. Fichier de log de Grouper. Pour être utilisé il faut modifier log4j (ant/filters/log4j.filter.xml)

 

log4j.appender.escogrouper.File

Fichier de log spécifique à ESCO-Grouper

/home/grouper/logs/ESCOGrouper/escogrouper.log

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

Ancre
ParametrageApplicatif
ParametrageApplicatif

Paramétrage applicatif (base de données DERBY)

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 :

  • Souple d’utilisation grâce à un accès distant ;
  • Accessible par de multiples modules ;
  • Modifiable à chaud.

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.

MyParameters.properties

Ce fichier permet de renseigner des paramètres

  • nécessaires à la génération de la base de données,
  • communs à l’ensemble de l’application et qui sont nécessaires au bon fonctionnement de l’application.

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.

MySearch

...

.properties

Ce fichier concerne le paramétrage des pages relatives aux dossiers recherches :

  • Recherche de sujets :
    • Personnes
    • Groupes
    • Personnes dans un groupe
  • Recherche de dossiers

MyStem.properties

Ce fichier concerne le paramétrage des pages relatives aux dossiers :

  • Propriétés de dossier
      Propriétés de dossier
      • Attributs
    • Création de dossier et Modification de dossier
      • Attributs
      • Modification de l'extensionl’extension
      • Privilèges

    MyGroup.properties

    Ce fichier concerne le paramétrage des pages relatives aux groupes groupes :

    • Propriétés de groupe
      • Attributs
      • Membres
      • Appartenances
      • Privilèges
    • Création de groupe et Modification de groupe
      • Attributs
      • Droits par défaut
      • Type personnalisé
      • Privilèges

    MyGroupDynamic.properties

    Ce fichier concerne le paramétrage des pages relatives aux groupes dynamique dynamique :

    • Onglet groupe dynamique
    • Page Tester règle

    MyPerson.properties

    Ce fichier concerne le paramétrage des pages relatives aux groupes groupes :

    • Propriétés de personne :
    • Attributs
    • Appartenances
    • Privilèges
    • Abonnements

    Ancre
    Internationalisation
    Internationalisation

    Internationalisation

    Labels

    Les fichiers contenant les libellés de l'application l’application et qui ne sont pas créés par la génération de la base de données se trouvent dans les répertoires répertoires :

    • /ESCO-Grouper/metier/esco-web/src/main/resources/properties/i18n/bundles/screen/
    • /ESCO-Grouper/metier/esco-web/src/main/resources/properties/i18n/bundles/
    • /ESCO-Grouper/metier/esco-module/dynamique-groupe/src/main/resources/properties/i18n/plugins/screen/

    Exceptions

    Il est possible de différencier les messages d'erreurs d’erreurs selon les écrans. Liste des préfixes pour les exceptions des résumés résumés :

    • org.esco.grouperui.group.resume. : préfixe pour l'écran l’écran de résumé des propriétés de groupe.
    • org.esco.grouperui.person.resume. : préfixe pour l'écran l’écran de résumé des propriétés de personne.
    • org.esco.grouperui.stemmodification.resume. : préfixe pour l'écran l’écran de résumé d'administration d'un dossierd’administration d’un dossier.
    • org.esco.grouperui.groupmodification.resume. : préfixe pour l'écran l’écran de résumé d'administration d'un d’administration d’un groupe.

    Exemple Exemple :

    Par défaut lorsque l'exception l’exception ESCOGroupNotSaveException est levée le message « Le « Le groupe n'a pas été enregistré.  » » est affiché.

    Si on souhaite avoir un message différent dans le résumé des propriétés de groupe, il suffit de définir une nouvelle clé dans le fichier Error_XX XX :org.esco.grouperui.group.resume.ESCOGroupNotSaveException=Mon nouveau message.

    Aide contextuelle

    Les libellés des aides contextuelles se trouvent dans les différents fichiers d'internationalisation d’internationalisation avec les clés se terminant par « « _TITLE »TITLE ».

    Si la clé n'existe n’existe pas, l'aide contextuelle s'affichera l’aide contextuelle s’affichera avec "???CLE???".

    Pour que l'aide l’aide contextuelle ne s'affiche s’affiche pas, il suffit de retirer le libellé après la clé. Par exemple exemple :STEM_CREATE_GROUP_TITLE=

    Ancre
    Strategies
    Strategies

    Stratégies

    Recherche de personnes

    Le fichier grouper-api-strategy.xml permet de définir quelle stratégie de recherche de personnes est utilisée en fonction d’une expression évaluée.

    Bloc de code
    TEXT
    TEXT
    
    <bean id="defaultStrategySubjectLocator" class="org.esco.grouperui.services.grouper.internal.locator.DefaultStrategySubjectLocator">
       <property name="evaluator" ref="evaluator" />
       <property name="defaultSearchStrategies" >
          <map>
             <entry key="evaluator.regexp('(esco:Etablissements\:((\[^_\]+)_(\\d{5,7}\\w?))(:\[^:\]+)*)\|(esco:admin:.+)\|(esco:Applications:.+)', path)" value-ref="UAIStrategySubjectSearch"></entry>
             <entry key="evaluator.regexp('(.*)', term)" value\-ref="defaulStrategySubjectSearch"></entry>
          </map>
       </property>
    </bean>
    

    Dans l’exemple ci-dessus, la stratégie "UAIStrategySubjectSearch" sera utilisée pour les groupes dont le path correspond à l’expression régulière indiquée.Les variables disponibles pour l’expression sont:

    • term : le terme de recherche qui peut contenir des caractères joker ;
    • path : le chemin à partir duquel on effectue la recherche ;
    • person : la personne effectuant la recherche.

    Recherche de groupes

    Le fichier grouper-client-strategy.xml permet de définir quelle stratégie de recherche de groupes est utilisée en fonction d’une expression évaluée. Ce fichier se trouve dans le répertoire /ESCO-Grouper/ext/grouper-client.fragment/src/main/ressources/spring.

    Bloc de code
    TEXT
    TEXT
    
    <bean id="defaultStrategyGroupLocator">
       <property name="evaluator" ref="evaluator" />
       <property name="defaultSearchStrategies" >
          <map>
             <entry key="evaluator.regexp('(.*)', term)" value-ref="defaulStrategyGroupSearch"></entry>
          </map>
       </property>
    </bean>
    

    Dans l’exemple ci-dessus, il n’existe qu’une stratégie par défaut.

    Les variables disponibles pour l’expression sont :

    • field : attribut sur lequel l’utilisateur effectue la recherche. Les valeurs possibles sont name, displayName et extension ;
    • type : le type de la recherche (simple ou pour ajout). Les valeurs possibles sont SIMPLE et ADD ;
    • path : le chemin à partir duquel on effectue la recherche ;
    • term : le terme de recherche qui peut contenir des caractères joker ;
    • subject : la personne effectuant la recherche.

    Condition par défaut des groupes dynamiques

    Le fichier group-dynamic-strategy.xml permet de définir quelle condition par défaut est affichée sur l’onglet Dynamique lors de la création d’un groupe de type dynamique en fonction d’une expression évaluée.

    Bloc de code
    TEXT
    TEXT
    
    <bean id="defaultStrategyRequestLocator"class="org.esco.grouperui.services.dynamicgroup.internal.DefaultStrategyRequestLocator">
       <property name="evaluator" >
          <bean class="org.esco.grouperui.services.dynamicgroup.internal.ExpressionEvaluator" />
       </property>
       <property name="strategies" >
          <map>
             <entry key="evaluator.regexp('esco:Etablissements:(([^_]+)_(\\d{5,7}\\w?))(:[^:]+)*', stem.getName())">
                <bean class="org.esco.grouperui.services.dynamicgroup.internal.UAIStrategyRequestFactory" />
             </entry>
             <entry key="evaluator.regexp('(.*)', stem.getName())">
                <bean class="org.esco.grouperui.services.dynamicgroup.internal.DefaultStrategyRequestFactory" />
             </entry>
          </map>
       </property>
    </bean>
    

    Dans l’exemple ci-dessus, la stratégie "UAIStrategyRequestFactory" est utilisée pour les dossiers dont le nom correspond à l’expression régulière indiquée.

    Les variables disponibles pour l’expression sont :

    • stem : le dossier dans lequel l’utilisateur créé le groupe ;
    • person : la personne effectuant la création.

    Ancre
    Profils
    Profils

    Gestion des profils

    Afin de pouvoir paramétrer l’application en fonction d’un utilisateur, il est possible de gérer différents profils.

    Le profil peut être récupéré de deux manières différentes :

    • En passant dans l’url le paramètre profile=*nomDuProfil* si l’application est en mode servlet
    • En récupérant le profil de la personne connectée sur le Portail si l’application est en mode portlet.

    Le mécanisme des profils est décrit dans le document intitulé « ESCO-Grouper - Manuel de développement v1.00.pdf ». Le point à retenir est qu’il existe des fichiers *Profile.xml qu’il est nécessaire de modifier pour autoriser ou non des fonctionnalités.

    Ajout d’un profil

    Afin d’ajouter un profil, il suffit de rajouter un fichier XML dans le répertoire des profils. Il sera chargé automatiquement au lancement de l’application.

    Contenu d’un fichier de profil

    Le contenu d’un fichier de profil correspond à ceci :

    Bloc de code
    TEXT
    TEXT
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop.xsd
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd">
       <bean id="testProfile" class="org.esco.grouperui.web.beans.profile.UserProfile">
           <property name="name" value="testProfile"></property>
           <property name="functions">
              <map>
              <!--entry key="*uneClef*" value="*unBooléen*"></entry-->
                 <entry key="org.esco.grouperui.web.stem.properties" value="true"></entry>
              </map>
           </property>
       </bean>
       <bean class="org.esco.grouperui.web.beans.profile.UserProfileAggregator">
           <description>Add the profile to the list of profiles or modify if exist.</description>
              <property name="profiles">
                 <list>
                      <ref bean="testProfile"></ref>
                 </list>
              </property>
       </bean>
    </beans>
    

    Ce fichier, par exemple, va créer un profil nommé « testProfile » qui va permettre aux utilisateurs ayant ce profil d’accéder aux propriétés de dossier dans l’application ESCO-Grouper.

    Vous trouverez en annexe §7.4 un tableau récapitulatif des clefs possibles.

    Ancre
    ServeurSMTP
    ServeurSMTP

    Serveur SMTP

    Le serveur SMTP permet d’envoyer des mails dans le cas d’une erreur technique intervenu dans l’application.

    Ce fichier smtp.xml ne doit être modifié que dans le cas où il existe plusieurs serveurs SMTP dédiés à l’application. Si un seul serveur est utilisé, la configuration s’effectue dans le fichier ESCOGrouper.properties.

    Ancre
    AideEnLigne
    AideEnLigne

    Aide en ligne

    Le fichier Help_XX.properties, qui se trouve dans le répertoire ESCOGrouper/metier/esco-web/src/main/resources/properties/i18n/bundles/screen, effectue le mapping entre les codes écran et l’emplacement des fichiers HTML contenant les aides.

    Par exemple pour l’aide en ligne de la zone de navigation :ONLINE_HELP_NAVIGUATION_AREA_URL=/ESCOGrouper/stylesheets/onlineHelp/en/navigationArea.html
    Les fichiers HTML peuvent être modifies à chaud sur le serveur Tomcat.

    Remarque : les fichiers pouvant se trouver n’importe où sur le serveur Tomcat, il faut faire attention au chemin indiqué, surtout si le contexte de déploiement est différent.

    Paramétrage du bandeau

    Pour afficher le bandeau du haut, il faut mettre à true la variable displaying de Banner dans le fichier /ESCO-Grouper/metier/esco-web/src/web/webapp/media/js/esco/option.js.

    Pour ne pas l’afficher, il faut mettre la variable à false.

    Bloc de code
    TEXT
    TEXT
    /*\*
    * Class to show banner or not
    \*/
    var Banner  = {
    displaying : true,
    isDisplayed : function(){
    		return this.displaying;
    	}
    };
    

    Annexes

    Environnements

    Les fichiers de configurations modifiés pour installer l’application sont les suivants :

    • \ESCOGrouper\metier\esco-web\src\main\filters\filters.properties
    • \ESCOGrouper\metier\esco-web\src\main\resources\properties\config.properties
    • \ESCOGrouper\metier\esco-web\src\main\resources\properties\env.properties
    • \ESCOGrouper\metier\esco-web\src\main\resources\properties\applicationContext.xml

    filter.properties

    Ce fichier est composé de filtres pour créer les fichiers de configuration de Grouper (grouper-client.properties, sources.xml, grouper.hibernate.properties et log4j.properties). Au moment de la compilation du projet via maven ces variables seront remplacées dans les fichiers adéquats.

    Variables d’environnement requises dans grouper.client.properties

    Clef

    Description

    Exemple

    grouperClient.ldap.url

    Url du LDAP pour Grouper client

    ldap://172.31.142.71/dc=esco-portail,dc=org

    grouperClient.ldap.login

    Login du compte admin du serveur LDAP

    admin

    grouperClient.ldap.password

    Mot de passe du compte admin du serveur LDAP

    passwd

    grouperClient.webService.url

    Url d’appel des web-services Grouper

    http://localhost:8080/grouper-ws/servicesRest/

    grouperClient.webService.login

    Login de connexion aux web-services

    grouper

    grouperClient.webService.password

    Mot de passe de connexion aux web-service

    passwd

    Variables d’environnement requises dans sources.xml

    Clef

    Description

    Exemple

    PROVIDER_URL

    Url du serveur LDAP

    ldap://172.31.142.71:389

    SECURITY_PRINCIPAL

    Dn du serveur LDAP

    cn=admin,dc=esco-portail,dc=org

    SECURITY_CREDENTIALS

    Login du compte admin du serveur LDAP

    admin

    base

    Base du serveur LDAP

    ou=people,dc=esco-portail,dc=org

    Variables d’environnement requises dans grouper.hibernate.properties

    Clef

    Description

    Exemple

    hibernate_driver_class

    Driver de la base de données Grouper

    com.mysql.jdbc.Driver

    hibernate_username

    Login de connexion à la base de données Grouper

    grouper

    hibernate_password

    Mot de passe pour se connecter à la base de données Grouper

    passwd

    hibernate_url

    Url de la base de données Grouper

    jdbc:mysql://escogrouper:3306/grouper?characterEncoding=UTF-8

    Variables d’environnement requises dans log4j.properties

    Clef

    Description

    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

    config.properties

    Fichier de configuration d’ESCOGrouper lui-même. Il permet de configurer les variables d’environnement nécessaires à l’utilisation de CAS et définir les chemins relatifs d’accès aux médias.

    Clef

    Description

    Exemple

    mediaPath.portlet

    Chemin relatif d’accès aux médias en mode Portlet

    /ESCOGrouper/media

    mediaPath.servlet

    Chemin relatif d’accès aux médias en mode Servlet

    ../media

    cas.url.login

    Url de connexion de CAS

    https://localhost:8443/cas/login

    cas.url.logout

    Url de déconnexion de CAS

    https://localhost:8443/cas/logout

    cas.url.validator

    Url de validation CAS

    https://localhost:8443/cas

    app.spring.ckeck

    Url de vérification de la validité de session

    https://localhost:8443/ESCOGrouper/j_spring_cas_security_check

    cas.service

    Url du service cas

    https://localhost:8443/cas

    casValidateUrl

    Url du service de validation par proxy

    https://localhost:8443/cas/proxyValidate

    proxyCallbackUrl

    Url du callback service de validation par proxy

    https://localhost:8443/ESCOGrouper/casProxyCallback

    ldap.url

    Url du serveur LDAP

    ldap://0.0.0.0:389/

    ldap.dn

    Dn du serveur LDAP

    cn=admin,dc=esco-portail,dc=org

    ldap.password

    Login du compte admin du serveur LDAP

    admin

    ldap.basedc

    Dc du serveur LDAP

    dc=esco-portail,dc=org

    ldap.baseuid

    Id de la base LDAP

    ou=people,dc=esco-portail,dc=org

    ldap.basehasMember

    Base où se trouve l’information hasMember dans le LDAP

    ou=groups,dc=esco-portail,dc=org

    env.properties

    Fichier de configuration de la base de paramétrage. Il permet de configurer la connexion à la base de données mémoire Derby.

    Clef

    Description

    Exemple

    environnement.type

    Type de l’environnement

    Dev

    version

    Version de l’application

    2.2.00

    parameter.db.classname

    Driver de la base de données

    org.apache.derby.jdbc.ClientDriver

    parameter.db.port

    Port d’écoute de la base de données

    1527

    parameter.db.host

    Hôte de la base de données

    0.0.0.0.0

    parameter.db.url

    Url de la base de données

    jdbc:derby://localhost:1527/opt/tomcat/esco/data/ESCODB;create=true;

    parameter.db.username

    Utilisateur de la base de données

    sa

    parameter.db.password

    Mot de passe de l’utilisateur de la base de données

    manager

    applicationContext.xml

    Fichier principal de définition des beans spring. Il permet de définir le type d’authentification de l’application (par formulaire inclus avec des utilisateurs spécifiques ou CAS). Les utilisateurs utilisés pour le mode formulaire sont spécifiés dans le fichier auth-form.xml.

    Groupes dynamiques

    Le fichier dynConfig.properties du projet dynamique-groupe doit être modifié pour prendre en compte les groupes dynamiques. Il se trouve dans le répertoire /ESCOGrouper/metier/esco-module/dynamique-groupe/src/main/resources\properties.

    Clef

    Description

    Exemple

    dynamic.key.attribute.ldaprequest

    Mette la valeur définie dans la table grouper_fields et la colonne name. Cette valeur est l'attribut où sera sauvegardée la requête de constitution des groupes dynamiques.

    rule

    dynamic.value

    Mettre la valeur définie dans la table grouper_types et la colonne name. Cette valeur définit le type dynamique.

    dynamic

    tab.regpresent

    Remplacer la valeur « dynamique » par celle saisie précédemment dans la clé dynamic.value.

     

    tab.group.regpresent

    Remplacer la valeur « dynamique » par celle saisie précédemment dans la clé dynamic.value.

     

    Tableau récapitulatif des clés possibles pour la gestion de profils

    Navigation area

     

     

    org.esco.grouperui.web.areaNavigation

    Display or hide the navigation area

    Menu contextuel

     

    org.esco.grouperui.web.menu.createGroup

    Contextual menu for group creation

    org.esco.grouperui.web.menu.createStem

    Contextual menu for stem creation

    org.esco.grouperui.web.menu.search

    Contextual menu for simple search (depends of the navigation area)

    org.esco.grouperui.web.menu.administrate

    Contextual menu for group or stem administration

    org.esco.grouperui.web.menu.properties

    Contextual menu for group or stem properties

    org.esco.grouperui.web.menu.optin

    Contextual menu for subscribinf a group

    org.esco.grouperui.web.menu.optout

    Contextual menu for unsubscribing a group

    org.esco.grouperui.web.menu.delete

    Contextual menu for deleting a group or a stem

    Propriété de personnes

     

    org.esco.grouperui.web.person.properties

    Allow or not the access to person properties screen

    org.esco.grouperui.web.person.properties.tab.memberships

    Display or hide the memberships tab in the person properties screen

    org.esco.grouperui.web.person.properties.tab.privileges

    Display or hide the privileges tab in the person properties screen

    org.esco.grouperui.web.person.properties.tab.subscriptions

    Display or hide the subscription tab in the person properties screen

    Propriété de groupes

     

    org.esco.grouperui.web.group.properties

    Allow or not the access to group properties screen

    org.esco.grouperui.web.group.properties.tab.members

    Display or hide the members tab in the group properties screen

    org.esco.grouperui.web.group.properties.tab.memberships

    Display or hide the memberships tab in the group properties screen

    org.esco.grouperui.web.group.properties.tab.privileges

    Display or hide the privileges tab in the group properties screen

    Modification de groupes

     

    org.esco.grouperui.web.group.modification

    Allow or not the access to the group modify screen

    Propriété de dossiers

     

    org.esco.grouperui.web.stem.properties

    Allow or not the access to the stem properties screen

    Modification de dossiers

     

    org.esco.grouperui.web.stem.modification

    Allow or not the access to the modify stem screen

    org.esco.grouperui.web.stem.modification.tab.privileges

    Display or hide the privileges tab in the modify group screen