1dn: olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 2changetype: add 3objectClass: olcOverlayConfig 4objectclass: olcVariantConfig 5 6dn: olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 7changetype: modify 8replace: olcVariantPassReplication 9olcVariantPassReplication: TRUE 10 11dn: name={0}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 12changetype: add 13objectclass: olcVariantVariant 14olcVariantEntry: ou=People,dc=example,dc=com 15 16# a basic variant 17dn: olcVariantVariantAttribute=description,name={0}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 18changetype: add 19objectclass: olcVariantAttribute 20olcVariantAlternativeAttribute: description 21olcVariantAlternativeEntry: dc=example,dc=com 22 23# a nonexistent alternate 24dn: olcVariantVariantAttribute=seealso,name={0}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 25changetype: add 26objectclass: olcVariantAttribute 27olcVariantAlternativeAttribute: seealso 28olcVariantAlternativeEntry: ou=Societies,dc=example,dc=com 29 30dn: name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 31changetype: add 32objectclass: olcVariantVariant 33olcVariantEntry: ou=Groups,dc=example,dc=com 34 35# recursive retrieval is not done 36dn: olcVariantVariantAttribute=description,name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 37changetype: add 38objectclass: olcVariantAttribute 39olcVariantAlternativeAttribute: description 40olcVariantAlternativeEntry: ou=People,dc=example,dc=com 41 42# a variant taking data from a different attribute (after the changes below) 43dn: olcVariantVariantAttribute=st,name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 44changetype: add 45objectclass: olcVariantAttribute 46olcVariantAlternativeAttribute: st 47olcVariantAlternativeEntry: cn=Manager,dc=example,dc=com 48 49# configuration changes 50dn: olcVariantVariantAttribute={1}st,name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 51changetype: modify 52replace: olcVariantAlternativeAttribute 53olcVariantAlternativeAttribute: ou 54- 55replace: olcVariantAlternativeEntry 56olcVariantAlternativeEntry: ou=Alumni Association,ou=People,dc=example,dc=com 57- 58 59# a regex variant 60dn: name={2}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 61changetype: add 62objectclass: olcVariantRegex 63olcVariantEntryRegex: (.*),(ou=.*technology.*)(,)dc=example,dc=com 64 65dn: olcVariantVariantAttribute=ou,name={2}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 66changetype: add 67objectclass: olcVariantAttributePattern 68olcVariantAlternativeAttribute: ou 69olcVariantAlternativeEntryPattern: $2$3dc=example$3dc=com 70 71# Duplicate description into title 72dn: olcVariantVariantAttribute=title,name={2}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 73changetype: add 74objectclass: olcVariantAttributePattern 75olcVariantAlternativeAttribute: description 76olcVariantAlternativeEntryPattern: $0 77 78# everything 79dn: name={3}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 80changetype: add 81objectclass: olcVariantRegex 82olcVariantEntryRegex: .* 83 84dn: olcVariantVariantAttribute=l,name={3}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config 85changetype: add 86objectclass: olcVariantAttributePattern 87olcVariantAlternativeAttribute: l 88olcVariantAlternativeEntryPattern: dc=example,dc=com 89 90