Manuel d'administration


  1. Droits
  2. Synchronisation des utilisateurs
  3. Synchronisation des entités (services, pôles, ...)
    1. Type de contenus "Entité"
    2. Synchronisation
      1. Structure des tables SQL
        1. Tables de entités
        2. Table des utilisateurs
      2. Configuration du modèle de synchronisation des entités
    3. Lancement de la synchronisation des entités

 

Droits

Ce plugin amène 5 nouveaux droits

Catégorie "Annuaire"

Intitulé du droitRole
Rechercher des utilisateursAccès à l'outil de recherche sur les utilisateurs
Rechercher des entitésAccès à l'outil de recherche sur les entités
Créer un utilisateurAutorise à créer un utilisateur
Créer une entitéAutorise à créer une entité
Page racine de l'annuaireAutorise à positionner la page racine d'un annuaire
Page racine de l'organigrammeAutorise à positionner la page racinede l'organigramme
Supprimer une entitéAutorise à supprimer une entité

Catégorie "Droit sur la création de service"

Intitulé du droitRole
OrganigrammeAutorise à insérer le service "Organigramme"

Pensez à affecter ces nouveaux droits aux utilisateurs et/ou groupes d'utilisateurs concernés.

 

Synchronisation des utilisateurs

 A partir de la version 2.2, ce plugin apporte 3 synchronisations d'utilisateurs :

  • Annuaire des utilisateurs : utilisateurs depuis une population Ametys
    Il permet de définir une population comme source de donnée. Ainsi les contenus synchronisés correspondront aux données de cette population (seuls les utilisateurs issus de LDAP sont gérés actuellement).
  • Annuaire des utilisateurs : utilisateurs depuis une source de données LDAP
    Il permet de définir une source de donnée qui provient d'un annuaire LDAP.
  • Annuaire des utilisateurs : utilisateurs depuis une source de données SQL
    Il permet de définir une source de donnée qui provient d'une base SQL. (Seul Oracle et MySQL sont gérés actuellement)

Pour la configuration de ces synchronisations d'utilisateurs, voir la doc ici.

Pour la configuration de la source, on a pour :

  • Annuaire des utilisateurs : utilisateurs depuis une population Ametys :

ParamètresDescription
PopulationDéfinir la population Ametys associée à la synchronisation
PrénomLa métadonnée du type de contenu définie qui correspondra au prénom des utilisateurs de la population Ametys
NomLa métadonnée du type de contenu définie qui correspondra au nom des utilisateurs de la population Ametys
EmailLa métadonnée du type de contenu définie qui correspondra à l'e-mail des utilisateurs de la population Ametys
Filtre de recherche additionnel 

 

  • Annuaire des utilisateurs : utilisateurs depuis une source de données LDAP :

    Elle est équivalente à la Source de données LDAP sauf :

    • Elle rajoute le paramètre Population

    • Elle enlève le paramètre Identifiant

  • Annuaire des utilisateurs : utilisateurs depuis une source de données SQL :

    Elle est équivalente à la Source de données SQL sauf :

    • Elle rajoute le paramètre Population

    • Elle enlève le paramètre Identifiant

 

Synchronisation des entités (services, pôles, ...)

Type de contenus "Entité"

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 :

  • un titre
  • une description
  • d'un type (table de référence)
  • d'un booléen pour afficher ou non le titre de l'entité dans l'organigramme
  • d'un "repeater" pour les membres de cette entité avec :
    • l'utilisateur
    • le rôle de l'utilisateur au sein de cette entité

Vous pouvez surcharger ce type de contenu - comme tout autre type de contenu - pour lui ajouter de nouveaux champs.

Synchronisation

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)

Structure des tables SQL

La synchronisation des entités nécessite 2 tables SQL :

  • une table représentant les entités,
  • une table représentant les utilisateurs rattachés à chaque entité

Le nom des tables SQL n'est pas imposé.

Tables de entités

La table des entités doit nécessairement contenir :

  • une colonne pour l'identifiant unique de chaque entité
  • une colonne identifiant l'entité parente

Le type et le nom des colonnes n'est pas imposé.

Exemple

idparent_idnamedescription

 type

1876nullPrésidencenull

 PR

11141876Direction généralenull

 DIR

13541114Gestion administrative et financièrenull

 P

11301114Commerce & Marketingnull

 P

Table des utilisateurs

La table des utilisateurs doit nécessairement contenir :

  • une colonne avec l'identifiant de l'entité d'appartenance
  • une colonne permettant d'identifier de manière unique l'utilisateur dans Ametys (login)

Le type et le nom des colonnes n'est pas imposé.

Exemple

loginlastnamefirstnameroleentity_id
mpaulMartinPaulnull1354
jdupontDupontJeanResponsable marketing1130
tdubertDubertThierryDirecteur général1114

Configuration du modèle de synchronisation des entités

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éesUne base de donnée SQL
Table des entitésLe nom de la table représentant les entités
Identifiant des entitésChamp (métadonnée) du type de contenu entité correspondant à son identifiant unique
Colonne identifiant des entitésNom de la colonne SQL de la table des entités portant l'identifiant unique de chaque entité
Table des utilisateursLe 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 utilisateursChamp (métadonnée) du type de contenu utilisateur correspondant à son identifiant unique.
Colonne identifiant des utilisateursNom de la colonne SQL de la table des utilisateurs permettant d'identifier l'utilisateur dans Ametys
Colonne du role des utilisateursNom de la colonne SQL de la table des utilisateurs au rôle de l'utilisateur (champs facultatif)
Correspondance des champsFaire 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

Lancement de la synchronisation des entités

Dans l'outil "Synchronisation de contenus", sélectionnez la synchronisation des entités et cliquez sur "Synchroniser les contenus"

 

Retour en haut