On Sun, Feb 14, 2010 at 3:40 AM, Christian Ohler <[email protected]> wrote:

> On Sun, Feb 14, 2010 at 3:18 AM, Torben Weis <[email protected]>
> wrote:
> > However, it is a pity that the spec is not edited in a wiki-style,
> because
> > the contribution model does not lend itself to community contributions.
> As a
> > result, the comments made on this list and the errors+solutions detected
> > while implementing the spec are likely not to find their way in the specs
> > and whitepapers.
>
> The federation protocol draft spec has been in the repository at
> code.google.com for a long time, and the whitepapers have also moved
> there recently, e.g.
>
>
> http://code.google.com/p/wave-protocol/source/browse/#hg/whitepapers/operational-transform
>
> The barrier for contributing to this is higher than it would be with a
> wiki; but for specifications and similar documents, this is probably a
> good thing.  Please send your contributions through the usual code
> review channels.  We would like to see the errors that you found
> fixed.
>
> Oh, and "retain" is not an operation, it's an operation component :)
>

What's the difference between an "operation" and an "operation component"?


> Specifying an absolute position/range for each component would indeed
> be an alternative.  The way we defined our operation components forces
> each operation to traverse the document exactly once, from left to
> right, which leads to more efficient algorithms for transform and
> compose.
>

Hmmm...yes, I see. But then I'm a little perplexed about how the transform
is supposed to be implemented. For example, let's say we have an insert op
that begins at position 6. We need to compose it with a delete chars op that
begins at position 3 and deletes 2 chars (or, more accurately, 2 positions).
With an absolute position specified as a property of the operation, it's a
trivial task to transform that--we just decrement the insert op's position
by 2 (the length of the delete). But if we manage offsets using the retain
op, then wouldn't we need to have some awareness of what comes before the op
we are transforming (e.g. "to transform this insert op on this delete op,
step back through the operations before the insert op and reduce a retain
op's range by the delete length")? Or is there a cleverer way to do this?



>
> Hope this helps,
> Christian.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Wave Protocol" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<wave-protocol%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/wave-protocol?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

Reply via email to