PingDirectory

Managing name forms

Name forms define how entries can be named based on their structural object class.

Specifically, name forms specify the structural object class you are naming as well as the mutually-exclusive set of required and allowed attributes to form the relative distinguished names (RDNs) of the entries. Each structural object class can be associated with at most one name form definition.

Name form definitions

Name forms can be specified with existing schema components and don’t require additional code for implementation.

The following formal specification for attribute types is provided in RFC 4512, section 4.1.7.2.

NameFormDescription = "(" wsp
numericoid                  ; object identifier
[ sp "NAME" sp qdescrs ]    ; short name descriptor
[ sp "DESC" sp qdstring ]   ; description
[ sp "OBSOLETE" ]           ; not active
sp "OC" sp oid              ; structural object class
sp "MUST" SP oids           ; attribute types
[ sp "MAY" sp oids ]        ; attribute types
extensions wsp ")"          ; extensions followed by a white space and ")"

The following extensions are specific to the PingDirectory server and aren’t defined in RFC 4512.

extensions = /
"X-ORIGIN" /             ; Specifies where the attribute type is defined
"X-SCHEMA-FILE" /        ; Specifies which schema file contains the definition
"X-READ-ONLY"            ; True or False. Specifies if the file that contains
                         ;   the schema element is marked as read-only in
                         ;   the server configuration.

Viewing name forms

Steps

  • To view the nameForms attribute, run ldapsearch.

    nameForms is a multi-valued operational attribute that publishes the definitions on the PingDirectory server. The attribute is stored in the subschema subentry.

    Example:

    $ bin/ldapsearch --baseDN cn=schema --searchScope base \
    "(objectclass=*)" nameForms