directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <>
Subject [ApacheDS] STATUS: Schema subsystem
Date Wed, 24 Jan 2007 21:49:43 GMT

As you may already know I've been trying to revamp the limited read-only 
schema subsystem we have to allow for dynamic updates.  Here's some 
initial design documentation about this schema revamp:

Where are we?

At this point I've added to trunks the fixed ou=schema namingContext 
partition which is preloaded with all known schema we have here at 
Directory.  Not all schema are activated so they are not loaded into 

I have enabled code that updates registries when schema entities 
described by the meta schema are updated.  Thanks to Emmanuel for 
formulating this meta schema; it's working out well for our needs with 
minor changes.

For now I have covered the basic schema types:

  o SyntaxDescriptions
  o MatchingRuleDescriptions
  o AttributeTypeDescriptions
  o ObjectClassDescriptions

Functionality for following schema entities have been stubbed out:

  o MatchingRuleUseDescriptions
  o DITContentRules
  o DITStructureRules
  o NameForms

What needs to be done?

I still have to add code that will determine what to do when a schema is 
modified (name changed) etc.  I also have to add the X-SCHEMA and 
X-IS-HUMAN-READABLE schema extensions.

Now my goal is to move the global subschemaSubentry from 
cn=schema,ou=system to cn=schema to reflect the contents of the 
ou=schema meta data in RFC based Syntaxes for the various schema 
elements: SyntaxDescriptions, MatchingRuleDescriptions, 
AttributeTypeDescriptions, ObjectClassDescriptions etc ...

Then I would like to make sure updates to the schemaSubentry work 
properly for the default (protocol accepted) manner in which schema is 
updated in LDAP servers.  This is where Stefan Seelmann's parsers will 
come in handy.

Need functionality for following schema entities which can be added later:

  o MatchingRuleUseDescriptions
  o DITContentRules
  o DITStructureRules
  o NameForms

The wiki page on the design above covers having separate schema 
autonomous areas (SAA) where right now I did not have time to include 
this.  It was more important to me to just get this thing done so schema 
can be dynamically updated.  Ersin and I talked and he thinks later he 
can retrofit this feature.  Ersin also expressed interested in add 
functionality for nameForms, dITStructureRules, dITContentRules and 


It's looking good as is but I have had trouble working as much as I want 
to on this in the past couple weeks.  I tried to distribute some time to 
triplesec and apacheds so we can bring djencks more up to speed.  Since 
he looks ok for now I'm going to revert back a bit to working on this 
stuff.  Hopefully it can be finished in another week or two.


View raw message