directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <>
Subject [jira] Created: (DIRSERVER-883) Improve the way Schema are loaded
Date Tue, 27 Mar 2007 09:50:32 GMT
Improve the way Schema are loaded

                 Key: DIRSERVER-883
             Project: Directory ApacheDS
          Issue Type: Improvement
    Affects Versions: 1.5.0
            Reporter: Emmanuel Lecharny
             Fix For: 1.5.1

As far as I understand the way schema are loaded into 1.5.0 version of the server, we can
improve it to be more versatile.

We have 5 kind of elements which are part of the schema repository :
1) mandatory elements, like ObjectClass, Top, Name, Desc, any objects without which the server
can't load a schema.
2) meta-schema elements, which are used to declare a new schema
3) core schemas, like Core, System, ApacheDs, which are loaded first
4) Extension schema, like Samba, Nis, etc.
5) User defined schema

Right now, we have a bootstrap sequence which is quite complicated :
1) the server is started, and declare the mandatory elements
2) The metaSchema is loaded, with the core schema, from some generated java classes (the schema
are only used when compiling the server, to generate those java classes)
3) The extended classes are loaded from some generated partition (there is a file named DBFILES
which contains the list of all the backend files, files which will be created when compiling
the server from the generated java classes)
4) the server is available.

IMO, we can do the bootsrap differently :
1) server startup : we load the mandatory elements
2-a) if this is the first time the server is started, load the Ldif files representing the
MetaSchema, and all the other Ldif files, so that the cn=schema partition is fed with the
base and extended schema
2-b) if the schema is already loaded, do nothing except if we have one file which date is
younger than the last modification date in the cn=schema partition.

The list of schema ldif  files will be stored into the server.xml file, assuming that the
order must be corect (we must load core.schema before any other shcema, etc.)

This process will be much simpler and easier to modify than the first one, and we will be
able to remove some projects and plugins, like the apacheds-bootsrap-schema and apacheds-schema-extra

Not sure I'm totally right...

Wdyt ?

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message