Skip to main content
Version: Next

Utilisation et options du Directory Picker

1. Récupération de ressources

OpenDirectoryPicker (field,types,ismultiple)

field: Champ cible (0 est le plus souvent utilisé) types: actor, service, profile, user, group, role, code_grp, distribution_group, excel_report, extern_user, report, societe. ismultiple: true (pour sélectionner plusieurs valeurs), false (pour ne sélectionner qu'une seule valeur)

OpenDirectoryPicker( {0}, 'user', true );

Il est possible d'afficher plusieurs types de ressources, dans ce cas il faut les séparer par des ;

Une dropdown de sélection du type de ressource apparait alors en haut de la fenêtre.

OpenDirectoryPicker( {0}, 'user;service', true );

2. Affichage de ressources à partir de relation

Il faut mettre NomDeLaRelation:Valeur de la destination de la relation ([to])

Les différents type de relations possibles sont : Distribution , Hierarchie , Manager , Membre , Profiles , Roles , ServiceRole , ServiceSociete , UserAdminOrgaSociete, UserSociete

OpenDirectoryPicker( {0}, "Roles:Approbateur", true )
  • Après application du SP .Net 2013, il est possible de d'inverser le sens de récupération des valeurs de la relation (par ex les rôles d'un utilisateur). Pour cela, il faut ajouter un ! dans la relation
OpenDirectoryPicker( {0}, "Roles:!Jean ALESI", true )
  • Il est possible de combiner les relations à chercher en utilisant le | :

Dans l'exemple ci-dessous, le picker retourne les personnes membres et le manager du service 'Service informatique'

OpenDirectoryPicker({0}, 'Manager|Membre:Service informatique' , false)
  • Il est possible d'afficher des users de plusieurs relations (attention elles doivent être du même type)

OpenDirectoryPicker({0}, 'Membre:Service1;Membre:Service2;Membre:Service3', true) permet de choisir entre le Service1, Service2 et le Service3. Le système affichera alors les utilisateurs du service sélectionné.

  • Il est possible de combiner les relations en mode ET, pour cela il faut utiliser le &depends= (attention, valable uniquement sur 2016SP1 patchée minimum)

Dans l'exemple ci-dessous, le picker affiche les users membres du service informatique et disposant du rôle Author

OpenDirectoryPicker({0}, 'Membre:Service Informatique&depends=Roles:Author' , false);
  • Il est donc possible de gérer une combinatoire des fonctionnalités ci-dessus :
OpenDirectoryPicker({0}, 'Manager|Membre:Service Informatique&depends=Roles:Author' , false);
Note

Dans les résultats proposés de tous ces picker, il est possible d'afficher toutes les ressources de la base orga ou uniquement les ressources actives. Cela est géré dans le web.config avec la clé ci-dessous :

<!-- Hide locked account  in DirectoryPicker selection : 0 show, 1 hide-->
<add key="DirectoryHideLockUsers" value="1" />

3. Création d'une relation dédiée

Il est possible de créer une toute nouvelle relation. Cette dernière sera utilisée dans une picklist pour sélectionner, par exemple, des utilisateurs ainsi que des rôles dont le nom contient '3C'.

Créer le rôle 'Roles_3C' :

image.png

Puis créer la relation 'Roles_3C' :

image.png

et associer cette nouvelle relation aux rôles qui pourront être sélectionnés :

image.png

Enfin, ajouter la nouvelle relation dans le champ 'type' de la fonction OpenDirectoryPicker :

image.png

Il est alors possible de sélectionner dans la picklist des utilisateurs ou des rôles se contenant '3C' :

image.png