Schema considerations

You can take care of the provided schema considerations.

  1. Syntax and matching rules:

    Directory Server supports more syntaxes and matching rules than z/OS® Directory Server.

    Additional syntaxes and matching rules must be removed from the Directory Server schema before it can be used in z/OS Directory Server. Attributes using these syntaxes or matching rules must either be removed from the schema or changed to use syntaxes and matching rules supported by z/OS Directory Server. If the attributes are in use in an entry, either remove the attribute values from the entry if the attribute is being removed from the schema or ensure that the attribute values conform to the changed attribute definition in the schema.

  2. Schema LDIF format:
    The format of the schema LDIF obtained from Directory Server or z/OS Directory Server by publishing the schema (using ldapsearch –L) might not be acceptable input for a schema modification.
    1. When modifying the Directory Server schema, break up the attributetypes and objectclasses in the schema file into separate schema modifications, each including a single attributetypes value or objectclasses value.Also, include an ibmattributetypes value (if any) in the modification for its associated attributetypes value. If the attribute or object class already exists in the schema, make the modification a modify-replace; otherwise, make the modification a modify-add.

      When modifying the z/OS Directory Server schema, the entire LDIF can be processed in a single modify-replace operation, whether or not the attributes or object classes already exist in the schema.

      For example, assume that attribute attr1 and object class objclass1 already exist in the schema.For z/OS Directory Server, the following schema modification replaces those schema elements and adds new attribute attr2 and object class objclass2:
      dn: cn=schema
      changetype: modify
      replace: attributetypes
      attributetypes: (
      1.3.18.0.2.4.11111
      NAME 'attr1'
      DESC 'Description for attribute attr1'
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      USAGE userApplications
      )
      IBMAttributetypes: (
      1.3.18.0.2.4.11111
      ACCESS-CLASS normal
      )
      attributetypes: (
      1.3.18.0.2.4.22222
      NAME 'attr2'
      DESC 'Description for attribute attr2'
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      USAGE userApplications
      )
      IBMAttributetypes: (
      1.3.18.0.2.4.22222
      ACCESS-CLASS normal
      )
      -
      replace: objectclasses
      objectclasses: (
      1.3.18.0.2.6.33333
      NAME 'objclass1'
      DESC 'Description for object class objclass1'
      SUP top
      STRUCTURAL
      MUST ( cn )
      MAY ( attr1 )
      )
      objectclasses: (
      1.3.18.0.2.6.44444
      NAME 'objclass2'
      DESC 'Description for object class objclass2'
      SUP top
      STRUCTURAL
      MUST ( cn )
      MAY ( attr1 $ attr2 )
      )
      For Directory Server, this schema modification has to be reformatted into separate schema modifications and modify-add used instead of modify-replace for the new schema elements, as follows:
      dn: cn=schema
      changetype: modify
      replace: attributetypes
      attributetypes: (
      1.3.18.0.2.4.11111
      NAME 'attr1'
      DESC 'Description for attribute attr1'
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      USAGE userApplications
      )
      IBMAttributetypes: (
      1.3.18.0.2.4.11111
      ACCESS-CLASS normal
      )
      
      dn: cn=schema
      changetype: modify
      add: attributetypes
      attributetypes: (
      1.3.18.0.2.4.22222
      NAME 'attr2'
      DESC 'Description for attribute attr2'
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
      USAGE userApplications
      )
      IBMAttributetypes: (
      1.3.18.0.2.4.22222
      ACCESS-CLASS normal
      )
      
      dn: cn=schema
      changetype: modify
      replace: objectclasses
      objectclasses: (
      1.3.18.0.2.6.33333
      NAME 'objclass1'
      DESC 'Description for object class objclass1'
      SUP top
      STRUCTURAL
      MUST ( cn )
      MAY ( attr1 )
      )
      
      dn: cn=schema
      changetype: modify
      add: objectclasses
      objectclasses: (
      1.3.18.0.2.6.44444
      NAME 'objclass2'
      DESC 'Description for object class objclass2'
      SUP top
      STRUCTURAL
      MUST ( cn )
      MAY ( attr1 $ attr2 )
      )
    2. Ensure that the object classes do not precede the attributes that they reference.