Arborescence des pages

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

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

cp <esupSrc>/uPortal_rel-3.2.4/uportal-impl/pom.xml <customDir>/uPortal/uportal-impl/

Edition du fichier pom.xml pour ajouter

vim <customDir>/uPortal/uportal-impl/pom.xml

ajouter les lignes suivantes

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

cp <esupSrc>/uPortal_rel-3.2.4/pom.xml <customDir>/uPortalajouter la ligne suivante

ajouter la ligne suivante

<grouperClient.version>1.6.3</grouperClient.version>

juste avant <hibernate.version> dans le groupe des dépendances de version.

ajouter les lignes suivantes

  <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

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,

  <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

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.

  • Aucune étiquette