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

Re: Extensibility of SearchRequest.attributes



Yeah, I just popped these off the top of my head--some are more
reasonable than others. I'm not sure that I plan to implement any or all
of them. The nice thing about not defining a control is that clients
don't have to be re-compiled.

>>> Mark C Smith <mcs@netscape.com> 4/4/03 8:24:37 AM >>>
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