Domanda

Mi piacerebbe sapere se è possibile implementare completamento automatico in un modulo di ricerca che è l'interrogazione di una directory LDAP.

Sto creando un piccolo widget che consente agli utenti di cercare le persone nella directory LDAP e quindi visualizzare informazioni quali il numero di telefono, ecc.

C'è un sacco di gente nella directory, quindi sarebbe bello per gli utenti di aiuto da parte di auto-compilando il modulo in base a ciò che ha scritto finora.

In realtà è praticamente quello jQuery UI fa con completamento automatico

Devo richiedere direttamente alla directory LDAP ogni volta che l'utente preme un tasto? O forse dovrei cache (in locale o su server)?

Grazie per il vostro aiuto

È stato utile?

Soluzione

Si potrebbe sicuramente eseguire una ricerca LDAP utilizzando un filtro come wild card (givenName = E *). LDAP è ottimizzato per le ricerche di directory, e di solito se si sta utilizzando solo le repliche, questo può scalare abbastanza bene.

Se si sta eseguendo in problemi di capacità, mi sento di raccomandare di eseguire una singola operazione lista e cache i risultati. La mia strategia di caching preferibile sarebbe sul lato server, dal momento che sarebbe ridurre il carico sul server.

Altri suggerimenti

Certo si può, ma a causa del round-trip della richiesta, anche con il più veloce di server LDAP, si voler di usare un "osservatore ritardata" listener di eventi sul campo di ricerca . Ciò significa che la richiesta di ricerca non andrà immediatamente a ogni pressione del tasto, ma solo dopo che l'utente digita alcuni caratteri e le pause per un po '.

Credo jQuery UI implementa già un osservatore ritardata per le sue cose di completamento automatico, così come Scriptaculous' di completamento automatico dei widget.

P.S. Caching di tutti gli utenti nella directory localmente in javascript e locale di ricerca non sarà davvero lavoro per più di un paio di centinaia di utenti, IMHO.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top