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

Reply via email to