Re: [Evolution-hackers] Address book letters



Warning possible too much info incoming:

What you describe is exactly the way the buttons are meant to work, and
exactly the way they work here for me :)

The buttons have to generate a new query because we can't simply filter
on existing search rules in the ldap case (since they may have been
truncated.)

The buttons generate file_as queries.  They generate one sexp like
(beginswith "file_as" "<utf8char>") for each utf8 char in the
translation database for that button.  Then they package all those sexps
up in an (or ...) and ship it off to the backend.

Now in theory this should all be fine and dandy.  If you're talking to a
server without the evolutionPerson schema loaded, the backend turns that
(or (beginswith "file_as" "<utf8char>")...) sexp into:

(|(sn=<utf8char>*)...)

which the server should have no problem with.  If it does then there's
something wrong or misconfigured on the server's end.

If you have the evolutionPerson schema loaded, things become decidedly
more complicated.  that (sn=<utf8char>*) query won't work, because
evolutionPerson has a fileAs attribute.  but it's not required, so what
you *really* want is to use the fileAs attribute if it's there, and fall
back to sn if it's not.

one solution is to use a query like
(|(fileAs=<utf8char>*)(sn=<utf8char>*) and filter out the false
positives in the backend code before shipping them off to the UI, but we
don't have that luxury with ldap since the larger result set might get
truncated.  say you have a search limit of 100 entries, and the first
100 entries that match that fileAs query are false positives.  zero
results.

so we have to send a much more complicated query to the ldap server. 
from the code, it's:

(|(fileAs=%s*)(&(!(fileAs=*))(sn=%s*))

Which does "if defined(fileAs) then check fileAs else check sn"

We used to always generate this query when dealing with file_as, but as
some ldap servers (exchange 5.5 comes to mind) puked on it, we added the
evolutionPerson check and the fallback to just querying on sn.

Chris


On Thu, 2003-10-09 at 18:49, Peter Colijn wrote:
> Hi,
> 
> In my version of evolution (Ximian 1.4.4) I notice that the buttons on
> the right-hand side of the address book view don't really seem to do
> anything for LDAP address book folders. For me, they just blank the list
> (i.e. even when I've searched for stuff and have results).
> 
> Is this intentional? I was thinking clicking on those buttons should do
> something like search LDAP for people with names beginning with the
> letter.
> 
> I'm planning on fixing it, but wanted to check to see if anybody else
> has noticed this behaviour or if anything was planned. I looked in
> bugs.ximian.com and didn't find anything about this.
> 
> Have fun,
> 
> Peter Colijn
> 
> _______________________________________________
> evolution-hackers maillist  -  evolution-hackers lists ximian com
> http://lists.ximian.com/mailman/listinfo/evolution-hackers



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]