directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <>
Subject Re: dynamic schema support
Date Wed, 07 Sep 2005 00:13:05 GMT
Norbet Reilly wrote:

> Hi DS-ers,


> My immediate concern is supporting a custom back-end LDAP partition 
> which has its own schema, prior to the availability of RFC 3672 
> support (which sounds like it will smooth the way in the future).

It sure will.  You'll be able to define an autonomous administrative 
point for the context of your partition to manage all the aspects of the 
DIT therein.

> I have plugged in my custom LDAP AbstractContextPartition successfully 
> (using the IETF LDAP classes to convert JNDI back to LDAP) and have 
> written some support classes which fetch the remote 
> org.ietf.ldap.LDAPSchema (during doInit() using some credentials known 
> from the partition's configuration properties) and internalise it into 
> the org.apache.ldap.server.schema.GlobalRegistries instance (noting in 
> the future AbstractBootstrapProducer should ideally inherit from an 
> abstract intermediate class to ease writing of classes like mine which 
> create non-bootstrap instances of classes extending 
> AbstractAttributeType/AbstractSchemaObject etc) .   ...what a sentence...

Made sense to me.

> My question is: what is the best way to get the ApacheDS server's 
> org.apache.ldap.server.schema.SchemaService to notice that additions 
> have been made to the GlobalRegistries.

Nothing like this so far.  Really the schema subsystem is extremely 
primitive.  In fact we never intended to use the boostrap mechanism for 
anything other than supporting some critical schema elements for the 
system partition.  Now we're using the bootstrap mechanism for the whole 

Part of this is my fault.  I waited until 3672 came since this would 
give me the opportunity to really think about doing schema the right way.

> I notice the addition of AddContextPartitionConfiguration in ApacheDS 
> 0.9.2, but I'm not sure hwo to configure its use via an ApacheDS 
> configuration file (or even if it is indeed the answer to my problems).

Nah this is something else totally.  It's for dynamically adding and 
removing partitions after system startup.

> Failing that the only other approach I can think of is to get the 
> startup infrastructure to create a back-end InitialContext very early 
> so that my custom partition is queried for its schema just after the 
> bootstrap schemas are processed, which sounds a very experimental path 
> to follow.

Yeah you're not in a very good situation actually.  There really is no 
clean way to solve your problem.  We just need to implement the Schema 
subsystem properly.  You interested in giving that a try?

> Note that attempting to refresh the schema via JXplorer never seems to 
> have any effect (I imagine that somewhere in the server it is assumed 
> that there are only bootstrap schemas).

You guessed right ... schema is static on startup.

> Any guidance would be very much appreciated!

Sorry can't really give you a better way here other than to build out 
the schema subsystem so it can support your needs.  This means just 
implementing it properly.  There is no other trick we can use at the moment.


View raw message