Hi,
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:
http://cwiki.apache.org/DIRxSRVx11/schema-subsystem-redesign.html
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
registries.
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
matchingRuleUses.
Summary
=======
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.
Alex
begin:vcard
fn:Alex Karasulu
n:Karasulu;Alex
org:Apache Software Foundation;Apache Directory
adr:;;1005 N. Marsh Wind Way;Ponte Vedra ;FL;32082;USA
email;internet:[EMAIL PROTECTED]
title:Member, V.P.
tel;work:(904) 791-2766
tel;fax:(904) 808-4789
tel;home:(904) 808-4789
tel;cell:(904) 315-4901
note;quoted-printable:AIM: alexokarasulu=0D=0A=
MSN: [EMAIL PROTECTED]
Yahoo!: alexkarasulu=0D=0A=
IRC: aok=0D=0A=
PGP ID: 1024D/4E1370F8 BBCC E8D8 8756 2D51 C3D4 014A 3662 F96F 4E13 70F8=0D=0A=
x-mozilla-html:FALSE
url:http://people.apache.org/~akarasulu
version:2.1
end:vcard