New object classes can be specified with existing schema components and do not require additional server code extensions for their implementation. Administrators can create new object classes using the Schema Editor, which manages schema in the <server-root>/config/schema directory. See Extending the Directory Server Schema for more information.

The object class definition is defined in RFC 4512, section 4.1.1, as follows::
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 the PingDirectory Server and are not 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, the PingDirectory Server allows at most one superior object class, which is defined by the SUP element in the definition.