Sélecteurs étendus d'utilisateurs

Sélecteur de personne(s)

Configuration serveur

Masquer les utilisateurs inactifs dans les sélecteurs d’utilisateurs

Ajoutez dans Administration > Configuration > Serveur > Paramètres la clé com.vdoc.directory.selectors.users.displayInactive qui permet d’activer la fonctionnalité d’afficher ou non dans les sélecteurs d’utilisateur(s) les personnes inactives. Ce paramètre est pris en compte à condition d’avoir défini un scope sur le champ sélecteur (voir ci-dessous). La valeur par défaut est true (les utilisateurs inactifs sont affichés).

Exemple de paramétrage dans la configuration serveur :

1
com.vdoc.directory.selectors.users.displayInactive=false
Remarque

Depuis la version VDoc 15.3 et +, les utilisateurs inactifs ne sont pas présentés dans les sélecteurs d’utilisateurs. VDoc Kit tient compte de ce changement de comportement du produit à partir de sa version 4.1.2.

Ajouter de le compte ‘sysadmin’ dans les sélecteurs d’utilisateurs

Permet de forcer l’ajout du compte sysadmin dans les sélecteurs d’utilisateurs.

1
com.vdoc.directory.selectors.users.displaySysadmin=true

Ajouter de le compte ‘anonymous’ dans les sélecteurs d’utilisateurs

Permet de forcer l’ajout du compte anonymous dans les sélecteurs d’utilisateurs.

1
com.vdoc.directory.selectors.users.displayAnonymous=true

Ensuite allez dans les formulaires, sur chaque champ sélecteur d’utilisateur(s), dans la zone Développement > Attributs définissez un scope, par exemple pour un ensemble d’organisations :

scope-type=organization-names
organization-names=DefaultOrganization

Attributs

L’attribut scope-type permet de définir la nature de la contrainte que l’on souhaite poser. Il est en effet possible de contraindre le champ personne(s) à n’afficher que les utilisateurs d’une organisation ou d’un groupe. Cet attribut de filtrage est à ajouter dans le Studio, partie formulaire sur le champ standard de la palette (comme illustré ci-dessous), la zone attribut peut prendre les valeurs détaillées dans le tableau suivant :

Studio - Attributs - Sélecteur d’annuaire étendu.png Studio - Attributs - Sélecteur d’annuaire étendu.png

Valeur Description
protocol-uri Indique que la contrainte sera posée au travers d’une valeur de type protocolUri (seules les protocolUri d’organisations et de groupes sont supportées).
organization-name Indique que la contrainte sera posée par le nom système d’une organisation.
organization-names Indique que la contrainte sera posée par les noms systèmes de plusieurs organisations.
organization-field Indique que la contrainte sera posée par le nom système d’un champ sélecteur simple d’organisation.
organizations-field Indique que la contrainte sera posée par le nom système d’un champ sélecteur multiple d’organisations.
group-name Indique que la contrainte sera posée par le nom système d’un groupe. Si cette valeur est spécifiée, il faudra ajouter un attribut organization-name car les noms systèmes des groupes ne sont pas uniques sur le serveur VDoc.
group-names Indique que la contrainte sera posée par les noms systèmes de plusieurs groupes. Si cette valeur est spécifiée, il faudra ajouter un attribut organization-name car les noms systèmes des groupes ne sont pas uniques sur le serveur VDoc.
group-field Indique que la contrainte sera posée au travers du nom système d’un champ sélecteur simple de groupe.
groups-field Indique que la contrainte sera posée au travers du nom système d’un champ sélecteur multiple de groupes.
relationship Indique que la contrainte sera posée au travers d’un mot clé lié aux propriétés professionnelles de l’utilisateur connecté (assistant, manager, hierarchicalManager, …).
display-sysadmin Indique que l’utilisateur ‘sysadmin’ pourra être sélectionné.
display-anonymous Indique que l’utilisateur ‘anonymous’ pourra être sélectionné.

L’attribut protocol-uri prendra pour valeur un ProtocolUri d’organisation ou de groupe.

L’attribut organization-name prendra pour valeur le nom système d’une organisation.

L’attribut organization-names prendra pour valeur les noms systèmes d’organisations séparés par des point-virgule.

L’attribut organization-field prendra pour valeur le nom système d’un champ sélecteur simple d’organisation.

