Note d'installation pour l'intégration de Esup 3.2.4 et de Grouper via le GroupStore dans le trunk du projet UPortal.
J'ai globalement suivi les instructions de Chris Hyzer pour pouvoir juste compiler le projet
conventions :
<esupSrc> : le réperoire des sources d' eSup
<uportalSrc> : le répertoire du check out de uPortal
<customDir> : le répertoire des custom de eSup.
Etape 1 : Récupération des librairies
Récupération du trunk uPortal : svn co https://source.jasig.org/uPortal/trunk
Pour vous faciliter la tâche j'ai mis tous les fichiers dans un zip qui accompagne la page.
Etape 2 : copie des sources vers Esup 3.2.4
Le code du groupStore de gouper
Bloc de code |
---|
mkdir -p <customDir>/uPortal/uportal-impl/src/main/java/org/jasig/portal/groups/grouper cp <uportalSrc>/uportal-war/src/main/java/org/jasig/portal/groups/grouper/*.java <customDir>/uPortal/uportal-impl/src/main/java/org/jasig/portal/groups/grouper |
Les dépendances pour le client grouper
Pour la compilation
Bloc de code |
---|
cp <esupSrc>/uPortal_rel-3.2.4/uportal-impl/pom.xml <customDir>/uPortal/uportal-impl/ |
Edition du fichier pom.xml pour ajouter
Bloc de code |
---|
vim <customDir>/uPortal/uportal-impl/pom.xml |
ajouter les lignes suivantes
Bloc de code |
---|
<dependency> <groupId>edu.internet2.middleware.grouper</groupId> <artifactId>grouperClient</artifactId> </dependency> |
juste après la dépendance dom4j par exemple.
pour le repository du client grouper.
Bloc de code |
---|
cp <esupSrc>/uPortal_rel-3.2.4/pom.xml <customDir>/uPortalajouter la ligne suivante |
ajouter la ligne suivante
Bloc de code |
---|
<grouperClient.version>1.6.3</grouperClient.version> |
juste avant <hibernate.version> dans le groupe des dépendances de version.
ajouter les lignes suivantes
Bloc de code |
---|
<dependency> <groupId>edu.internet2.middleware.grouper</groupId> <artifactId>grouperClient</artifactId> <version>${grouperClient.version}</version> </dependency> |
juste avant les les dépendances de hsql dans le bloc des <dependencies>
Pour la prise en compte grouper par le portail
Bloc de code |
---|
cp <uportalSrc>/uportal-war/src/main/resources/properties/groups/compositeGroupServices.xml <customDir>/uPortal/uportal-impl/src/main/resources/properties/groups |
y ajouter les éléments pour grouper ci-après en fin de fichier comme spécifié par Chris,
Bloc de code |
---|
<service> <name>grouper</name> <service_factory>org.jasig.portal.groups.ReferenceIndividualGroupServiceFactory</service_factory> <entity_store_factory>org.jasig.portal.groups.grouper.GrouperEntityStoreFactory</entity_store_factory> <group_store_factory>org.jasig.portal.groups.grouper.GrouperEntityGroupStoreFactory</group_store_factory> <entity_searcher_factory>org.jasig.portal.groups.grouper.GrouperEntitySearcherFactory</entity_searcher_factory> <internally_managed>false</internally_managed> <caching_enabled>true</caching_enabled> </service> |
Pour la configuration de Grouper
Bloc de code |
---|
cp <uportalSrc>/uportal-war/src/main/resources/grouper.client.properties /<customDir>/uPortal/uportal-impl/src/main/resources |
Modifier le fichier qui contient l'url et le compte d'accès au web service de Grouper.
Etape 3 : Patch du gestionnaire de groupes d'uPortal
L'utilisation de : comme séparateur dans le nommage des groupes dans Grouper pose un problème au gestionnaire groupes d' uPortal. Ce problème a déjà été reporté dans le Jira de uPortal (merci à Julien Gribonvald pour l'information) et Bill Brown a déjà proposé un patch https://issues.jasig.org/secure/attachment/11917/rel-3-2-patches.patch.
Pour ce faire, j'ai tout simplement modifié les fichiers source de uPortal avec les différences décrites dans le fichier patch.
Etape 4 : Initialisation et déploiement
Et pour finir : ant init deploy
Bien entendu, il faut redémarrer le portail.