proj-esup-grouper

Arborescence des pages

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.

...

<customDir> : le répertoire des custom de eSup.

...

Description

Pour faciliter l'intégration, les sources ont été packagées sous forme de jar via un projet maven et sont disponibles sur le repository du RECIA. Donc la récupération des jar sera automatique en suivant les étapes décrites après.

...

- Affichage, navigation dans l'arborescence des groupes grouper et listing de leurs membres possible via le groupManager, les groupes sont aussi visible dans le permissionManager et le channelManager.

...

Intégration au portail Esup 3.2.4

La compilation

  • Ajout d'un repository
Bloc de code
cp <esupSrc>/uPortal_rel-3.2.4/pom.xml <customDir>/uPortal/

Edition du fichier pom.xml pour ajouter les repository

...

ajouter les lignes suivantes dans la liste des dependencies, juste avant le commentaire <!-- esup dependencies - ->

Bloc de code
<!-- esco dependencies -->
    <dependency>
      <groupId>org.esco.grouper</groupId>
      <artifactId>esco-grouper-portal-groupManager</artifactId>
      <version>0.0.3-grouper-1.6.3</version>
      <exclusions>
        <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
           <groupId>net.sf.ehcache</groupId>
           <artifactId>ehcache</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
        <groupId>edu.internet2.middleware.subject.provider</groupId>
        <artifactId>ldap-source-adapter</artifactId>
        <version>0.0.3-grouper-1.6.3</version>
        <exclusions>
        <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
           <groupId>net.sf.ehcache</groupId>
           <artifactId>ehcache</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

...

Bloc de code
# ldap source adapter properties
#
# for a complete list of properties see:
#      http://code.google.com/p/vt-middleware/wiki/vtldap#Configuration_Properties
#
#


edu.vt.middleware.ldap.ldapUrl=ldap://pds.example.edu:389
edu.vt.middleware.ldap.base=dc=example,dc=edu
edu.vt.middleware.ldap.searchScope=SUBTREE

# authn if simple
edu.vt.middleware.ldap.serviceUser=cn=admin,dc=example,dc=edu
edu.vt.middleware.ldap.serviceCredential=admin_password

# authn for sasl external (certificates)
#edu.vt.middleware.ldap.authtype=EXTERNAL
#edu.vt.middleware.ldap.tls=true
#edu.vt.middleware.ldap.serviceUser=cn=admin.example.edu
# these to use PEM format cert and key
#pemCaFile=/path/to/ca.pem
#pemCertFile=/path/to/cert.pem
#pemKeyFile=/path/to/key.pem

# pooling options
edu.vt.middleware.ldap.pool.minPoolSize = 2
edu.vt.middleware.ldap.pool.maxPoolSize = 5

...

Adaptation des sources uPortal

Patch du gestionnaire de groupes d'uPortal

...

Bloc de code
titlediff <updateSrc>uPortal/uportal-impl/src/main/java/org/esupportail/portal/ws/groups/PortalGroups.java <customDir>uPortal/uportal-impl/src/main/java/org/esupportail/portal/ws/groups/PortalGroups.java
35a36
> import org.esco.portal.groups.grouper.ESCOEntityGroupImpl;
284,285c285,290
<     				// on remplit ce vecteur en remontant la hierarchie recursivement
<     				getRecurContainingGroups(egi, groups, v);
---
> 					// on remplit ce vecteur en remontant la hierarchie recursivement
> 					if (egi instanceof ESCOEntityGroupImpl) {
> 						getESCORecurContaininGroups(egi,v);
> 					} else {
> 						getRecurContainingGroups(egi, groups, v);
> 					}
364,365c369,383
<
<
---
>
>  	/**
> 	* Même méthode que la précédente mais spécifique aux groupes esco.
> 	*/
>    	private void getESCORecurContaininGroups(IEntityGroup egi, Vector v) {
>     	String[] list = egi.getKey().split(":");
>         StringBuffer group = new StringBuffer();
>         for (String current : list) {
>             if (group.length()>0) {
>                 group.append(":");
>             }
>             group.append(current);
>             v.add(group.toString());
>         }
> 	}

...

Initialisation et déploiement

Et pour finir : ant init deploy

...