Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Extending the Directory Schema


ut of the box, your directory server comes with a standard schema that includes hundreds of object classes and attributes. While the object classes and attributes supplied with the directory server should meet most of your needs, you may find that there are some attributes that you need that are not supported by the standard schema. In this case you will need to extend your schema.

Although it may seem convenient to just add the attributes you need to an existing object class that contains most but not all of the attributes you require, doing so would compromise the compatibility of your directory server with existing LDAP clients that rely on the standard LDAP schema and would cause difficulties when upgrading your server. For this reason, whenever you want to add new attributes to your schema, you must create a new object class to contain them. For the same reasons, you should not delete standard schema elements.

For information on object classes, attributes, and the directory schema as well as guidelines for extending your schema, refer to the Netscape Directory Server Deployment Manual.

This chapter describes:

  • Schema Checking

  • Using the Schema Configuration Forms

  • Extending Your Directory Schema

  • Deleting Object Classes and Attributes

 

Schema Checking

Extensions to the directory schema are necessary only if schema checking is turned on. Schema checking causes the directory server to ensure the object classes and attributes you are using are defined in the directory schema. Schema checking causes the directory server to ensure that the attributes required for an object class are contained in the entry, and that only attributes allowed by the object class are contained in the entry.

 

Turning Schema Checking On and Off

Schema checking is turned on by default in the directory server, and Netscape recommends you run with schema checking turned on. To turn schema checking on and off, go to Server Preferences| LDAP and choose either on or off in the Schema Checking field. You must then click OK to apply your changes.

Alternatively, you can turn schema checking on and off by using the Schema Checking parameter in slapd.conf. The Schema Checking parameter is described on page 322.

 

Using the Schema Configuration Forms

You manage your schema using the following forms:

  • Create ObjectClass

  • Edit/View ObjectClasses

  • Edit ObjectClasses

  • Manage Attributes

 

Using the Create ObjectClass Form

You use the Schema|Create Objectclass form to add a new object class to your directory server. This form contains the following three fields that allow you to identify the new object class:

  • ObjectClass Name, which requires a unique name for the new object class.

  • Parent Object, which identifies the object class structure for the new object class you are creating. You can choose from any existing object class. Or, you can choose No Parent Object to create an object class that can go anywhere in an existing object class structure. Typically, if you want to add new attributes for use with user entries, the parent would be the inetOrgPerson object class. If you want to add new attributes for use with corporate entries, the parent is usually organization or organizationalUnit. If you want to add new attributes for use with group entries, the parent is usually groupOfNames or groupOfUniqueNames.

  • ObjectClass OID, which allows you to specify an object identifier (OID) for the new object class. An OID is simply a string, usually of decimal numbers, that uniquely identifies an object, such as an object class or an attribute, in an object-oriented system. This field is optional. If you do not specify an OID, the directory server automatically uses <ObjectClass name>-oid. For example, if you create the object class division without supplying an OID, the directory server automatically uses division-oid as the OID.

This form also contains an area that allows you to define the required and allowed attributes for the object class.

  • To add an attribute that must be present in entries using the new object class, highlight the attribute in the Available Attributes list and then click the Add button to the left of the Required Attributes box.

  • To add an attribute that may be present in entries using the new object class, highlight the attribute in the Available Attributes list and then click the Add button to the left of the Allowed Attributes box.

  • To delete an attribute that you previously added, highlight the attribute in the Required Attributes list or the Allowed Attributes list and then click the corresponding Remove button.

When you have finished identifying the new object class and the required and allowed attributes, click the Create New ObjectClass button.

Related Topics

  • "Using the Edit/View ObjectClasses Form" on page 52

  • "Using the Edit ObjectClass Form" on page 54

  • "Using the Manage Attributes Form" on page 55

  • "Extending Your Directory Schema" on page 56

  • "Deleting Object Classes and Attributes" on page 57

 

Using the Edit/View ObjectClasses Form

You use the Schema|Edit or View ObjectClasses form to view information about all object classes that currently exist in your directory schema. You also use this form to select an object class to edit. You can view information about any object class. However, you can edit only object classes that you previously created; you cannot edit a standard object class.

You select an object class to view by highlighting the object class in the ObjectClass list. When you highlight the object class entry, the following information is displayed about the object class:

  • ObjectClass OID, which is the object identifier for the object class.

  • Parent, which identifies the object class to that must precede this object class in the object class structure. For example, if you highlight the inetOrgPerson object class, the organizationalPerson is the parent object. That is because in the object class structure that represents people, organizationalPerson precedes inetOrgPerson. Similarly, if you added a new object class to contain attributes for use with your user entries, the parent should be the inetOrgPerson object class because it is the bottom of the standard people object class structure.

  • Required Attributes, which identifies the attributes that must be present in entries using the highlighted object class.

  • Allowed Attributes, which identifies the attributes that may be present in entries using the highlighted object class.

In addition to viewing information about the existing object classes, you can also edit or delete object classes you previously added using the following buttons:

  • The Edit ObjectClass button calls the Edit ObjectClass form, which allows you to edit the highlighted object class definition.

  • The Delete ObjectClass button deletes the highlighted object class.