L’attribut organizations-field prendra pour valeur le nom système d’un champ sélecteur multiple d’organisations.

L’attribut group-name prendra pour valeur le nom système d’un groupe. Définir également l’attribut organization-name.

L’attribut group-names prendra pour valeur les noms systèmes de groupes séparés par un point-virgule. Définir également l’attribut organization-name.

L’attribut group-field prendra pour valeur le nom système d’un champ sélecteur simple de groupe.

L’attribut groups-field prendra pour valeur le nom système d’un champ sélecteur multiple de groupes.

L’attribut relationship prendra pour valeur un des éléments suivants : assistant, manager, hierarchicalManager, anyManager.

L’attribut recursive permet de remonter toutes les personnes d’une organisation ou d’un groupe ou d’une liste d’organisations ou de groupes. La valeur par défaut est true.

L’attribut reset permet d’indiquer si sur la modification de la contrainte il est nécessaire de vider le champ. La valeur par défaut est true.

L’attribut display-sysadmin permet de sélectionner l’utilisateur sysadmin.

L’attribut display-anonymous permet de sélectionner l’utilisateur anonymous.

Eléments XML fils de configuration

Dans les Eléments XML fils de configuration il est possible de définir les colonnes à afficher dans le sélecteur ainsi que les zones associées.

1
2
3
4
<custom>  
    <column name="email" label="Adresse mail" displayLabel="true" type="STRING" zone="properties"/>  
    <column name="extendedAttributes.values.NumeroRPPS" labelid="LG_NUMERO_RPPS" displayLabel="true" type="STRING" zone="properties" />  
</custom>
Attribut Description Complément
name Nom système de la colonne souhaitée. L’introspection est gérée. Par exemple le nom système email appellera la méthode getEmail() de l’utilisateur affiché.
On peut aussi mettre une syntaxe du type “extendedAttributes.values.MonAttributEtendu”
label permet de renseigner un libellé pour la propriété (utilisé aussi pour la zone de filtre).
labelid permet de renseigner un libellé basé sur une clé de traduction.
displayLabel permet d’indiquer si le libellé de la propriété doit être affiché à côté de la valeur. Les valeurs possibles sont true et false.
type Les valeurs possibles sont : STRING, INTEGER, TIMESTAMP, LIST, TITLED_IMAGE, FLOAT Par défaut : STRING
zone Les valeurs possibles sont : properties, extendedPropertied, additionalProperties, title, reference, date, actor, description Par défaut : properties

Quelques exemples de personnalisation

Afficher uniquement les utilisateurs d’une organisation identifiée par son nom système :

1
2
scope-type=organization-name  
organization-name=DefaultOrganization

Afficher uniquement les utilisateurs d’une organisation tenue par le champ Service ADV (ServiceADV)

1
2
scope-type=organization-field  
organization-field=ServiceADV

Afficher uniquement les utilisateurs faisant partie d’un groupe tenu par le champ Groupe des développeurs (GroupeDesDeveloppeurs)

1
2
scope-type=group-field  
group-field=GroupeDesDeveloppeurs

Afficher les utilisateurs de deux groupes en spécifiant leur noms systèmes

1
2
3
scope-type=group-names  
organization-name=DefaultOrganization  
group-names=ServiceApresVente;Partenaires

Afficher les utilisateurs appartenant directement à un groupe en spécifiant son nom système

1
2
3
4
scope-type=group-names  
organization-name=DefaultOrganization  
group-names=ServiceApresVente  
recursive=false

Afficher les utilisateurs dont l’utilisateur connecté est le responsable

1
2
scope-type=relationship  
relationship=manager

Afficher les utilisateurs dont l’utilisateur connecté est le supérieur hiérarchique

1
2
scope-type=relationship  
relationship=hierarchicalManager

Forcer l’ajout du compte sysadmin dans la liste des utilisateurs sélectionnables

1
display-sysadmin=true

Forcer l’ajout du compte anonymous dans la liste des utilisateurs sélectionnables

1
display-anonymous=true

Ajouter des informations complémentaires dans le sélecteur de Personne(s) : email et identifiant

1
2
3
4
<custom>  
    <column name="email" type="STRING" zone="properties" />  
    <column name="login" type="STRING" zone="extendedProperties" />  
</custom>