Ce plugin amène 5 nouveaux droits
Catégorie "Annuaire"
Intitulé du droit | Role |
---|---|
Rechercher des utilisateurs | Accès à l'outil de recherche sur les utilisateurs |
Rechercher des entités | Accès à l'outil de recherche sur les entités |
Créer un utilisateur | Autorise à créer un utilisateur |
Créer une entité | Autorise à créer une entité |
Page racine de l'annuaire | Autorise à positionner la page racine d'un annuaire |
Page racine de l'organigramme | Autorise à positionner la page racinede l'organigramme |
Supprimer une entité | Autorise à supprimer une entité |
Catégorie "Droit sur la création de service"
Intitulé du droit | Role |
---|---|
Organigramme | Autorise à insérer le service "Organigramme" |
Pensez à affecter ces nouveaux droits aux utilisateurs et/ou groupes d'utilisateurs concernés.
A partir de la version 2.2, ce plugin apporte 3 synchronisations d'utilisateurs :
Pour la configuration de ces synchronisations d'utilisateurs, voir la doc ici.
Pour la configuration de la source, on a pour :
Paramètres | Description |
---|---|
Population | Définir la population Ametys associée à la synchronisation |
Prénom | La métadonnée du type de contenu définie qui correspondra au prénom des utilisateurs de la population Ametys |
Nom | La métadonnée du type de contenu définie qui correspondra au nom des utilisateurs de la population Ametys |
La métadonnée du type de contenu définie qui correspondra à l'e-mail des utilisateurs de la population Ametys | |
Filtre de recherche additionnel |
Le plugin Annuaire apporte un nouveau type de contenu appelé "Annuaire des utilisateurs : entités depuis une source de données SQL", pour les pôle ou services de votre annuaire.
Par défaut, ce type de contenu est composé de :
Vous pouvez surcharger ce type de contenu - comme tout autre type de contenu - pour lui ajouter de nouveaux champs.
Les contenus de type "Entités" peuvent être synchronisés avec une base SQL.
Pré-requis
- Les entités peuvent être synchronisées avec une base de donnée MySQL ou Oracle
- La structure des tables SQL est imposée (cf. ci-dessous)
- Pour rattacher les utilisateurs aux entités, les utilisateurs doivent exister dans Ametys au préalable (faire une synchronisation des utilisateurs avant)
La synchronisation des entités nécessite 2 tables SQL :
Le nom des tables SQL n'est pas imposé.
La table des entités doit nécessairement contenir :
Le type et le nom des colonnes n'est pas imposé.
Exemple
id | parent_id | name | description |
type |
---|---|---|---|---|
1876 | null | Présidence | null |
PR |
1114 | 1876 | Direction générale | null |
DIR |
1354 | 1114 | Gestion administrative et financière | null |
P |
1130 | 1114 | Commerce & Marketing | null |
P |
La table des utilisateurs doit nécessairement contenir :
Le type et le nom des colonnes n'est pas imposé.
Exemple
login | lastname | firstname | role | entity_id |
---|---|---|---|---|
mpaul | Martin | Paul | null | 1354 |
jdupont | Dupont | Jean | Responsable marketing | 1130 |
tdubert | Dubert | Thierry | Directeur général | 1114 |
Pour synchroniser les entités, vous devez créer une nouvelle synchronisation basé sur le modèle de synchronisation des entités.
Pour cela, depuis l'interface d'administration, cliquez sur "Synchronisation des contenus" de l'onglet "Administration"
Puis cliquez sur "Nouvelle définition"
Dans le formulaire, sélectionnez le type "Source SQL des entités"
Dans la section "Contenus synchronisés", choisissez le type de contenus correspond aux entités ("Entités" par défaut)
Dans la section "Cycle de vie", choisissez le cycle de vie "Entité" (cf. Plugin Annuaires - Manuel d'intégration v2.1.0)
Si vous n'avez pas personnalisé le fichier de workflow des entités, l'action initiale porte le numéro 11 et l'action de validation porte le numéro 41.
Configurez ensuite la source en fonction de la structure de votre base de donnée.
L'exemple ci-dessous correspond aux tables SQL données en exemple ci-dessus.
Libellé | Description |
---|---|
Base de données | Une base de donnée SQL |
Table des entités | Le nom de la table représentant les entités |
Identifiant des entités | Champ (métadonnée) du type de contenu entité correspondant à son identifiant unique |
Colonne identifiant des entités | Nom de la colonne SQL de la table des entités portant l'identifiant unique de chaque entité |
Table des utilisateurs | Le nom de la table représentant les utilisateurs |
Colonne faisant le lien avec les entités |
Nom de la colonne SQL de la table des utilisateurs portant l'identifiant de l'entité d'appartenance |
Identifiant des utilisateurs | Champ (métadonnée) du type de contenu utilisateur correspondant à son identifiant unique. |
Colonne identifiant des utilisateurs | Nom de la colonne SQL de la table des utilisateurs permettant d'identifier l'utilisateur dans Ametys |
Colonne du role des utilisateurs | Nom de la colonne SQL de la table des utilisateurs au rôle de l'utilisateur (champs facultatif) |
Correspondance des champs | Faire la correspondance entre les autres métadonnées et les colonnes SQL pour la table des entités |
A partir de la version 2.2.0 du plugin, vous pouvez choisir un traitement spécifique pour le type d'entité.
Si votre base de donnée contient le code du type d'entité, sélectionnez l'opérateur "Conversion des types d'entités vers des contenus Ametys"
Cet opérateur va tenter de trouver une correspondance entre le code du type d'entité dans la base de donnée et un contenu de la table de référence "Type d'entité".
Assurez-vous au préalable d'avoir correctement saisi le champ "code" dans la table de référence :
Enregistrez.
Pour aller plus loin
Il sera toujours possible de modifier le comportement par défaut en surchargeant les fichiers définissant les requêtes SQL pour récupérer les utilisateurs et les entités :
- Utilisateurs : surcharger le fichier sql-user-search.xml dans le répertoire WEB-INF/param/userdirectory/sql
- Entités : surcharger le fichier sql-search.xml dans le répertoire WEB-INF/param/contentIO/sql
Dans l'outil "Synchronisation de contenus", sélectionnez la synchronisation des entités et cliquez sur "Synchroniser les contenus"