hello guys,
As a second step in getting the CiDIT [1] am currently implementing a new
partition which uses
LDIF files as backend, however as I go deeper in implementation(atm the
partition supports add operation)
I asked a couple of questions to myself which I would like to share and
seek opinion on
1. Instead of creating a whole new partition impl for storing CiDIT can
we use the existing (and well tested)
JDBM partition?
The JDBM based partition stores data in binary format but in order to
make the configuration editable using
a simple text editor I propose the following steps
a. After initial startup of server the default configuration will be
dumped to the file system as a single
LDIF file or as a set of directories and LDIF files( mimicking the
DIT structure)
b. A watchdog thread will keep listening on this file(s) for changes
i. any change of type update/delete done to the content of file(s)
will be reflected in
the CiDIT accordingly, but
ii. If the file itself gets deleted we *don't* delete the
configuration data in DIT but simply dump
that data again to file system. To delete the configuration
data completely the corresponding
partition needs to be physically removed from the disk in
which case the system restores the
default configuration during the next startup
c. similarly this file(s) gets updated if the configuration data DIT
gets updated
thanks for your time and I appreciate your comments :)
P.S:- Though implementing a partition is not difficult it is certainly not
trivial, am thinking in terms of
maintaining code and the amount of configuration required for each new
partition impl to be used in server
and also considering the time we have to implement replication support
in 2.0
[1] http://cwiki.apache.org/confluence/display/DIRxSRVx20/ADS+2.0+configuration
Kiran Ayyagari