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 |
description |
ldif form |
---|---|---|
m-collective |
attributetype ( 1.3.6.1.4.1.18060.1.1.0.3.14 |
dn: name=m-collective,ou=meta,ou=schema |
m-desc |
attributetype ( 2.5.4.13 |
dn: name=m-description,ou=meta,ou=schema |
m-equality |
||
m-extension |
||
m-must |
||
m-name |
||
m-no-user-modificatio |
||
m-obsolete |
||
m-oid |
||
m-ordering |
||
m-single-value |
||
m-substr |
||
m-sup-attribute-type |
||
m-sup-objectclas |
||
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