Counting issues, etc

From
Dennis Hamilton
Date
2012-10-01T16:06:00+00:00
ID
Thread
Counting issues, etc
In the spirit of starting with simple examples, here's one similar to what Patrick introduced.  I am not assuming which approach to change-tracking is used beyond assuming that the persistent form of the document can be read as if the changes are all applied when change-tracking is ignored.  ORIGINAL SPECIMEN
<text:p text-attributes1>Consider that: </text:p>
<text:p text-attributes2>ACKXXX once upon a time there were three little pigs.</text:p>  The user deletes, as a single operation, the text from the ":" to the text ending "ACKXX".  If this is allowed as a single deletion (it is in current ODF 1.2 implementations of change-tracking) at least two things will happen:  The resulting text will often be persisted as
<text:p text-attributes1>Consider that once upon a time there were three little pigs.</text:p>  And something like the following will be captured elsewhere to reflect the deleted content:
<text:p text-attributes1>: </text:p>
<text:p text-attributes2>ACKXX</text:p>  There is additional markup to know where the deletion point is and information sufficient for (1) revoking the change, (2) accepting the change (trivial), and also (3) being able to display the text with change tracking in-line with distinctive markup.  (The ODF specification doesn't address these, but it is required to afford these activities in a practical implementation.)  Note that the formatting differences of the second paragraph are lost.  This is typical of what happens if the user takes no further action to remedy that.  Another way to handle that would be with something like this in the persisted post-deletion markup:
<text:p><text:span text-attributes1>Consider
that</text:span><!-- deletion point --><text:span text-attributes2>
once upon a time there were three little pigs.</text:span></text:p>  although this requires an implementation that makes it easy for users to recognized and control <text:span> effects.
THE PUZZLE  How is this case handled in the MCT proposal?  I know what the ODF 1.2 "solution" is, and I can imagine simple attribute additions to that specification that would assist in (1) correct presentation with changes shown and (2) correctly restoring the original markup if the deletion is rejected.  BONUS POINTS  In the original text, but with the same deletion, consider what happens when one or the other of the two <text:p> elements is a <text:h>.
- Dennis  PS: Knuth has said as much to me, although when I saw him in June, change-tracking was not part of the conversation [;<). The problem is not with simple examples, it is with solutions that are simple only for the wrong problem.