Pregunta

Me gustaría saber si es posible implementar terminación automática en un formulario de búsqueda que es consulta de un directorio LDAP.

Estoy creando un pequeño widget que permite a los usuarios buscar personas en el directorio LDAP y luego mostrar información como el número de teléfono, etc.

Hay una gran cantidad de personas en el directorio, por lo que sería bueno que ayudan a los usuarios por auto-completar el formulario de acuerdo con lo que escribieron hasta ahora.

En realidad es más o menos lo jQuery UI hace con autocompletar

¿Tengo que solicitar directamente el directorio LDAP cada vez que el usuario pulsa una tecla? O tal vez debería almacenar en caché (de forma local o en el servidor)?

Gracias por su ayuda

¿Fue útil?

Solución

definitivamente podría realizar una búsqueda LDAP utilizando un filtro comodín como (givenName = E *). LDAP está optimizado para búsquedas de directorio, y por lo general si sólo está utilizando las réplicas, esto puede escalar muy bien.

Si se está ejecutando en cuestiones de capacidad, recomendaría realizar una única operación de lista y una caché de resultados. Mi estrategia de almacenamiento en caché preferible sería en el lado del servidor, ya que ello reducir la carga en el servidor.

Otros consejos

Claro que puedes, pero debido a la ida y vuelta de la solicitud, incluso con el más rápido de los servidores LDAP, podrás que desee para utilizar un "observador retrasada" detector de eventos en el campo de búsqueda . Esto significa que la solicitud de búsqueda no va a salir de inmediato en cada pulsación de tecla, pero sólo después de que el usuario escribe algunos caracteres y pausas durante un tiempo.

Creo jQuery UI ya implementa un observador retardada por sus cosas de autocompletar, al igual que scriptaculous' autocompletar del widget.

P.S. El almacenamiento en caché de todos los usuarios en el directorio local en javascript y locales de búsqueda en realidad no lo hará el trabajo por más de un par de cientos de usuarios, en mi humilde opinión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top