Schema considerations
You can take care of the provided schema considerations.
- 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.
- 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.
- 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 ) ) - Ensure that the object classes do not precede the attributes that they reference.
- 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.