You can specify new object classes with existing schema components that don't require additional server code extensions for their implementation. To create new object classes, use the Schema Editor, which manages schema in the <server-root>/config/schema directory. For more information, see Extending the Directory Server Schema.

RFC 4512, section 4.1.1, defines the following object class definition.

ObjectClassDescription = "(" wsp; Left parenthesis followed by a white space
numericoid                        ; Required numeric object identifier
[ sp "NAME" sp qdescrs ]          ; Short name descriptor as alias for the OID
[ sp "DESC" sp qdstring ]         ; Optional descriptive string
[ sp "OBSOLETE" ]                 ; Determines if the element is inactive
[ sp "SUP" sp oid ]               ; Specifies the direct superior object class
[ sp kind ]                       ; abstract, structural (default), auxiliary
[ sp "MUST" sp oids ]             ; Required attribute types
[ sp "MAY" sp oids ]              ; Allowed attribute type
extensions wsp ")"                ; Extensions followed by a white space and ")"

usage = "userApplications" /      ; Stores user data
  "directoryOperation" /          ; Stores internal server data
  "distributedOperation" /        ; Stores operational data that must be synchronized 
                                  ;   across servers
  "dSAOperation"                  ; Stores operational data specific to a server and 
                                  ;   should not be synchronized across servers

The following extensions are specific to PingDirectory Server and aren't defined in RFC 4512.

extensions = / 
"X-ORIGIN" /             ; Specifies where the object class 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. 
Note:

Although RFC 4512 allows multiple superior object classes, PingDirectory Server allows at most one superior object class, which is defined by the SUP element in the definition.