Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
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}
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 )
)
{code}

h3. MetaTop AttributeTypes
We also need to describe all the meta attributeTypes we will use :
||name||description||ldif form||
|m-collective|attributetype ( 

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

...


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

...


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

MetaTop ObjectClasses instances

MetaObjectClass

The following text is the description of the MetaObjectClass :

Code Block
|||


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 )
)
{code}

h3. MetaSyntax

The following text is the description of the *MetaSyntax* :
{code}

MetaSyntax

The following text is the description of the MetaSyntax :

Code Block
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 Block
}
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}