]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapo-dynlist.5
166db769d3bec31bcc8742cfe0f43d5cad36affe
[openldap] / doc / man / man5 / slapo-dynlist.5
1 .TH SLAPO-DYNLIST 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" Copyright 1998-2005 The OpenLDAP Foundation, All Rights Reserved.
3 .\" Copying restrictions apply.  See the COPYRIGHT file.
4 .\" $OpenLDAP$
5 .SH NAME
6 slapo-dynlist \- Dynamic List overlay
7 .SH SYNOPSIS
8 ETCDIR/slapd.conf
9 .SH DESCRIPTION
10 The
11 .B dynlist
12 overlay to
13 .BR slapd (8)
14 allows expansion of dynamic groups and more.
15 Any time an entry with a specific objectClass is being returned,
16 the LDAP URI-valued occurrences of a specific attribute are
17 expanded into the corresponding entries, and the values
18 of the attributes listed in the URI are added to the original
19 entry.
20 No recursion is currently allowed, to avoid potential infinite loops.
21
22 .SH CONFIGURATION
23 The config directives that are specific to the
24 .B dynlist
25 overlay must be prefixed by
26 .BR dynlist\- ,
27 to avoid potential conflicts with directives specific to the underlying 
28 database or to other stacked overlays.
29
30 .TP
31 .B overlay dynlist
32 This directive adds the dynlist overlay to the current database,
33 or to the frontend, if used before any database instantiation; see
34 .BR slapd.conf (5)
35 for details.
36
37 .LP
38 These 
39 .B slapd.conf
40 configuration options apply to the dynlist overlay. They must appear
41 after the
42 .B overlay
43 directive.
44 .TP
45 .B dynlist-oc <objectClass>
46 The name of the objectClass that triggers the dynamic expansion of the
47 data.  This statement is required.
48 .TP
49 .B dynlist-ad <attributeName>
50 The name of the attributeDescription that holds the LDAP URI values that
51 will expand; if none is present, no expansion occurs.  If the intersection
52 of the attributes requested by the search operation (or the asserted attribute
53 for compares) and the attributes listed in the URI is empty, no expansion 
54 occurs for that specific URI.  This statement is required.
55 .TP
56 .B dynlist-member-ad <attributeName>
57 The name of the attributeDescription that will list the DN of the entries
58 resulting from the internal search.  This statement is optional and, if
59 present, changes the behavior of the overlay into that of a dynamic group.
60 The <attrs> portion of the URI must be absent, and the DNs of all the entries 
61 resulting from the expansion of the URI are listed as values of this 
62 attribute.
63 Compares to
64 .B dynlist-member-ad
65 attributes of entries with 
66 .B dynlist-oc
67 objectClass apply as if the DN of the entries resulting from the expansion 
68 of the URI were present in the 
69 .B dynlist-oc 
70 entry as values of the
71 .B dynlist-member-ad
72 attributeType.
73 .LP
74 The dynlist overlay may be used with any backend, but it is mainly 
75 intended for use with local storage backends.
76 In case the URI expansion is very resource-intensive and occurs frequently
77 with well-defined patterns, one should consider adding a proxycache
78 later on in the overlay stack.
79
80 .SH EXAMPLE
81 This example collects all the email addresses of a database into a single
82 entry; first of all, make sure that slapd.conf contains the directives:
83
84 .LP
85 .nf
86     include /path/to/dyngroup.schema
87     # ...
88
89     database <database>
90     # ...
91
92     overlay dynlist
93     dynlist-oc groupOfURLs
94     dynlist-ad memberURL
95 .fi
96 .LP
97 and that slapd loads dynlist.la, if compiled as a run-time module;
98 then add to the database an entry like
99 .LP
100 .nf
101     dn: cn=Dynamic List,ou=Groups,dc=example,dc=com
102     objectClass: groupOfURLs
103     cn: Dynamic List
104     memberURL: ldap:///ou=People,dc=example,dc=com?mail?sub?(objectClass=person)
105 .fi
106
107 If no <attrs> are provided in the URI, all (non-operational) attributes are
108 collected.
109
110
111 .SH FILES
112 .TP
113 ETCDIR/slapd.conf
114 default slapd configuration file
115 .SH SEE ALSO
116 .BR slapd.conf (5),
117 .BR slapd (8).
118 .SH ACKNOWLEDGEMENTS
119 .P
120 This module was written in 2004 by Pierangelo Masarati for SysNet s.n.c.