Note d'installation pour l'intégration de Esup 3.2.4 et de Grouper via le GroupStore dans le trunk du projet UPortal.
Pour le moment cela s'apparente plus à un hack :)
Etape 1 : Récupération des librairies
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
modification de grouper.client.properties
modification de compositeGroupServices.xml
mvn install
Etape 2 : Copie des fichiers dans votre Esup 3.2.4 de test
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.Etape 3 : Adaptation du gestionnaire groupe de uPortal (patch pour Grouper)
