Paul Sandoz <[EMAIL PROTECTED]> writes:
> >>    Attached is the latest query stuff with boolean
> >>    stuff combined. The existing directory query
> >>    not inherits from the nsIBooleanExpression interface
> >>    and the nsIAbDirectoryQueryArguments has a
> >>    nsIBooleanExpression attribute.
> >
> >Why have nsIBooleanExpression and nsIBooleanCondition as empty
> >interfaces, rather than just passing an nsISupports there?
> >
> 
>       I guess i wanted to be explicit about the 
>       relationships between expression, condition
>       and operation.
>       
>       Also the nsIAbDirectoryQueryArguments 'expression'
>       attribute is explicit about what type it is.
>               
>       Do you think this is design overkill?
>       i.e. document clearly instead.

I guess I'd vote for the documentation choice, rather than adding
extra interfaces, since those aren't completely free.

> >>    I have been thinking about implementing asynchronous
> >>    query for LDAP (personal and organsizational), just
> >>    got to read up on LDAP filters so i can correctly
> >>    generate from the simple boolean expression.    
> >
> >I've been sorting out the best way to parameterize the autocomplete
> >code, and I suspect it'll be with filters as well.  Maybe we need an
> >nsIFilter object.
> >
> 
>       Hmmm... do you mean an nsILDAPFilter object?
>       
>       Not sure how this would be different from a
>       boolean expression tree i.e. an LDAP filter
>       string (RFC 2254) can be generated from the
>       expression, unless of course this interface
>       will perform this conversion?

Well, my original thinking was of using ldap_create_filter()**
configuration syntax as a way to parameterize the autocomplete stuff
so that a single string would represent both the search filter itself
as well as the format of the autocompletion string.  But now I think I 
was just confused.

** see <http://docs.iplanet.com/docs/manuals/dirsdk/csdk41/html/filter.htm>

What I'll actually probably do is just go with two separate strings
for this, like was done in 4.x.

>       I think gives the developer flexibilty if
>       ldap attributes can be represetned as strings
>       with helper interfaces which can convert from
>       more abstract representations.

It still may have some value in the future for exactly this reason.

>       In relation to filters and searches:
>       I notice that URL search has been removed from
>       the nsILDAPOperation interface. I think 
>       i remember reading why some time ago but
>       its lost on me now....

Because it was just a wrapper for ldap_url_search(), which claims to
be async, but under the covers it's really not.  See
<http://bugzilla.mozilla.org/show_bug.cgi?id=44017> for details.

>       I think as long as the nsILDAPUrl is fully
>       featured it does not matter because the
>       appropriate parameters for the searchExt
>       method could be obtained from this interface.

Right, this was exactly the thinking here.

Dan
-- 

Reply via email to