Thank, I think I have figured out everything except for my question #1, by debugging the code. Still looking for an answer for that one.
I do have a new question. It has been said that the conversation model (specifically the blip documents) are represented as "annotated" XML documents. I haven't actually seen an example of a blip document with annotations. Nor does it appear that the documents actually live anywhere as XML. I see the object model of document floating around, and I see that they are serialized in a semi binary format to the delta file store, but I haven't actually seen them represented as annotated XML anywhere. Mainly I am interested in seeing an example of a blip document represented as XML with annotations. Does this exist anywhere? ~Michael On Jan 7, 2012, at 10:57 PM, Alex North wrote: > Hi Michael, > > I've been intending to send you some good answers to these questions. I'm > just struggling to carve out the time to drag up the memories and give you > the info you need. But I still intend to! Hassle me, and feel free to send > more questions as they come up. > > On Wed, Dec 28, 2011 at 3:24 AM, Michael MacFadden < > michael.macfad...@gmail.com> wrote: > >> All, >> >> I have been trying to dig in to the CC and OT concept in wave, so I can >> start to work on that section of the code. It seems like we have been >> focusing on the UI and I want to make sure we have coverage in the CC >> stack. I have read all of the OT literature, so I am fairly well versed in >> OT in general, but some of the specifics of the WaiB implementation are a >> little fuzzy. >> >> Right now I am working on understanding composition and how we infer the >> servers path. I have a few questions. >> >> 1) In order to compose operations I assume they don't have to have the >> same document width (how could they for successive inserts for example), >> but I assume they would need to span the same line? Is that right? In >> other words you wouldn't compose operations from one paragraph with >> operations from another? Is the desire to compose one of the driving >> reasons for the retain operation? >> >> >> 2) When we send out "first" operation over to the server and we are in a >> holding pattern buffering client operations, are these operations always >> composed together and then sent over as a single operation when we get the >> ACK from the server. It seems like we can only send one operation to the >> server at a time, however the on line material implies that when we get and >> ACK we send over ALL buffered operations. This seems to be contradictory. >> If we have buffered 4 operations, it seems like we can send all of them as >> four individual operations. >> >> >> 3) Is there a run down of how the CurrencyControl class does point #2 >> anywhere. I see the unacknowledged, the inferredServerPath, and the >> clientOperationsQueue objects and get a lose impression of how these are >> managed but any help with regard to incoming server operations while we >> have an operation in flight would be appreciated. Specifically what >> transformations are performed on which object structures when we get a new >> operation form there server, and where / when is composition happening. >> >> >> 4) How exactly are the hashed versions designed? There seems to be a >> monotonic scalar version number and a hash? I want to make sure I >> understand how both are generated and how both are used. >> >> >> If any of this is well documented, please let me know where I could find >> it. If it is not, I would volunteer to document this as I work through it. >> Thanks in advance. >> >> Michael