FYI the present commits (1) took the workshop example from the "Embedding ApacheDS" seminar and added it to the server adapting it to the changes. (2) added some SPI for such a server service for extension (3) the present interceptor does not use this
There's a bit more work to do to flush out a coherent picture. I will get this done today and document it all in the wiki. I will also modify the existing interceptor to use these interfaces but it will still not be fully functional since I need to figure out how to implement an anti-ldif calculation algorithm. I'll add the convos we have had on IRC so others can back track and also jot down some other ideas around this facility. Alex On 9/19/07, Emmanuel Lecharny <[EMAIL PROTECTED]> wrote: > > Hi guys, > > Alex just committed a very interesting new interceptor into the trunk > ; the ChangeLog interceptor which was drafted by Ersin a year ago > (more or less). > > This new interceptor will be very usefull for many usage, like : > - logging _all_ the requests sent to the server (valuable when debugging) > - defining some kind of journal we can replay if the server just > crashed and we have lost some data (because the data are written on > disk on a regular basis, not synchronously, unless you ask the server > to do so ) > - add some kind of snapshot + rollback/commit functionality. > > However, we need to polish the code to support all those new > functionalities. > > Atm, for instance, we can't rollback for two reasons : > 1) we have to define some tags to tell the server from which point we > want a rollback to start > 2) we have to save an 'anti-request' data into the log. 'Anti-request' > is just the opposite request sent by the user. For instance, suppose > that the user is adding some entry, the anti-request (A-req) will be a > "DelRequest <added entry DN>". If the user is deleting an entry, the > A-req is a little bit more complex : the interceptor will have to > lookup for the entry first, and save it as a "AddRequest <looked up > entry>". For modify requests and ModifyDN requests, this can bbecome > complex... > 3) We also have to define a control or an extended request to set this > tag, and another one to do the rollback or to discard the snapshot. > > None of those tasks are complex per se, but we have to add them. > > Do you have any other ideas, or opinions ? > > -- > Regards, > Cordialement, > Emmanuel Lécharny > www.iktek.com >
