OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-collab message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: Counting in Access Paths


On 16.10.2012 22:10, Dennis E. Hamilton wrote:
> This is a separate topic, although it certainly figures in how various interop challenges will be handled.
>
> It occurs to me that counting has some disconcerting consequences.
>
> I mean this kind of thing:
>
>      <del s="/2/10" e="/3/18" />
>      <merge s="/2" e="/3" />
>
> There are some interesting consequences:
>
>  1. It is nearly impossible to do these manually (as when fabricating tests, examples, etc.).  That goes to creating them and also checking them manually in forensic work.
Basically the path language is a simplification of an W3C XPath path and
I never heard someone complaining about this to be forensic work. Was
quite a success if I remember it.
Made even a instant empiric sanity check and asked randomly some people
here at the ODF Plugfest in Berlin and they very much do liked it and no
negative comment or even a complain about it at all.
>  2. Is there a presumed canonicalization when it comes down to counting in text content? And how are component elements
>     counted?  I assume they count as 1.
Yes, every component count as one, as every text character is a
component they are counted accordingly. Original Operational
Transformation counts the gaps between text starting with zero. In
addition computer science usually start counting with 0, but XML counts
the components and start with 1 and human languages start with 1 - not
with 0 - and as the serialization is in XML and meant to be readable by
humans it starts with 1. Read an operation <add type="paragraph" s="/3"
/> add a paragraph at the 3rd position. 
>  3. This seems to be very brittle.  That is, anything that is done by some tracking-negligent tool that changes the offset of material that is touched by tracking will completely break the tracked change, with no detection that it happened.  In the ODF scheme, as one example, there is much more resilience in the making of alterations that are unrelated to the change.  Even when there is some sort of collision, there is more information that may help resolve it, or at least determine that some of the tracking cannot be relied upon any longer.  That it may not be possible for a consumer to even detect the disconnect is worrisome.
Quite the opposite, it is far from optimal to use an (stable) absolute
positioning either via ID or (even more stable) directly nesting of
changes into the content. By doing so, it would be necessary to read the
complete content before identifying the changes.
The efficiency/time of merges would relate to the document size and it
would not be possible to sent only the changes of a document to someone
else, who is working as well on the same document.
Not to mention that merges are based on OT, which require relative
referencing. With relative references someone might even be able to
edit/document (proposed changes) on a read-only ODF document, might it
be a signed ODF document, or a document on a web-server somewhere.
Change-Tracking similar to ODF signature & encryption can only be used
by applications supporting it. No need to avoid an advanced technology
if it can be destroyed by a text editor. The user, who edits ODF via
text editor should know what is going on.
Still similar to the revision systems (e.g. git), we might want use
signatures (e.g. SHA-1) to verify if a stored (XML) file was changed.
>
> This is not an objection to MCT in principle, it is simply an objection to the difficulty and the apparent lack of resilience in the scheme by which the tracking is connected to the text that it applies to.  One can also argue that this is not in the spirit of XML-based models at all.
Well, you might be right that operations are not fully representing the
spirit of the XML-based model, but on the other hand operations are
representing the spirit of distributed work. Sooner or later ODF
applications need to solve real-time collaboration, merges by advanced
techniques as Operational Transformation. XML is unfortunately not alone
the hammer for this nail. Nevertheless we are still serializing the
operations into XML. I do very much like XML, but we need to use a
technology where it is suited for.
And difficult? The LibreOffice developers listening to my MCT
presentation, were quite excited. Even Michael Stahl - who implemented
RDF Metadata in OpenOffice and is always very skeptical - told me
afterwards, that this might work!
As long the implementers like it, I am happy.

Interesting view you are representing, Dennis.
Svante
>
>  - Dennis
>
> -----Original Message-----
> From: office-collab@lists.oasis-open.org [mailto:office-collab@lists.oasis-open.org] On Behalf Of Svante Schubert
> Sent: Tuesday, October 16, 2012 03:04
> To: dennis.hamilton@acm.org
> Cc: office-collab@lists.oasis-open.org
> Subject: Re: [office-collab] Paragraph merge in ODF (earlier - Re: [office-collab] FW: [office] Groups - MCT Challenge #1 Documents (Zip) uploaded)
>
> [ ... ]
>
> The heading is the first component, you start delete text from the second to the third component, which serialized MCT operations for the change of your challenge might be:
> <del s="/2/10" e="/3/18" />
> <merge s="/2" e="/3" /> 
> The above are NOT the undo operations, but the operations that describe your change. The undo will follow as soon we agree on what is being changed in the XML and we (or I) need to think over how to handle styles in general (I will be on the ODF plugfest tomorrow and LibreOffice conference after, so I might have to pause this thread till next week).
>
> I even would omit the second parameter for the merge as only sibling paragraphs can be merged.  
>
> [ ... ]
>
>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]