Schema considerations

You can take care of the provided schema considerations.

  1. Syntax and matching rules:

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

    Additional syntaxes and matching rules must be removed from the Verify Directory schema before it can be used in z/OS IBM Verify Directory. 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 IBM Verify Directory.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 Verify Directory or z/OS IBM Verify Directory by publishing the schema (using ldapsearch –L) might not be acceptable input for a schema modification.
    1. When modifying the Verify Directory 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 IBM Verify Directory 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 IBM Verify Directory, 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 Verify Directory, 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.