4.8 Schema

Schema defines the types of objects that can be created in your tree (such as Users, Printers, and Groups) and what information is required or optional at the time the object is created. Every object has a defined schema class for that type of object. A class is like a set of rules for an object. An object is a new record with data built according to the rules of its class. The class has a class name, an inheritance class (unless it is at the top of the class hierarchy), class flags, and a group of attributes. Classes are named like objects—User, Printer, Queue, Server—yet they are just structure and rules, no content.

The schema that ships with eDirectory is the base schema. After the base schema is modified in any way, such as adding a new class or a new attribute, then it is considered to be the extended schema.

You aren’t required to extend the schema, but you have the ability to do so. The Schema role in iManager lets you extend the schema to meet organizational needs. For example, you might want to extend your schema if your organization requires special footwear for employees and you need to keep track of employee shoe sizes. You might want to create a new attribute called Shoe Size and then add it to the User class.

4.8.1 Add Attribute

You can add optional attributes to existing classes if your organization’s information needs change, or if you are preparing to merge trees.

NOTE:Mandatory attributes can only be defined while creating a class. (A mandatory attribute is one that must be completed when an object is being created.)

  1. In Roles and Tasks, Click Schema > Add Attribute.

  2. Select the class you want to add an attribute to, then click OK.

  3. In the Available Optional Attributes list, select the attributes you want to add, then click the right-pointing arrow to add these attributes to the Add These Optional Attributes list.

    If you add an attribute by mistake or change your mind, select the attribute in the Add These Optional Attributes list, then click the left-pointing arrow to remove it from the list of attributes you want to add.

  4. Click OK.

    Objects you create of this class will now have the properties you added. To set values for the added properties, use the generic Other property page of the object.

    HINT:You can modify an existing class by using this page to add to the Current Attributes list. You can remove only attributes you have added prior to clicking OK. You cannot remove any attribute that has been previously added and saved.

4.8.2 Attribute Information

  1. In Roles and Tasks, select Schema > Attribute Information.

  2. Select the attribute you want information on, then click View.

4.8.3 Class Information

The Class Information page displays information about the selected class and lets you add attributes. Most of the information displayed on the page was specified when the class was created. Some optional attributes might have been added later.

During class creation, if the class is specified to inherit attributes from another class, the inherited attributes are classified as they are in the parent class. For instance, if Object Class is a mandatory attribute for the parent class, then it displays on this screen as a mandatory attribute for the selected class.

  1. In Roles and Tasks, select Schema > Attribute Information.

  2. Select the class you want information on, then click View.

4.8.4 Create Attribute

If a class is like a form, then the attribute is one field on the form. When an attribute is created, it is named (such as "surname" or "employee number") and given a syntax type (such as "string A-Z, 0-9" or "number -999 to 999"). From then on, it is available in the attribute list.

You can define your own custom types of attributes and add them as optional attributes to existing object classes. However, you cannot add mandatory attributes to existing classes.

  1. In Roles and Tasks, click Schema > Create Attribute.

  2. The Create Attribute wizard steps you through the attribute creation procedure.

4.8.5 Create Class

A class is like a set of rules for an object. An object is a new record with data built according to the rules of its class. The class has a class name, an inheritance class (unless it is at the top of the class hierarchy), class flags, and a group of attributes. Classes are named like objects—User, Printer, Queue, Server—yet they are just structure and rules, no content.

An auxiliary class is a set of properties (attributes) added to particular object rather than to an entire class of objects. For example, an e-mail application could extend the schema of your eDirectory tree to include an E-Mail Properties auxiliary class and then extend individual objects with those properties as needed.

Using Schema Manager, you can define your own auxiliary classes. You can then extend individual objects with the properties defined in your auxiliary classes.

  1. In Roles and Tasks, click Schema > Create Class.

  2. Specify a class name and (optional) ASN1 ID, then click Next.

  3. Select Auxiliary Class when setting the class flags, then click Next.

  4. Follow the instructions in the Create Class Wizard to define the new auxiliary class.

4.8.6 Delete Attribute

You can delete unused attributes that aren’t part of the base schema of your eDirectory tree.

Two situations in which to consider deleting a class are:

  • After merging two trees and resolving attribute differences.
  • Whenever an attribute has become obsolete.
  1. In Roles and Tasks, click Schema > Delete Attribute.

  2. Select the attribute you want to delete.

    Only attributes that can be deleted are shown.

  3. Click Delete.

4.8.7 Delete Class

You can delete unused classes that aren’t part of the base schema of your eDirectory tree. iManager only prevents you from deleting classes that are currently being used in locally replicated partitions.

  1. In Roles and Tasks, click Schema > Delete Class.

  2. Select the class you want to delete.

    Only classes that are allowed to be deleted are shown.

  3. Click Delete.

4.8.8 Extend Schema

You can extend the schema of a tree by creating a new class or attribute. To extend the schema of your eDirectory tree, you need Administrator rights to the entire tree.

  1. In Roles and Tasks, select Schema > Extend Schema.

    The ICE* wizard steps you through the import, export, migration of data or schema update and compare operations.

4.8.9 Object Extensions

  1. In Roles and Tasks, click Schema > Object Extensions.

  2. Specify the name and context of the object you want to extend, then click OK.

  3. Depending on whether the auxiliary class that you want to use is already listed under Current Auxiliary Class Extensions, complete the appropriate action:

  4. Click Close.