Page 1 sur 1

Groupes d'un membre

MessagePublié: 01 Sep 2011 à 14:30
par R-one
Bonjour à tous,


Je cherche actuellement à faire un script qui permet d'afficher les groupes à partir d'un membre.

Je veux bien evidemment tous les groupes (même les groupes sécurités)

Pistes à oublier :
@expandnamelist
le script avec Function UserGroupe posté par Michael DELIQUE
le script d'un certain Jean-René PROVOST

le premier ne permet pas de récupérer les groupes de sécurité
les deux autres permettent de récupérer les groupes où l'utilisateur est mis en dur mais pas les groupes qui englobent ces groupes.

Au final, je souhaite savoir comme IBM a fait pour la fonctionnalité qui se trouve dans Domino Administrator :
>> Gérer Groupes
>>Hiérarchies de membres uniquement


Si vous savez où elle se trouve dans les bases ntf ou si vous avez une méthode miracle, je suis preneur! ^^

Merci d'avance.

MessagePublié: 01 Sep 2011 à 21:28
par roubech
@expandnamelist ? tu veux parler de @UserNamesList ?
http://publib.boulder.ibm.com/infocente ... ABOUT.html

J'ai pas la fonction de Michael en tête, mais j'imagine que tu peux la rendre récursive pour rebondir de groupe en groupe au gré des inclusions

MessagePublié: 02 Sep 2011 à 11:47
par R-one
Oui, autant pour moi, @UserNamesList.
Mais cette fonction fonctionne seulement avec l'utilisateur courant.

J'ai résolu mon problème.

Je n'utilisate pas la fonction de Michael.
Dans la base "names.nsf": j'ai créé une vue privée où je vais modifier la selection de vue, au fur et à mesure de mon programme.

La selection de vue est la suivante, seul la variable st va changer.
"formula = |SELECT @IsMember("|+st+|" ;Members)|"

La variable st est le nom canonique de la personne.
Cette première sélection renvoie tous les groupes où la personne est inscrite en dure.
Et ensuite, de manière récursive, je parcours tous les groupes trouvées, jusqu'à qu'il n'y ait plus rien à parcourir.

Au premier abord, ça marche nickel. J'ai bien sûr utiliser un service web pour que ça soit plus rapide.

MessagePublié: 02 Sep 2011 à 15:14
par R-one
J'ai trouvé encore plus rapide et donc beaucoup mieux.

J'ai une vue partagée comme sélection de vue :
SELECT Type = "Group" & GroupType != "3" & Form = "Group"

J'ai catégorisé et trié ma première colonne de vue sur le champs "members".

J'ai mi en deuxieme colonne le champs "ListName".

Plus qu'à utiliser la fonction récursive et le tour est joué.