Introduction
This page is used to describe the MetaSchema using OpenLdap schema syntx, so that it can be loaded into the ou=schema special partition
The MetaSchema schema
This part expose the elements we have to declare to be able to store the schema using a standard schema
Meta top level elements
MetaTop OjectClass
This Meta object is used as the top-level class which will be the mother of all MetaObjects
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.1 NAME MetaTop DESC 'Top level ObjectClass of all Meta objects' SUP top ABSTRACT MUST ( m-oid $ m-desc ) )
MetaTop AttributeTypes
We also need to describe all the meta attributeTypes we will use :
name |
ldif form |
---|---|
m-oid |
dn: m-name=m-oid,ou=meta,ou=schema |
m-name |
dn: m-name=m-name,ou=meta,ou=schema |
m-desc |
dn: m-name=m-description,ou=meta,ou=schema |
m-collective |
dn: m-name=m-collective,ou=meta,ou=schema |
m-equality |
dn: m-name=m-equality,ou=meta,ou=schema |
m-extension-attributeType |
|
m-extension-objectClass |
|
m-may |
|
m-must |
|
m-no-user-modificatio |
|
m-obsolete |
|
m-ordering |
|
m-single-value |
|
m-substr |
|
m-sup-attribute-type |
|
m-sup-objectclass |
|
m_syntax |
|
m-type-attribute-type |
|
m-type-objectclass |
|
m-usage |
MetaTop ObjectClasses instances
MetaObjectClass
The following text is the description of the MetaObjectClass :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.2 NAME MetaObjectClass DESC 'Meta definition of the ObjectClass object' SUP MetaTop STRUCTURAL MUST m-name MAY ( m-sup-objectclass $ m-must $ m-may $ m-type-objectclass $ m-obsolete $ m-extension ) )
MetaAttributeType
The following text is the description of the MetaAttributeType :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.3 NAME MetaAttributeType DESC 'Meta definition of the AttributeType object' SUP MetaTop STRUCTURAL MUST ( m-name $ m-syntax ) MAY ( m-sup-attribute-type $ m-type-attribute-type $ m-obsolete $ m-equality $ m-ordering $ m-substr $ m-single-value $ m-collective $ m-no-user-modification $ m-usage $ m-extension ) )
MetaSyntax
The following text is the description of the MetaSyntax :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.4 NAME MetaSyntax DESC 'Meta definition of the Syntax object' SUP MetaTop STRUCTURAL )
MetaMatchingRule
The following text is the description of the MatchingRule :
ObjectClass ( 1.3.6.1.4.1.18060.1.1.0.0.5 NAME MetaMatchingRule DESC 'Meta definition of the MatchingRule object' SUP MetaTop STRUCTURAL MUST m-syntax MAY ( m-obsolete $ m-extensions ) )
Application to Core Schema
We will express the Core schema using the previously defined Ldap objects :
Country
The country ObjectClass in OpenLdap format :
objectclass ( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' SUP top STRUCTURAL MUST c MAY ( searchGuide $ description ) )
The Country ObjectClass using the MetaObjectClass definition will be inserted as an entry into the ou=schema partition. As it is declared in core, we use a DN which describe this relationship with the original filer :
dn: name=country, dc=core, ou=schema objectclass: MetaObjectClass objectclass: MetaTop objectClass: top m-oid: 2.5.6.2 m-name: country m-desc: RFC2256: a country m-sup-objectClass: top m-type-objectClass: STRUCTURAL m-must: c m-may: searchGuide m-may: description