Hey btw I move that page you had on the advanced user guide to the developer's guide and filled it in a bit. Here's the new link in confluence:
http://cwiki.apache.org/confluence/display/DIRxSRVx11/Versioning+and+Snapshots Alex On 9/19/07, Alex Karasulu <[EMAIL PROTECTED]> wrote: > > 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 > > > >
