Wiki Markup |
---|
h1. 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
h1. The MetaSchema schema
This part expose the elements we have to declare to be able to store the schema using a standard schema
h2. Meta top level elements
h3. MetaTop OjectClass
This Meta object is used as the top-level class which will be the mother of all MetaObjects
{code} |
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
Code Block |
---|
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
MetaTop ObjectClasses instances
MetaObjectClass
The following text is the description of the MetaObjectClass :
Code Block |
---|
{code} h3. 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 name 'm-collective' desc 'The attribute is collective' equality booleanMatch syntax 1.3.6.1.4.1.1466.115.121.1.15{1024} no-user-modification usage dSAOperation )|dn: name=m-collective,ou=meta,ou=schema objectclass: meta-attributeType objectclass: meta-top objectclass: top m-name: m-collective m-desc: The attribute is collective m-equality: booleanmatch m-syntax: 1.3.6.1.4.1.1466.115.121.1.15{1024} m-no-user-modification: true m-usage: dSAOperation| |m-desc||| |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||| h2. MetaTop ObjectClasses instances h3. MetaObjectClass The following text is the description of the *MetaObjectClass* : {code} 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 :
Code Block |
---|
{code}
h3. MetaAttributeType
The following text is the description of the *MetaAttributeType* :
{code}
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 :
Code Block |
---|
{code} h3. MetaSyntax The following text is the description of the *MetaSyntax* : {code} 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 :
Code Block |
---|
{code} h3. MetaMatchingRule The following text is the description of the *MatchingRule* : {code} 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 :
Code Block |
---|
{code} h1. Application to Core Schema We will express the Core schema using the previously defined Ldap objects : h2. Country The country ObjectClass in OpenLdap format : {code} objectclass ( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' SUP top STRUCTURAL MUST c MAY ( searchGuide $ description ) ) {code} 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 : |
...
{code |
} 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 {code} |