Previous Topic: Changing LDAP Attribute Names

Next Topic: Attributes

Local Schema

The X.500 standards enable the definition of local attributes, attribute sets, object classes, and name bindings in the schema in much the same way as described in Name Bindings and Aliases.

Before defining local schema, you should check the existing published schema to determine whether the required attribute, object class, and name binding definitions already exist.

When you need to define additional schema, create an object identifier arc (1.3.6.1.4.1.3327.1 in the following example) and add the new schema under this arc. Use the set commands described previously to define the schema, and then include the newly created configuration file (.dxc) in the schema group configuration file (.dxg), used by the DSA.

The following example describes a single object class that can contain three attributes. CA created the object class so that you could add the additional attributes to an organizationalPerson object.

All the names in the following schema definition have the prefix ca. The use of an object identifier prefix in the name helps simplify attribute references by replacing the common portion of a complicated object identifier with a simple character string and helps identify related attributes.

Example: Local Attribute, Attribute Set, Object Class, and Name Binding Definitions

set oid-prefix caAttr	= (1.3.6.1.4.1.3327.1.4);
set oid-prefix caOclass	= (1.3.6.1.4.1.3327.1.6);
set oid-prefix caAset	= (1.3.6.1.4.1.3327.1.7);
set oid-prefix caNbind	= (1.3.6.1.4.1.3327.1.14);
set attribute caAttr:0	= {
	name = caNearestPrinter
	syntax = caseIgnoreString
	description = "Local Printer Attribute" };
set attribute caAttr:1 = {
	name = caMobilePhone
	syntax = caseIgnoreString
	description = "Mobile Phone Attribute" };
set attribute caAttr:3 = {
	name = caAlternateContact
	syntax = caseIgnoreString
	description = "Local Contact Attribute" };
set attr-set caAset:0 = {
	name = caAttributeSet
	caNearestPrinter,
	caMobilePhone,
	caAlternateContact };
set object-class caOclass:0 = {
	name = caOrgPerson
	subclass-of organizationalPerson
	kind = structural
	may-contain caAttributeSet
	description = "CA Organizational Person Object Class" };
set name-binding caNbind:0 = {
	name = caOrgPerson-org
	caOrgPerson allowable-parent organization
	named-by commonName };