Recherche

Sommaire

Pages enfant
  • esup-ecm-uportal-groups

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

...

Nous vous proposons de récupérer les sources via subversion depuis https://subversion.cru.fr/esup-ecm/esup-ecm-uportal-groups/trunk

Bloc de code

svn co https://subversion.cru.fr/esup-ecm/esup-ecm-uportal-groups/trunk

...

 esup-ecm-uportal-groups

Configurations

Ensuite, le seul fichier de configuration du module en lui même se situe ici : src/main/resources/OSGI-INF/uportal-ws-contrib.xml (ce fichier devrait pouvoir être externalisé su jar, nous n'avons pas réussi pour l'instant). Dans ce fichier, vous devez indiquer l'URL du WebService EsupPortail/uPortal, du type :https://dsi-2.univ-rouen.fr/uPortal/services/UportalServiceImage Removed

Nous avons également développé un petit jeu de test de récupération des groupes, vous devriez pour que les tests passent (optionnel) modifier également le fichier java  src/test/java/org/esupportail/ecm/uportal/TestEsupPortalService.java : bonamvin@univ-rouen.fr est donné en dur, remplacez le par un identifiant d'un utilisateur uPortal étant affecté à au moins un groupe local.

Compilation - création du jar

Bloc de code

...


mvn clean package

vous permet d'obtenir un target/esup-ecm-uportal-groups-5.4.0.jar

Si la phase de test échoue car vous n'avez pas voulu modifier src/test/java/org/esupportail/ecm/uportal/TestEsupPortalService.java ou encore que votre EsupPortail n'est pas disponible etc. en toute conscience vous pouvez éviter la phase de tests ainsi :

Bloc de code

mvn-Dmaven.test.skip=

...

true clean package

Déploiement

Une fois le jar obtenu, sur une version nuxeo-dm-5.4.0-tomcat vous pouvez déployer esup-ecm-uportal-groups en :

* copiant target/esup-ecm-uportal-groups-5.4.0.jar dans nxserver/plugins/

* copiant les jar de target/classes/lib/ dans nxserver/lib/ (nous n'avons pas réussi à les embarquer correctement dans esup-ecm-uportal-groups-5.4.0.jar pour déploiement automatique lors du lancement de nuxeo-tomcat), c'est à dire les jars suivant :
axis-1.4.jar  axis-wsdl4j-1.5.1.jar  commons-discovery-0.2.jar  esup-uportal-ws-client-20100915.jar  jaxrpc-api-1.1.jar  mail-1.4.1.jar

Utilisation

Vous pouvez alors retrouver les groupes uPortal dans la recherche de groupes de Nuxeo (Utilisateurs et groupes) ainsi que dans l'onglet Admiinistration des espaces/sections/dossiers - Droits d'accès (positionnement des droits).

...

Voici donc ces limitations (sans doute non exhaustif) :

  • nous ne savons pas lister les membres d'un groupe (issu d'une limitation d'uPortal)
  • la résolution des groupes PAGS pose problème : pour que cela fonctionne, il faut le portail EsupPortail ait connaissance des attributs (intervants dans les règles PAGS) d'un utilisateur donné même si celui-ci est déconnecté :
    - cela pose problème pour des utilisateurs qui ne sont jamais connectés
    - dans notre configuration UNR RUNN (EsupPortail + Shibboleth) la plupart des attributs sont transients, ils ne sont informés sur un portail que lorsque l'utilisateur y est connecté ...
  • ce qui fait que ce plugin est plutôt adapté à la récupération des groupes dits locaux
  • dans Nuxeo, les groupes n'ont simplement qu'un nom qui doit être unique, il n'y a pas de notion de nom/label et d'id ... aussi on récupère non pas les ids des groupes EsupPortail mais les noms (afin que ceux-ci soient parlant pour les utilisateurs dans Nuxeo), les noms des groupes EsupPortail correspondent alors à des identifiants -> il faut s'assurer qu'ils soient uniques dans toute l'arborescence de groupes EsupPortail, attention aux accents également, etc.
  • si l'on utilise nuxeo-platform-shibboleth-groups-web (qui propose une navigation différente dans les groupes pour le positionnement des permissions) esup-ecm-uportal-groups devient inutilisable car nous ne pouvons alors plus avec cette interface rechercher des groupes ne contenant pas d'utilisateurs (et de par la limitation d'uPortal en la matière, les groupes uPortal récupérés par Nuxeo sont vides), aussi, et même si ceux-ci sont bien présents/connus par Nuxeo il nous est alors impossible de les sélectionner.

À Faire

On utilise EhCache pour éviter d'appeler trop souvent les WS EsupPortail. Cela est codé directement dans UportalGroupComputer.java, on y donne en dur le temps de cache par exemple (5 min).
On pourrait rendre cette implémentation de cache plus souple.

... autre ?