Nested SearchRequests
"MIRCEA PANA" <[email protected]> Fri, 06 Aug 1999 21:22:17 -0400
| Newsgroups | gmane.ietf.lsd |
|---|---|
| Organization | Newbridge Networks |
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--------------11D07902656B7992B8D1CFCD
Content-Type: multipart/alternative;
boundary="------------31E7179B9B3AF8E3030B9091"
--------------31E7179B9B3AF8E3030B9091
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
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.
--------------31E7179B9B3AF8E3030B9091
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
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.
<p>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.
<p>For example a mail distribution app. would:
<br>1. Search for one (or more) "groupOfUniqueNames" and return its "uniqueMember"
values
<br>2. For each value from 1.: Search (scope=base) in all the DN.s (values
from previous. search) and get their "mail" values
<br>3. Send an e-mail to all the resulting addresses.
<p>If nested SearchRequest would be allowed in the baseObject, the same
application would perform just one search in the Directory:
<br><tt>Search {</tt>
<br><tt>scope=base</tt>
<br><tt>searchBase=each uniqueMember from {</tt>
<br><tt> ^^^^^^^^^^^^^^^^^^^^^^</tt>
<br><tt>
Search {</tt>
<br><tt>
scope=sub</tt>
<br><tt>
searchBase=allMyDIT</tt>
<br><tt>
filter=(cn=myMailGroup)</tt>
<br><tt>
attributes=uniqueMember</tt>
<br><tt>
}</tt>
<br><tt> }</tt>
<br><tt>filter=(mail=*)</tt>
<br><tt>attributes=mail</tt>
<br><tt>}</tt>
<br>and then use the returned "mail" values to send its message to.
<p>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:
<br><tt>Search {</tt>
<br><tt>scope=sub</tt>
<br><tt>searchBase=allMyDIT</tt>
<br><tt>filter=(&(employeenumber=*)</tt>
<br><tt>
(manager=any DN from {</tt>
<br><tt>
^^^^^^^^^^^^</tt>
<br><tt>
Search {</tt>
<br><tt>
scope=sub</tt>
<br><tt>
searchBase=allMyDIT</tt>
<br><tt>
filter=(department=IT)</tt>
<br><tt>
attributes=1.1</tt>
<br><tt>
}</tt>
<br><tt>
}</tt>
<br><tt>
)</tt>
<br><tt>
)</tt>
<br><tt>attributes=mail</tt>
<br><tt>}</tt>
<p>I would like to know what other people think about the usefulness and
feasibility of such an extension to LDAPv3.
<p>Thanks,
<br>Mircea.
<br> </html>
--------------31E7179B9B3AF8E3030B9091--
--------------11D07902656B7992B8D1CFCD
Content-Type: text/x-vcard; charset=us-ascii;
name="mpana.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Mircea Pana
Content-Disposition: attachment;
filename="mpana.vcf"
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:[email protected]
title:Systems Architect
adr;quoted-printable:;;PO Box. 13600.=0D=0A600 March Road;Kanata;Ontario;K2E 2E6;Canada
fn:Mircea Pana
end:vcard
--------------11D07902656B7992B8D1CFCD--