]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapo-dynlist.5
happy new year
[openldap] / doc / man / man5 / slapo-dynlist.5
1 .TH SLAPO-DYNLIST 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" Copyright 1998-2007 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 allowed, to avoid potential infinite loops.
21 The resulting entry must comply with the LDAP data model, so constraints
22 are enforced.
23 For example, if a \fISINGLE-VALUE\fP attribute is listed,
24 only the first value results in the final entry.
25
26 .SH CONFIGURATION
27 The config directives that are specific to the
28 .B dynlist
29 overlay must be prefixed by
30 .BR dynlist\- ,
31 to avoid potential conflicts with directives specific to the underlying 
32 database or to other stacked overlays.
33
34 .TP
35 .B overlay dynlist
36 This directive adds the dynlist overlay to the current database,
37 or to the frontend, if used before any database instantiation; see
38 .BR slapd.conf (5)
39 for details.
40
41 .LP
42 This
43 .B slapd.conf
44 configuration option is define for the dynlist overlay. It may have multiple 
45 occurrences, and it must appear after the
46 .B overlay
47 directive.
48 .TP
49 .B dynlist-attrset <group-oc> <URL-ad> [<member-ad>]
50 The value 
51 .B <group-oc> 
52 is the name of the objectClass that triggers the dynamic expansion of the
53 data.
54
55 The value
56 .B <URL-ad>
57 is the name of the attributeDescription that cointains the URI that is 
58 expanded by the overlay; if none is present, no expansion occurs.
59 If the intersection of the attributes requested by the search operation 
60 (or the asserted attribute for compares) and the attributes listed 
61 in the URI is empty, no expansion occurs for that specific URI.
62 It must be a subtype of \fIlabeledURI\fP.
63
64 The value
65 .B <member-ad>
66 is optional; if present, the overlay behaves as a dynamic group: this
67 attribute will list the DN of the entries resulting from the internal search.
68 In this case, the <attrs> portion of the URI must be absent, and the DNs 
69 of all the entries resulting from the expansion of the URI are listed
70 as values of this attribute.
71 Compares that assert the value of the
72 .B <member-ad>
73 attribute of entries with 
74 .B <group-oc>
75 objectClass apply as if the DN of the entries resulting from the expansion 
76 of the URI were present in the 
77 .B <group-oc> 
78 entry as values of the
79 .B <member-ad>
80 attribute.
81 .LP
82 The dynlist overlay may be used with any backend, but it is mainly 
83 intended for use with local storage backends.
84 In case the URI expansion is very resource-intensive and occurs frequently
85 with well-defined patterns, one should consider adding a proxycache
86 later on in the overlay stack.
87
88 .SH EXAMPLE
89 This example collects all the email addresses of a database into a single
90 entry; first of all, make sure that slapd.conf contains the directives:
91
92 .LP
93 .nf
94     include /path/to/dyngroup.schema
95     # ...
96
97     database <database>
98     # ...
99
100     overlay dynlist
101     dynlist-attrset groupOfURLs memberURL
102 .fi
103 .LP
104 and that slapd loads dynlist.la, if compiled as a run-time module;
105 then add to the database an entry like
106 .LP
107 .nf
108     dn: cn=Dynamic List,ou=Groups,dc=example,dc=com
109     objectClass: groupOfURLs
110     cn: Dynamic List
111     memberURL: ldap:///ou=People,dc=example,dc=com?mail?sub?(objectClass=person)
112 .fi
113
114 If no <attrs> are provided in the URI, all (non-operational) attributes are
115 collected.
116
117 This example implements the dynamic group feature on the 
118 .B member
119 attribute:
120
121 .LP
122 .nf
123     include /path/to/dyngroup.schema
124     # ...
125
126     database <database>
127     # ...
128
129     overlay dynlist
130     dynlist-attrset groupOfURLs memberURL member
131 .fi
132 .LP
133
134 .SH FILES
135 .TP
136 ETCDIR/slapd.conf
137 default slapd configuration file
138 .SH SEE ALSO
139 .BR slapd.conf (5),
140 .BR slapd (8).
141 The
142 .BR slapo-dynlist (5)
143 overlay supports dynamic configuration via
144 .BR back-config .
145 .SH ACKNOWLEDGEMENTS
146 .P
147 This module was written in 2004 by Pierangelo Masarati for SysNet s.n.c.