[Date Prev][Date Next] [Chronological] [Thread] [Top]

Nested SearchRequests



I would like to make a suggestion for extending the LDAP SearchRequest to allow nested SearchRequest (a similar extension may be imagined for the CompareRequest as well). I am not sure if this kind of extension would be in accordance with the LDAPv3 spec. or if it is feasible at this point but I find it really useful. ...and if the following does not make any sense, please forgive my ignorance.

Many Directory enabled applications have to perform multiple SearchRequest before they get to the data they actually want to use. So in order to minimize both the processing time and the data volume on the wire they should be able to construct more complex searches. It is true that each search request would take longer to process but I believe that the overall processing time may be improved. 

For example a mail distribution app. would:
1. Search for one (or more) "groupOfUniqueNames" and return its "uniqueMember" values
2. For each value from 1.: Search (scope=base) in all the DN.s (values from previous. search) and get their "mail" values
3. Send an e-mail to all the resulting addresses.

If nested SearchRequest would be allowed in the baseObject, the same application would perform just one search in the Directory:
Search {
scope=base
searchBase=each uniqueMember from {
           ^^^^^^^^^^^^^^^^^^^^^^
                       Search {
                       scope=sub
                       searchBase=allMyDIT
                       filter=(cn=myMailGroup)
                       attributes=uniqueMember
                       }
    }
filter=(mail=*)
attributes=mail
}
and then use the returned "mail" values to send its message to.

The filter could also be extended to include nested SearchRequest. In the following example the (hypothetical) LDAP client searches for all the e-mail addresses of the people managed by IT managers:
Search {
scope=sub
searchBase=allMyDIT
filter=(&(employeenumber=*)
             (manager=any DN from {
                      ^^^^^^^^^^^^
                         Search {
                         scope=sub
                         searchBase=allMyDIT
                         filter=(department=IT)
                         attributes=1.1
                         }
                     }
                 )
            )
attributes=mail
}

I would like to know what other people think about the usefulness and feasibility of such an extension to LDAPv3.

Thanks,
Mircea.
 

begin:vcard 
n:Pana;Mircea
tel;pager:+1-613-364-1385
tel;fax:+1-613-591-3680
tel;work:+1-613-599-3600 x6907
x-mozilla-html:TRUE
url:http://www.newbridge.com
org:Newbridge Networks;Messaging and Directory Systems
version:2.1
email;internet:mpana@newbridge.com
title:Systems Architect
adr;quoted-printable:;;PO Box. 13600.=0D=0A600 March Road;Kanata;Ontario;K2E 2E6;Canada
fn:Mircea Pana
end:vcard