Pages enfant
  • SmartLdapGroupStore

Vous regardez une version antérieure (v. /wiki/display/ESUPMU/SmartLdapGroupStore) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 6) afficher la version suivante »

Fonctionnement

  • Ce groupStore récupére les groupes depuis la branche groups d'un annuaire LDAP.
  • La notion de sous groupes est conservée.
  • Les personnes membres des groupes ne sont pas affichés.
  • Le service personDir est utilisé pour déterminer l'appartenance d'une personne à un groupe.
  • L'aborescence de groupe est construite au démarage du portail puis reconstruite régulièrement (paramètre  groupsTreeRefreshIntervalSeconds du fichier SmartLdapGroupStoreConfig.xml).
  • La racine de l'arborescence est SmartLdap ROOT.

Adaptations

Dans un premier temps l'objectif serait de pouvoir retrouver la structure de dossiers définie dans Grouper. Pour retrouver cette hiérarchie l'idée est de décomposer les noms des groupes et de représenter les dossiers Grouper comme des groupes uPortal.

L'idéal serait de modifier uniquement la tâche cernunnos définie dans le fichier init.crn du groupStore.

Dans un deuxième temps, voir s'il est nécéssaire d'affichier les personnes membres des groupes, sachant que cette adaptation implique une modification du code java et non plus uniquement de la partie  cernnunos. 

Tests

Pour vérifier la faisabilité et la validité de l'approche ces adapations ont été faites dans la classe SmartLdapGroupStore. Si les tests sont concluants l'étape suivante sera d'essayer de ne modifier que la partie cernnunos. Pour l'instant cette version ne fonctionne qu'avec les groupes publiés avec le cn du groupe dans la branche people (donc pas avec l'overlay memberOf).

Pour récupérer également les personnes membres des groupes passer à true le flag *displayPersonMembers* au début de la classe. Seul l'id de la personne est utilisé, il n'y a pas de requête supplémentaire effectuée pour récupérer les autres attributs utilisateurs.

Premiers tests effectués :

* uPortal 4.0.5

* Hierarchie de 10000 groupes, 5000 dossiers avec 30000 utilisateurs.

* Temps de chargement de la structure entre 6 et 8 secondes (sans les pesonnes membres des groupes).

* L'utilisation d'un groupe Grouper pour définir l'audience d'un fragment fonctionne par contre *on ne peut utiliser un groupe correspondant à un dossier* (erreur est levée au niveau de la classe GroupMembershipEvaluator lors de la tâche d'import). 

* Pour cibler les portlets tous les groupes peuvent être utilisés, y compris ceux qui correspondent à des dossier dans Grouper.

  • Aucune étiquette