The 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.
The schema that originally shipped with the product is called the base schema. Once the base schema has been modified in any way-such as adding a new class or a new attribute-then it is considered the extended schema.
You don't have to extend the schema, but you have the ability to do so. The Schema Manager tool in ConsoleOne 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.
For more information, see Managing the Schema.
Schema Manager is a tool in ConsoleOne. It allows users who have Supervisor rights to a tree to customize the schema of that tree. Schema Manager is accessed from the Tools menu in ConsoleOne after you select a tree.
Use Schema Manager to:
A class is like a template for a directory object. A directory object is a class that has been filled in with data. In other words: CLASS + DATA = DIRECTORY OBJECT Each 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 directory objects (User, Printer, Queue, Server, and so on), yet they are just structure, no content. An inheritance class is a class that is a starting point for defining other object classes. All of the attributes of the inheritance class are inherited by the classes that come below it in the class hierarchy. A class hierarchy shows how a class is associated with its parent classes. This is a way of associating similar classes and allowing attributes to be inherited. It also defines the types of containers the class is valid in. When creating a new class, you can use the class hierarchy and the additional attributes available to customize each class. You can specify an inheritance class (which allows the new class to inherit all of the attributes and flags of a class higher in the hierarchy) and then customize the new class by selecting one or more attributes to add to those that were inherited. The additional attributes can be selected as mandatory, naming, or optional attributes. You can also modify existing classes by adding optional attributes. Attributes are the data fields in the NDS database. For example, if a class is like a form, then an 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 or number). From then on, it is available in the attribute lists in Schema Manager. There are several syntax options from which to choose. These are used to specify the type of data entered for each attribute. The syntax can only be specified when an attribute is created. You cannot modify it later. Available syntaxes include: Used to keep track of other servers referring to an object. It is used for internal NDS management purposes.
Used by attributes whose values are True (represented as 1) or False (represented as 0). The single valued flag is set for this syntax type.
Used by attributes whose values are Unicode* strings that are case-sensitive in comparison operations. Two Case Exact Strings match when they are of the same length and their corresponding characters, including case, are identical.
Used by attributes whose values are ordered sequences of Unicode strings that are case-insensitive in comparisons operations. Two Case Ignore Lists match if the number of strings in each is the same and all corresponding strings match (that is, they are the same length and their corresponding characters are identical).
Used by attributes whose values are Unicode strings that are not case-sensitive in comparison operations. Two Case Ignore Strings match when they are of the same length and their corresponding characters are identical in all respects except that of case.
Used by attributes whose values are object class names. Two Class Names match when they are of the same length and their corresponding characters are identical in all respects except that of case.
Used by attributes whose values are incrementally modified numeric signed integers. Any attribute defined using Counter is a single-valued attribute. This syntax differs from Integer in that any value added to an attribute of this syntax is arithmetically added to the total, and any value deleted is arithmetically subtracted from the total.
Used by attributes whose values are the names of objects in the NDS tree. Distinguished Names (DN) are not case-sensitive, even if one of the naming attributes is case-sensitive.
Used by attributes whose values are strings of binary information. NDS makes no assumption about the internal structure of the content of this syntax.
Specifies a string that complies with the E.123 standard for storing international telephone numbers and an optional bit string formatted according to recommendation T.20. Facsimile Telephone Number values match when they are of the same length and their corresponding characters are identical, except that all spaces and hyphen characters are ignored during comparison.
Used by attributes that are accounting quantities, whose values are signed integers. This syntax is an accounting quantity (which is an amount tentatively held against a subject's credit limit, pending completion of a transaction). The hold amount is treated similarly to the Counter syntax, with new values added to or subtracted from the base total. If the evaluated hold amount goes to 0, the Hold record is deleted.
Used by attributes represented as signed numeric values. Two Integer values match if they are identical. The comparison for ordering uses signed integer rules.
Used by attributes whose values are signed numeric integers and represent intervals of time. The Interval syntax uses the same representation as the Integer syntax. The Interval value is the number of seconds in a time interval.
Represents a network layer address in the server environment. The address is in binary format. For two values of Net Address to match, the type, length, and value of the address must match.
Used by attributes whose values are numerical strings as defined in the CCITT X.208 definition of Numeric String. For two Numeric Strings to match, the strings must be the same length and their corresponding characters must be identical. Digits (0...9) and space characters are the only valid characters in the numeric string character set.
Used by attributes whose values represent Access Control List (ACL) entries. An Object ACL value can protect either an object or an attribute.
Describes an ordered sequence of strings of binary information or Octet String. An Octet List matches a stored list if it is a subset of the stored list. For two Octet Lists to match, they are compared using the same methods as Octet Strings.
Used by attributes whose values are strings of binary information not interpreted by NDS. These octet strings are non-Unicode strings. For two octet strings to match, they must be the same length, and the corresponding bit sequence (octet) must be identical.
Attributes that represent a file system path contain all the information to locate a file on a server. Two paths match when they are of the same length and their corresponding characters, including case, are identical.
Used by attributes whose values are Unicode strings of Postal Addresses. An attribute value for Postal Address is typically composed of selected attributes from the MHS Unformatted Postal O/R Address Specification version 1 according to recommendation F.401. The value is limited to six lines of 30 characters each, including a postal country name. Two postal addresses match if the number of strings in each is the same and all corresponding strings match (that is, they are the same length and their corresponding characters are identical).
Used by attributes whose values are printable strings, as defined in CCITT X.208. The printable character set consists of the following:
Two printable strings are equal when they are the same length and their corresponding characters are the same. Case is significant. Used by attributes whose values represent partition replicas. A partition of an NDS tree can have replicas on different servers. The syntax has six components:
Represents arbitrary binary information. The Stream syntax provides a way to make an NDS attribute out of a file on a file server. Login scripts and other stream attributes use this syntax. The data stored in a stream file has no syntax enforcement of any kind. It is purely arbitrary data, defined by the application that created and uses it. Used by attributes whose values are telephone numbers. The length of telephone number strings must be between 1 and 32 characters. Two telephone numbers match when they are of the same length and their corresponding characters are identical, except that all spaces and hyphen characters are ignored during comparison. Used by attributes whose values are unsigned integers and represent time expressed in seconds. Used by attributes whose values mark the time when a particular event occurred. When a significant event occurs, an NDS server mints a new Timestamp value and associates the value with the event. Every Timestamp value is unique within an NDS partition. This provides a total ordering of events occurring on all servers holding replicas of a partition. Used by attributes whose values represent a level and an interval associated with an object. This syntax names an NDS object and attaches two numeric values to it:
Used by attributes whose attribute definition has been deleted from the schema. This syntax represents strings of binary information.
Every object has a schema class that has been defined for that type of object, and a class is a group of attributes organized in a meaningful way. Some of these attributes are mandatory and some are optional. A mandatory attribute is one that must be filled in when an object is being created. For example, if a new user is being created using the User class, which has the employee number as a mandatory attribute, then the new User object cannot be created without providing the employee number. An optional attribute is one that can be filled in if desired but can be left without content. For instance, if a new User object is being created using the User class, which has Other Names as an optional attribute, then the new User object can be created with or without data provided for that attribute, depending on whether the new user is known by other names. An exception to the rule is when an optional attribute is used for naming, the attribute then becomes mandatory. Figure 14 is a sample of part of a schema. Your base schema might appear similar. This icon is assigned to all classes that are extensions to the base schema. Figure 14
Designing your schema initially can save you time and effort in the long run. You can view the base schema and determine if it will meet your needs or if modifications are required. If changes are needed, use Schema Manager to extend the schema. See Extending the Schema for more information.Schema Classes, Attributes, and Syntaxes
Classes
Attributes
Syntaxes
Understanding Mandatory and Optional Attributes
Mandatory Attributes
Optional Attributes
Sample Schema
Design the Schema