Question

Je voudrais savoir s'il est possible de mettre en œuvre autocomplétion sur un formulaire de recherche qui est l'interrogation d'un annuaire LDAP.

Je crée un petit widget qui permet aux utilisateurs de rechercher des personnes dans le répertoire LDAP, puis afficher des informations telles que le numéro de téléphone, etc.

Il y a beaucoup de gens dans le répertoire, il serait bien d'aider les utilisateurs par auto-remplir le formulaire selon ce qu'ils ont écrit jusqu'à présent.

Il est en fait à peu près ce que jQuery UI fait avec Autocomplete

Dois-je demander directement l'annuaire LDAP à chaque fois que l'utilisateur appuie sur une touche? Ou peut-être devrais-je mettre en cache (localement ou sur le serveur)?

Merci pour votre aide

Était-ce utile?

La solution

Vous pourriez certainement effectuer une recherche LDAP à l'aide d'un filtre de carte sauvage comme (givenName = E *). LDAP est optimisé pour les recherches d'annuaire, et généralement si vous utilisez seulement les répliques, cela peut évoluer assez bien.

Si vous utilisez dans les problèmes de capacité, je vous recommande d'effectuer une opération de liste unique et mettre en cache les résultats. Ma stratégie de mise en cache serait préférable sur le côté serveur, car cela permettrait de réduire la charge sur votre serveur.

Autres conseils

Bien sûr, vous pouvez, mais en raison du voyage aller-retour de la demande, même avec le plus rapide des serveurs LDAP, vous voulez pour utiliser un écouteur d'événement « d'observateur retardé » sur le champ de recherche . Cela signifie que la demande de la recherche ne sera pas aller immédiatement à chaque pression de touche, mais seulement après que les types d'utilisateurs des caractères et des pauses pendant un certain temps.

Je crois que l'interface utilisateur met déjà en œuvre jquery un observateur retard pour ses choses autocomplete, tout comme scriptaculous' autocomplete widget de.

P.S. Mise en cache de tous les utilisateurs dans le répertoire local en javascript et recherche locale ne sera pas vraiment travailler pour plus d'un couple de centaines d'utilisateurs, à mon humble avis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top