On 06/24/13 12:19, Friedrich W. H. Kossebau wrote:
Am Samstag, 22. Juni 2013, 00:10:40 schrieb Jos van den Oever:
On 06/17/13 12:39, Friedrich W. H. Kossebau wrote:
Hi WebODFler,
I would like to add a new property to the specs of all insert/remove/split ops: setOwnCursor (or some better name). This property will tell if the cursor of the member which sends the operation should be put after the place/result of the op. Currently this is only done iff the cursor is at the position of the op. But with real OT, where local operations are instantly applied and only then sent to other clients who might have to transform them on conflicts, the transformed operations and positions of cursors can be out-of-sync, breaking the current assumption with UI editing that cursors will always automatically placed behind the places of modification.
Ok, I wrote a long email with different scenarios and orders of operations. I have discarded this mail because I came to the conclusion that the problem is not with the occurrence of an out-of-sync with an assumption of how cursors should move upon inserting or deleting text.
Here is the original example. I have added a | to show the insertion point. text:p|<cursor memberid="A"/><cursor memberid="B"/>
Why do you put the insertion point before the cursors? How would you argument for this ordering? Why this way do you bound the cursors more to the following and less to the preceding content?
A quick reply to only one question. I did read the rest of the mail. (I"m on holiday the whole week and shoudnt even be reading my mail.) The reason I put the insertion point where I put it, is that that is where README_cursorpositions.txt tells me to put it. That document describes cursor positions. Now, <cursor/> is ignored in that reasoning normally, but if it werent, youd get 1) text:p|<cursor memberid="A"/><cursor memberid="B"/> and 2) text:pa|<cursor memberid="A"/><cursor memberid="B"/> Why? because README_cursorpositions.txt says: 1) put | at start of empty paragraph, so before cursor 2) put | directly to right of a character Please consider the solution I wrote initially. It is simple and consistent with our cursor position documentation. Cheers, Jos