Related Topics

  • "Using the Create ObjectClass Form" on page 51

  • "Using the Edit ObjectClass Form" on page 54

  • "Using the Manage Attributes Form" on page 55

  • "Extending Your Directory Schema" on page 56

  • "Deleting Object Classes and Attributes" on page 57

 

Using the Edit ObjectClass Form

You access the Edit ObjectClass form by highlighting an object class entry on the Schema|Edit/View ObjectClasses form and then clicking the Edit ObjectClass button. You can edit the following fields:

  • ObjectClass Name, which the name of the ObjectClass.

  • Parent Object, which identifies the object class that must precede the selected object class. For example, if you created a new object class called AiriusPerson to contain attributes for use with your user entries, the parent object should be the inetOrgPerson entry according to the standard object class structure that represents people.

  • ObjectClass OID, which specifies the object identifier (OID) for the new ObjectClass. This field is optional. If you do not specify an OID, the directory server automatically uses <ObjectClass name>-oid.

This form also allows you to edit the required and allowed attributes for the object class.

  • To add an attribute that must be present in entries using the object class, highlight the attribute in the Available Attributes list and then click the Add button to the left of the Required Attributes box.

  • To add an attribute that may be present in entries using the object class, highlight the attribute in the Available Attributes list and then click the Add button to the left of the Allowed Attributes box.

  • To delete an attribute that you previously added, highlight the attribute in the Required Attributes list or the Allowed Attributes list and then click the corresponding Remove button.

When you have finished editing the object class definition and the required and allowed attributes, click the Update ObjectClass button.

Related Topics

  • "Using the Create ObjectClass Form" on page 51

  • "Using the Edit/View ObjectClasses Form" on page 52

  • "Using the Manage Attributes Form" on page 55

  • "Extending Your Directory Schema" on page 56

  • "Deleting Object Classes and Attributes" on page 57

 

Using the Manage Attributes Form

You use the Schema|Edit or View Attributes form to view information about existing attributes, create new attributes, or delete attributes you previously created. This form has three distinct areas:

  • The new attribute area provides fields that allow you to define a new attribute.

    • The Attribute Name field requires a unique string identifying the attribute.

    • The Attribute OID field is an optional field that you can use to supply an object identifier (OID) for the new attribute. If you do not supply an OID, the directory server automatically uses <attribute name>-oid. For example, if you create a new attribute called birthdate, the default OID is birthdate-oid.

    • The Syntax field requires that you select a syntax that describes the data to be held by the attribute. Available syntaxes are Case Ignore String, Binary, Case Exact String, Telephone, Distinguished Name, and Integer. For a description of each syntax, see Appendix B, "Attributes."

    When you complete the fields in the new attribute area, you add the attribute by clicking the Add New Attribute button.

  • The User-Defined Attributes area lists all user-defined attributes along with their OIDs and corresponding attribute syntax. In addition, all user-defined attributes have a delete link in the Options column. You can delete an attribute you previously created by clicking on the delete link. You cannot delete any of the standard schema elements.

  • The Standard Attributes area lists all standard attributes along with their OIDs and corresponding attribute syntax. This allows you to see an alphabetical listing of all available attributes so that you can determine whether or not you need to create a new attribute.

    You cannot edit attribute definitions using the Manage Attributes form. To edit an attribute definition (for example to change the OID or syntax definition), you must delete the attribute and then recreate the attribute.
Related Topics

  • "Using the Create ObjectClass Form" on page 51

  • "Using the Edit/View ObjectClasses Form" on page 52

  • "Using the Edit ObjectClass Form" on page 54

  • "Extending Your Directory Schema" on page 56

  • "Deleting Object Classes and Attributes" on page 57

 

Extending Your Directory Schema

To extend the directory schema:

  1. Use the Schema|Edit or View Attributes form to create the new attributes.
  • Fill out the Attribute Name and Syntax fields and optionally the Attribute OID field.

  • Click the Add New Attribute button.

  • Repeat these steps for each new attribute you want to create.

  • Use the Schema|Create Objectclass form to create a new object class to hold the new attributes.
    • Fill out the ObjectClass Name and Parent Objectclass fields and optionally the ObjectClass OID fields.

    • Add attributes to the Required Attributes and Allowed Attributes lists.

    • Click the Create New ObjectClass button.

    Related Topics

    • "Using the Create ObjectClass Form" on page 51

    • "Using the Manage Attributes Form" on page 55

    • "Deleting Object Classes and Attributes" on page 57

     

    Deleting Object Classes and Attributes

    You can delete object classes and attributes you previously created as follows:

    1. Use the Schema|Edit or View Objectclasses form to delete the object class.
    • Highlight the object class you want to delete in the ObjectClasses list.

    • Click the Delete ObjectClass button.

  • Use the Schema|Edit or View Attributes form to delete the corresponding attributes.
    • Locate the attribute you want to delete in the Existing Attributes area.

    • Click the delete hyperlink in the corresponding Options column.

    Related Topics

    • "Using the Edit/View ObjectClasses Form" on page 52

    • "Using the Manage Attributes Form" on page 55

    • "Extending Your Directory Schema" on page 56

    Typewritten Software • bear@typewritten.org • Edmonds, WA 98026