Ce chantier a pour but d'utiliser le moteur de règles générique afin de paramétrer les données utilisateurs remontées depuis l'annuaire LDAP.

But

Remplacer la configuration statique des données utilisateurs présente à l'heure actuelle dans la page de config d'un serveur LDAP.

MoYo : reposons les enjeux réels parce que là le but annoncé n'est que technique et pas fonctionnel. Ma question initiale car j'ai l'impression que l'on s'oriente vers une usine à gaz incontrôlable : que veux t'on faire que l'on ne fait pas actuellement ? Ou plus généralement, quelles sont les fonctionnalités attendues par ce module de récupération de données depuis LDAP (déjà réalisées ou pas peu importe).

Walid : finalement est ce que ça a vraiment un intérêt de passer par le moteur pour cela ? je me pose la question en fait...

MoYo : bonne question.

Propositions

Créer un nouveau type de règle pour la remontée des attributs utilisateurs :
  • type RULE_LDAP_ATTRIBUTES
  • critères :
    • serveur LDAP
    • MoYo : il ne manquerait pas les valeurs de champ LDAP ? sans ca le reste de la page perd pas mal de sens.
  • actions :
    • assigner : valeur d'un champs LDAP à un champs GLPI

Il est possible de réutiliser les nom d'attributs LDAP définis dans les règles d'affectation des utilisateurs à des entités. Ceux-ci sont stockés dans la table glpi_rules_ldap_parameters.

Fonctionnement du moteur

  • est ce que le moteur s'arrête à la première règle vérifier (je suis tenté de dire non, mais ça peut complexifier le traitement)
  • si le moteur ne s'arrête pas à la première règle, est ce qu'il passe le résultat de la règle à la suivante ? (peut-être intéressant pour chainer les traitements, comme les business rules)

Requête LDAP

Il y a 2 possibilités pour effectuer la requête LDAP :
  • si on a seulement comme critères pour une règle des données provenant de GLPI (serveur LDAP) on peut passer le moteur de règle et faire une requête LDAP dans le executeActions
  • si on a plusieurs règles, à quel moment fait-on une requête LDAP pour récupérer les infos ? lors du prepareDateForInput (dans ce cas là cela veut dire qu'il faut lister tous les champs dont on a besoin) ?

Critères et actions

Walid :
- est ce qu'on propose tous les critères LDAP comme critères possibles pour une règle ? ça permet des choses du style "si le user est dans l'OU XX alors remonte telle info". Cela permet aussi de pouvoir utiliser les regex pour modifier à la volée des infos qui remontent de l'annuaire.
- est ce qu'il ne serait pas judiscieux de faire l'affectation aux groupes GLPI avant de passer le moteur ? ça permettrait de dire "si le user appartient au groupe XX alors remonte telles infos seulement"

Création d'un annuaire

Walid :
- comment gérer les modèles de pré-configuration dans le cas de la création d'un annuaire ?
- la création d'un annuaire entraine automatiquement la création d'une règle de récupération des données ?
- pour la migration depuis une base en 0.71, on crée une règle par annuaire avec comme seul critère le nom de celui-ci ?