Recherche globale sur objet Service (bis)

Request description

Bonjour,

Je rouvre ce ticket afin de voir si vous aviez pu étudier ma demande ?

J’ai un objet service LDAP mappé avec un objet User. Je souhaite qu’à la création d’un User, le champ qui affiche la loupe permette une recherche globale dans le LDAP, par UID mais aussi firstname et lastname.

J’ai essayé de créer un champ calculé mais la recherche sur l’objet service via ce champ ne fonctionne pas.

J’essaie donc de surcharger le preSearch pour transformer ma recherche

  • soit en transformant mon setFilter sur le UID en un setFilter de type OR (UID = toto OR firstname = toto …) mais je ne trouve pas comment faire des OR entre les filtres
  • soit en passant directement la syntaxe LDAP au service ({||(givename=toto,uid=toto …)} mais je ne trouve pas où je peux le faire

Merci !
Emmanuelle

Bonjour,

Oui ce sujet est resté en bas de la pile…

Pour généraliser le besoin il s’agirait de mettre en place un mécanisme permettant d’implémenter une “recherche globale indexée” sur les objets service lorsque le service en question offre ce type de fonctionnalité.

Ensuite on commencera par essayer de l’appliquer aux objets service LDAP.

1 Like

On a un peu avancé sur ce sujet.

A partir de la 5.3.15 il y aura la possibilité d’utiliser la recherche globale sur les objets service LDAP:

Under the hood ça repose sur le support des syntaxes de recherche “avancée” de type in (x,y,z) pour les attributs de ces objets service LDAP.

Pour le moment ils ne supportent pas les autres syntaxes avancées (ex: ='x' or like 'y') et cette feature reste, à ce stade, encore assez expérimentale.

Comme pour tout objet, pour avoir l’accès à la recherche globale sur un tel objet il faut le marquer “indexable” et avoir au moins un attribut marqué “indexable”.

Attention, ici il ne s’agit pas de l’“indexation” au sens de l’indexation interne mais bien d’un cas particulier de recherche sur le LDAP

Autrement dit cette recherche globale n’est disponible qu’au niveau de l’objet, elle n’est pas intégrée à la recherche globale principale qui, elle, repose sur l’index interne.

PS: pour la petite histoire cette évolution s’inscrit dans une évolution plus large des objets services, à savoir l’ajout d’un hook d’objet service dédié à l’implémentation, si ça a du sens pour le service considéré, d’une recherche globale. Ce mécanisme est lui aussi encore expérimental et est donc susceptible d’évoluer

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.