Note | ||
---|---|---|
| ||
This site is in the process of being reviewed and updated. |
Table of Contents | ||
---|---|---|
|
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.0.4.0.3.1
NAME MetaTop
DESC 'Top level ObjectClass of all Meta objects'
SUP top
ABSTRACT
MUST ( m-oid $ m-description )
)
|
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-description | dn: m-name=m-description,ou=meta,ou=schema |
m-obsolete | dn: m-name=m-obsolete,ou=meta,ou=schema |
m-supObjectClass | dn: m-name=m-supObjectClass,ou=meta,ou=schema |
m-must | dn: m-name=m-must,ou=meta,ou=schema |
m-may | dn: m-name=m-may,ou=meta,ou=schema |
m-typeObjectClass | dn: m-name=m-typeObjectClass,ou=meta,ou=schema |
m-extensionObjectClass | dn: m-name=m-extensionObjectClass,ou=meta,ou=schema |
m-supAttributeType | dn: m-name=m-supAttributeType,ou=meta,ou=schema |
m-equality | dn: m-name=m-equality,ou=meta,ou=schema |
m-ordering | dn: m-name=m-ordering,ou=meta,ou=schema |
m-substr | dn: m-name=m-substr,ou=meta,ou=schema |
m-attributeTypeSyntax | dn: m-name=m-attributeTypeSyntax,ou=meta,ou=schema |
m-singleValue | dn: m-name=m-singleValue,ou=meta,ou=schema |
m-collective | dn: m-name=m-collective,ou=meta,ou=schema |
m-noUserModification | dn: m-name=m-noUserModification,ou=meta,ou=schema |
m-usage | dn: m-name=m-usage,ou=meta,ou=schema |
m-extensionAttributeType | dn: name=m-extensionAttributeType,ou=meta,ou=schema |
m-ruleId | dn: name=mruleId,ou=meta,ou=schema |
m-form | dn: name=m-form,ou=meta,ou=schema |
m-supDITStructureRule | dn: name=m-supDITStructureRule,ou=meta,ou=schema |
m-extensionDITStructureRule | dn: name=m-extensionDITStructureRule,ou=meta,ou=schema |
m-oc | dn: name=m-oc,ou=meta,ou=schema |
m-extensionNameForm | dn: name=m-extensionNameForm,ou=meta,ou=schema |
m-aux | dn: name=m-aux,ou=meta,ou=schema |
m-not | dn: name=m-not,ou=meta,ou=schema |
m-extensionDITContentRule | dn: name=m-extensionDITContentRule,ou=meta,ou=schema |
m-applies | dn: name=m-applies,ou=meta,ou=schema |
m-extensionMatchingRuleUse | dn: name=m-extensionMatchingRuleUse,ou=meta,ou=schema |
m-matchingRuleSyntax | dn: m-name=m-matchingRuleSyntax,ou=meta,ou=schema |
MetaTop ObjectClasses instances
MetaObjectClass
The following text is the description of the MetaObjectClass :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.12 nameNAME MetaObjectClass descDESC 'Meta definition of the ObjectClass object' STRUCTURALSUP MetaTop mustSTRUCTURAL ( oid $ dn $ objectclass $ name $ desc $ sup )MUST m-name mayMAY ( m-sup-object-class $ m-must $ m-may $ tpem-type-object-class $ m-obsolete $ m-extension ) ) |
MetaAttributeType
The following text is the description of the MetaAttributeType :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.10.14.0.03.23 nameNAME MetaAttributeType descDESC 'Meta definition of the AttributeType object' STRUCTURALSUP MetaTop mustSTRUCTURAL ( oid $ dnMUST $ objectclass $ ( m-name $ desc $ m-syntax ) mayMAY ( 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 |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.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 |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.5
NAME MetaMatchingRule
DESC 'Meta definition of the MatchingRule object'
SUP MetaTop
STRUCTURAL
MUST m-syntax
MAY ( m-obsolete $ m-extensions )
)
|
MetaDITStructureRule
The following text is the description of the DITStructureRule :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.6 NAME MetaDITStructureRule DESC 'Meta definition of the DITStructureRule object' SUP top STRUCTURAL MUST ( m-ruleId $ m-form ) MAY ( m-obsolete $ m-supDITStructureRule $ m-extensionDITStructureRule ) ) |
MetaNameForm
The following text is the description of the NameForm :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.27 nameNAME MetaSyntaxMetaNameForm descDESC 'Meta definition of the SyntaxNameForm object' SUP top STRUCTURAL MUST ( m-oc $ m-must ) MAY ( m-obsolete $ m-may $ m-extensionNameForm ) ) |
MetaMatchingRuleUse
The following text is the description of the MatchingRuleUse :
Code Block |
---|
ObjectClass ( oid $ dn $ objectclass $ desc ) ) 1.3.6.1.4.1.18060.0.4.0.3.8 NAME MetaMatchingRuleUse DESC 'Meta definition of the MatchingRuleUse object' SUP top STRUCTURAL MUST ( m-applies ) MAY ( m-obsolete $ m-extensionMatchingRuleUse ) ) |
MetaDITContentRule
The following text is the description of the DITContentRule :
Code Block |
---|
ObjectClass ( 1.3.6.1.4.1.18060.0.4.0.3.9
NAME MetaDITContentRule
DESC 'Meta definition of the DITContentRule object'
SUP top
STRUCTURAL
MAY ( m-obsolete $ m-aux $ m-must $ m-may $ m-not $ m-extensionDITContentRule )
)
|
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 |
---|
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 :
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
|