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

Re: Extensibility of SearchRequest.attributes



OK; thanks for the list. I hope I never have to implement support for all of these in a server (not that each one is very difficult; this is just a long list).

A side note: it makes sense to me to express concepts like "all" in an AttributeDescriptionList, but I think it makes more sense to use a control to modify how the entire list is processed. So I would use a control to express these concepts from your list of examples:

> "*Len<"<len>     All User Attr val's less than len octets
> "^"              No virtual attributes
> "^^"             No collective attributes
> "$"              Only static (no dynamically calculated) attributes
> ":-("            Attributes with deleted/unpurged values

The "*Len<" one is included because I might want to say "return values for attributes a, b, c whose length is less than 1000 octets" or "return all operational attributes whose length is less than 512 octets."

Controls have other nice properties: collisions can't happen (due to use of OIDs), handling of unknown controls is well defined, etc.

-Mark Smith
 Netscape


Jim Sermersheim wrote:
Yes, here are some examples of special attributes:

Attribute        Meaning
"*"              All User Attrs (P-S RFC)
"+"              All Operational Attrs (S-T I-D)
"+"<classname>   All Attributes of an object class (I-T I-D)
"*;lang-"<xx>    All User Attrs with lang-xx (no spec yet on
remaining)
"@"<uri>         All Attrs listed at uri
"*MCSN>"<csnval> All User Attrs who's mod CSN is greater than that
specified
"*Len<"<len>     All User Attr val's less than len octets
"^"              No virtual attributes
"^^"             No collective attributes
"$"              Only static (no dynamically calculated) attributes
":-("            Attributes with deleted/unpurged values
"+dirOp"         All directoryOperation operational
"+distOp"        All distributedOperation operational
"+dsaOp"         All dsaOperation operational
"#"<syntaxOID>   All attributes belonging to specified syntax

Obviously, there are many (inconsistent) ways to express these, and
there are no guidelines or instructions to those who want to create new
special attributes but don't want to collide with special attributes
being defined by other people.

Jim