Une population est un ensemble d'utilisateurs / membres issus d'une même source de données (LDAP, SQL, ...).
Les "populations" d'utilisateurs sont définies par l'intégrateur dans le fichier XML WEB-INF/param/user-populations.xml (cf. Plugin Annuaires - Manuel d'intégration v1.1.0)
L'ensemble des populations/annuaires sont synchronisés toutes les nuits à une heure configurable par l'administrateur dans les paramètres de configuration.
Pour chaque membre de la population (utilisateur d'un annuaire LDAP par exemple):
- un contenu Ametys, du type défini par la population, est créé si aucun contenu ne correspond à l'identifiant ou login
- si un contenu correspondant au login est trouvé dans Ametys, on synchronise les champs du contenu
- si un contenu créé par une précédente synchronisation, est lié à un login qui n'existe plus dans la source de donnée, il est supprimé si la population est définie comme "source de confiance". Sinon le contenu n'est pas modifié.
Pour chaque membre d'une population (identifiant unique), un contenu Ametys pour chaque langues supportées sera créé. Les langues supportées par l'application sont définies dans le fichier WEB-INF/param/languages.xml de l'application.
Le plugin ne fournit pas d'outil graphique pour la synchronisation des populations. Les éventuelles erreurs survenues lors d'une synchronisation seront tracées dans les journaux de l'application et un mail sera envoyé à l'administrateur.
Tous les contenus Ametys issus de la synchronisation d'une population sont "rechercheable" via l'outil "Annuaire".
Les critères de recherche de cet outil permettent de préciser la langue, la population ou encore le type de contenu recherché.
Les contenus ne sont pas spécifique à un site.
Les champs d'un contenu qui sont synchronisés avec les données d'une source de données apparaissent sur 2 lignes dans l'éditeur en ligne :
Le bouton à droite permet de choisir d'utiliser la valeur Ametys ou la valeur distante :
Les champs non issus de la source de donnée externe ou non synchronisés, apparaissent sur une seule ligne.
Suivant la configuration de la population, il est possible que la valeur d'un champ soit extraite de la source de données externe mais non synchronisée. Dans ce cas, l'édition du champ est sur une seule ligne.
Il est possible de modifier la valeur du champ, mais cette valeur sera automatiquement écrasée lors d'une prochaine synchronisation. Si ce n'est pas souhaitable, ce champ doit être synchronisé dans la définition de la population (cf. Plugin Annuaires - Manuel d'intégration v1.1.0).
Il est ainsi possible de modifier et compléter la fiche d'une personne issue d'un annuaire LDAP.
Pour pouvoir modifier un contenu issu de la synchronisation avec une population, vous devez :
- soit avoir le droit "Modifier une fiche" de la catégorie "Annuaire" sur le contexte des contenus
- soit avoir le droit "Modifier sa fiche personnelle" et être le propriétaire du contenu (le contenu est lié à votre identifiant de connexion)
Pour publier un annuaire sur votre site, il faut définir dans le plan du site la ou les pages qui porteront les fiches des membres des populations. Ces pages sont appelées "Racine de l'annuaire".
Pour définir une telle page, sélectionnez dans l'outil "Plan du site" la page, puis cliquez sur "Racine de l'annuaire" dans l'onglet Page.
Puis sélectionnez, la population d'utilisateurs qui sera portée par cette page :
La profondeur d'arborescence correspond au nombre de pages intermédiaires qui seront utilisées pour classer les membres de la population. Ces pages intermédiaires sont calculées sur les X premières lettres du champ permettant d'identifiant un membre (son login par exemple), X étant la profondeur choisie.
Ces pages ne sont pas destinées à être affichées sur le site, elles permettent de préserver les performances d'affichage, dans le cas d'un annuaire volumineux : plus l'annuaire comporte de membres, plus la profondeur doit être grande.
Par exemples, pour un annuaire de 100 à 200 membres une profondeur de 1 suffit, tandis que pour un annuaire de plus de 10 000 membres, une profondeur de 3 est conseillée.
Dans l'exemple ci-dessous, la page "Annuaire du personnel" est la racine de l'annuaire pour la population "Annuaire du personnel". L'ensemble de ses sous-pages est constitué des fiches du personnel, classés par ordre alphabétique sur les identifiants, sur 1 seul niveau (profondeur de 1).
On parle d'arborescence dite "virtuelle", car il ne s'agit pas ici de pages "physiques" mais de pages calculées automatiquement à partir des membres de la population.
Remarques
- Une seule page racine peut être définie pour une population donnée, pour un même site.
Après avoir sélectionner une page racine pour votre annuaire (population), vous pouvez insérer le service "Recherche sur l'annuaire" pour permettre aux visiteurs d'effectuer une recherche sur l'annuaire.
Le service possède 5 paramètres:
Nom | Description | Obligatoire |
---|---|---|
Titre | Titre de l'annuaire | Non |
Population | Sélection de la population sur laquelle porte la recherche | Oui |
Résultats par page | Nombre de résultats par page | Oui |
Identifiant du service | Identifiant servant à faire communiquer deux instances de ce service (lorsque les critères et les résultats ne sont pas affichés sur la même page). | Non |
Affichage | Choix du rendu (dépend de la charte graphique). Deux rendus sont proposés par défaut :
| Oui |
Les critères de recherche et les colonnes de résultats, dépendent de la population et sont définis par l'intégrateur lors de la définition des populations : cf. Plugin Annuaires - Manuel d'intégration v1.0.0
Chaque résultat est "cliquable" et renvoie vers la fiche complète de la personne.
Le service "Afficher une fiche personne" vous permet d'afficher la fiche d'une personne sur n'importe quelle page du site.
Le service possède 3 paramètres:
Nom | Description | Obligatoire |
---|---|---|
Fiche personne | Recherche et sélection du contenu "membre" à afficher | Oui |
Vue | Vue du contenu | Oui |
Affichage | Rendu du service | Oui |
Le plugin Annuaires permet également d'effectuer des recherches simples directement sur des annuaires LDAP externes: les résultats de recherche sont extraits du LDAP, sans auquel lien avec un contenu Ametys.
Pour cela, le service de recherche "Annuaire externes" se base sur les connexions et recherche LDAP définies dans l'outil Sources de données.
Les sources de données LDAP seront définies dans l'outil "Source de données".
Les critères de recherche et les colonnes résultats sont automatiquement extraits de la définition des requêtes.
Par exemple:
Pour permettent la recherche sur un annuaire externe, insérez le service "Annuaire externe".
Le service possède 3 paramètres;
Nom | Description | Obligatoire |
---|---|---|
Titre | Titre de l'annuaire | Non |
Source externe | Sélection de la source LDAP externe. Seules les requêtes LDAP "multiple" peuvent être sélectionnées. | Oui |
Nombre de résultats par page | Nombre de résultats par page. | Oui |
Affichage | Rendu du service. Dépend de la charte graphique | Oui |