OpenDocument - Adv Document Collab SC

Expand all | Collapse all

Suggestions for moving forward to resolve issues

  • 1.  Suggestions for moving forward to resolve issues

    Posted 04-21-2011 16:37
    At the last call, Rob said that he would discuss the next steps with myself, as chairman of this group, and Michael, as co-chairman of the TC. We have had some discussions and, as Rob says, our view is that it is not helpful to go for a vote at this point, either in this subcommittee or in the TC. As we continue to discuss the issues, we seem to be gaining a better understanding of why there is  a divergences of views. Only by understanding the reasons behind this can we have any hope of coming up with a good solution. There is clearly merit in both of the proposals that have been made. Therefore ideally we would like to combine the best aspects of both in a solution. We have identified two main areas where views seem to be divergent: 1. Implementation: is the GCT impossible/difficult/expensive to implement? 2. Scope: should all changes be tracked or only those that editing applications currently track? These are explored further below. The best aspects of each proposal seem to be (ignoring for now any downsides): GCT: generic solution covers any change, now and in future ECT: based on the semantic CT requirements of editing applications If we can combine these best aspects then we could have a solution that will have broad support. We believe it is worth some time and effort to see if this can be done. Suggested Actions A1. To resolve the issue over implementation, please could those who currently feel that the GCT is impossible/difficult/expensive to implement talk to those who have already done implementations? Perhaps the question to answer is: what restrictions could be put in place to make it easier to implement the GCT? A2. To see if we can combine the best aspects or the two proposals, please would anyone who has ideas on this propose them for discussion. A3. Conference call, again perhaps chaired by Rob, possibly on Tues 17 May (not yet checked with Rob) at the usual time to check if we are converging on a solution. Note: Regarding scope, I am not sure a discussion here is useful - both views seem to be valid and so would need to be supported in any solution. But, I would not want to prevent any further discussion! DETAILED NOTES ON ISSUES 1. Implementation: is the GCT impossible/difficult/expensive to implement? Rob describes the implementation issue as something like this: Change tracking is recorded and accepted or rejected in the runtime of the  editor.  At this point, the original ODF document has been read into memory structures that are optimized for that editor's runtime, but which bear no direct 1-to-1 correspondence with the ODF markup model.  Although each application will need to be able to load and save documents consistently in ODF, at runtime they are dealing with an entirely different abstraction.  This makes it tricky to process change tracking that is described as operations on the markup.  The ability to translate an entire document in memory to ODF at save time does not mean that apps can easily process an XML diff at runtime, after the document has already been loaded. However, we now have both Koffice and Abiword implementations (not full, but quite a significant proportion), not to mention WebODF viewer. Indeed, we have full reports submitted to the subcommittee on the implementation work and the issues they found. So, this seems to demonstrate that implementation could be more of a perceived problem than a real one. Clearly change tracking is a big challenge, and implementing it is never going to be easy. The question is whether it is that much harder in the generic format than the extended one. Given the above implementations, and given the fact that OpenOffice and LibreOffice are probably closer to ODF, is it really an impossible problem? Can someone articulate why it is difficult, and how it could be easier? 2. Scope: should all changes be tracked or only those that editing applications currently track? There seem to be two viewpoints: V1. Editor Feature viewpoint: CT should support the features in editors, no more and no less. Therefore editor application programmers need to agree on what these are and then they can be implemented in ODF. V2. Document Version viewpoint: CT should support changes to the ODF representation of a document, so it should be possible to roll-back to any previous version. It should be possible to track any change even if a particular application cannot handle the change. View V1 does not want a view V2 solution because it is impossible to implement fully. View V2 regards V1 solution as inadequate for other applications and a moving target: as editors have new features the standard will need to be changed. Since by definition V2 must include all of V1, a solution that allows V2 but can be constrained to V1 could be a possible way forward. -- -- ----------------------------------------------------------------- Robin La Fontaine, Director, DeltaXML Ltd Change control for XML http://www.deltaxml.com Registered in England 02528681 Reg. Office: Monsell House, WR8 0QN, UK


  • 2.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-21-2011 18:42
    On Thu, 2011-04-21 at 10:36 -0600, Robin LaFontaine wrote: > A1. To resolve the issue over implementation, please could those who > currently feel that the GCT is impossible/difficult/expensive to > implement talk to those who have already done implementations? Perhaps > the question to answer is: what restrictions could be put in place to > make it easier to implement the GCT? I have the impression that there aren't any truly independent implementation of this by two (or more) editing applications. While there appear to be two implementations they seem to have been developed in close cooperation (as far as this feature is concerned.). The difficulty I see with regard to implementation is how to adress the general situation when I one just encounters a valid ODF file with change tracking. The fact that the gct is so general a reading implementation would need to be able to be similarly genral when reading the file. > Clearly change tracking is a big challenge, and implementing it is > never going to be easy. The question is whether it is that much harder > in the generic format than the extended one. Given the above > implementations, and given the fact that OpenOffice and LibreOffice > are probably closer to ODF, is it really an impossible problem? Can > someone articulate why it is difficult, and how it could be easier? I am really not sure what the closeness of OpenOffice and LibreOffice to ODF has anything to do with this. Perhaps I misunderstood the Koffice and Abiword implementation work, so are you saying that these were completely independent implementations (ie. without any significant communication between the two implementation groups)? > > > 2. Scope: should all changes be tracked or only those that editing > applications currently track? > > There seem to be two viewpoints: > > V1. Editor Feature viewpoint: CT should support the features in > editors, no more and no less. Therefore editor application programmers > need to agree on what these are and then they can be implemented in > ODF. > > V2. Document Version viewpoint: CT should support changes to the ODF > representation of a document, so it should be possible to roll-back to > any previous version. It should be possible to track any change even > if a particular application cannot handle the change. I don't see how this is possible. I f I have a sequence of changes A(recent), B(older), C(oldest) and I don't understand B how could I ever want to roll back to C!? In fact if I perform some editing how could I ever justify to resave B into a new file when I don't understnd the meaning or effect of B on a different application? > Andreas -- Andreas J. Guelzow, PhD, FTICA Mathematical & Computing Sciences Concordia University College of Alberta


  • 3.  RE: [office-collab] Suggestions for moving forward to resolve issues

    Posted 04-21-2011 20:26
    Perhaps there is a misunderstanding about "closeness" here. One must presume, I think, that OpenOffice.org, LibreOffice, Symphony, and anything else which relies on a common-origin code base are "close" to what ODF 1.0-1.2 say change-tracking is. Other (that is, definitely independent) implementations either don't attempt change tracking or simply do something of their own without using the ODF 1.0-1.2 provisions. Also, I would distinguish between products where ODF is the "native" format and ones where ODF is supported but it is not the one that the product models primarily or best. This makes import/export of ODF rather tricky because one has to have native change tracking and understand how to map it successfully to and from whatever it is that ODF 1.0-1.2 involve. Also, although I didn't mention it on the call, it is meaningless for an editor to preserve XML-level markup that it does not understand if any changes are made to the document at all. There is no way to know, in such an editor, what the ripple effects of changes that are made are with respect to the unsupported and probably unrecognized features. I hear the idea of passing things along repeatedly. No one seems to notice the opportunity this creates for producing a document that is badly broken from the standpoint of the original producer software. There are significant cross-dependencies off the hierarchy of the XML documents in an ODF document, and one doesn't know how to tell that any of them are being violated in respect to the presence of non-understood elements. Carrying around someone else's unrecognizable junk is simply a bad idea, especially if there are also security and privacy concerns. - Dennis


  • 4.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-22-2011 02:26
    On Thu, 2011-04-21 at 12:41 -0600, Andreas J. Guelzow wrote: > On Thu, 2011-04-21 at 10:36 -0600, Robin LaFontaine wrote: > > > A1. To resolve the issue over implementation, please could those who > > currently feel that the GCT is impossible/difficult/expensive to > > implement talk to those who have already done implementations? Perhaps > > the question to answer is: what restrictions could be put in place to > > make it easier to implement the GCT? > > I have the impression that there aren't any truly independent > implementation of this by two (or more) editing applications. While > there appear to be two implementations they seem to have been developed > in close cooperation (as far as this feature is concerned.). > The difficulty I see with regard to implementation is how to adress the > general situation when I one just encounters a valid ODF file with > change tracking. The fact that the gct is so general a reading > implementation would need to be able to be similarly genral when reading > the file. I really don't know where you got that impression from. And I mean I *really* have no idea where. For the record, I've not met Ganesh Paramasivam, and had absolutely no part in KOffice's support for the GCT. Likewise, all the GCT code in abiword was written by me, and the design to it mused entirely by me. I have only sent Ganesh one off list email, which was to ask how to build his KOffice branch so I could do some interoperability testing to make my blog posts out of personal interest in interoperability. Of course, I'd like to meet Ganesh and have few beers and a chat at some stage. But I also extend that offer to any interesting coders ;) Also, I've not contributed to the WebODF GCT implementation by Jos van den Oever. So this makes three independent implementations, not one as you posit. On your last point, if we try to avoid the GCT because of its ability to be generic and thus choose ECT and buckets, an application then needs to be able to generically diff ODF fragments and interpret the results to actually work out what the changes were in order to show them. We have merely swept the complexity out of one place and into another.


  • 5.  Re: [office-collab] Suggestions for moving forward to resolve issues

    Posted 04-22-2011 02:40
    >> I have the impression that there aren't any truly independent >> implementation of this by two (or more) editing applications. While >> there appear to be two implementations they seem to have been developed >> in close cooperation (as far as this feature is concerned.). >> The difficulty I see with regard to implementation is how to adress the >> general situation when I one just encounters a valid ODF file with >> change tracking. The fact that the gct is so general a reading >> implementation would need to be able to be similarly genral when reading >> the file. > > I really don't know where you got that impression from. And I mean I > *really* have no idea where. > > For the record, I've not met Ganesh Paramasivam, and had absolutely no > part in KOffice's support for the GCT. Likewise, all the GCT code in > abiword was written by me, and the design to it mused entirely by me. I > have only sent Ganesh one off list email, which was to ask how to build > his KOffice branch so I could do some interoperability testing to make > my blog posts out of personal interest in interoperability. > > Of course, I'd like to meet Ganesh and have few beers and a chat at some > stage. But I also extend that offer to any interesting coders ;) > The one e-mail I got from Ben was after the completion of my implementation work asking me information about compiling and installing the implementation ( whose source was available in a public repository ). It would definitely be great to meet up for some beers... - Ganesh


  • 6.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-22-2011 03:27
    On Thu, 2011-04-21 at 20:26 -0600, monkeyiq wrote: > Also, I've not contributed to the WebODF GCT implementation by Jos van > den Oever. So this makes three independent implementations, not one as > you posit. Thank you for clearing that up. (I have no idea where I got the impression that they weren't truly independent, just that i was under this, apparently false, impression.) > > On your last point, if we try to avoid the GCT because of its ability to > be generic and thus choose ECT and buckets, an application then needs to > be able to generically diff ODF fragments and interpret the results to > actually work out what the changes were in order to show them. We have > merely swept the complexity out of one place and into another. I don't think under the bucket proposal an application is expected to compare the bucket contents to figure out what has changed but the buckets were intended as indivisible units, ie. an application would only indicate that the bucket changed. Andreas


  • 7.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-22-2011 04:13
    On Thu, 2011-04-21 at 21:26 -0600, Andreas J. Guelzow wrote: > On Thu, 2011-04-21 at 20:26 -0600, monkeyiq wrote: > > Also, I've not contributed to the WebODF GCT implementation by Jos van > > den Oever. So this makes three independent implementations, not one as > > you posit. > > Thank you for clearing that up. (I have no idea where I got the > impression that they weren't truly independent, just that i was under > this, apparently false, impression.) > > > > On your last point, if we try to avoid the GCT because of its ability to > > be generic and thus choose ECT and buckets, an application then needs to > > be able to generically diff ODF fragments and interpret the results to > > actually work out what the changes were in order to show them. We have > > merely swept the complexity out of one place and into another. > > I don't think under the bucket proposal an application is expected to > compare the bucket contents to figure out what has changed but the > buckets were intended as indivisible units, ie. an application would > only indicate that the bucket changed. That seems like a huge limitation. A reader might like to treat changes to the spelling in a caption text differently to wholesale replacement of the image that is shown. The former being somewhat simpler to verify while the later might require a copy editor to see the old and new images in order to decide if a change is acceptable. Following on the reporter scenario, in an extreme case the editor might want to see a comment accompanying the image update with a reporters reason for the change. For example, when the new and old images are very similar, something like "Gamma corrected", or HDR version to bring Barry into better view.


  • 8.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-22-2011 02:52
    On Thu, 2011-04-21 at 17:36 +0100, Robin LaFontaine wrote: ... DETAILED NOTES ON ISSUES 1. Implementation: is the GCT impossible/difficult/expensive to implement? Rob describes the implementation issue as something like this: "Change tracking is recorded and accepted or rejected in the runtime of the  editor.  At this point, the original ODF document has been read into memory structures that are optimized for that editor's runtime, but which bear no direct 1-to-1 correspondence with the ODF markup model.  Although each application will need to be able to load and save documents consistently in ODF, at runtime they are dealing with an entirely different abstraction.  This makes it tricky to process change tracking that is described as operations on the markup.  The ability to translate an entire document in memory to ODF at save time does not mean that apps can easily process an XML diff at runtime, after the document has already been loaded." Abiword is one such application. It has its own native file format and its internal data models closely relate to that rather than ODF. While some elements in the native abw format are close to ODF there are others which are not. In particular the elements which are different from ODF in the memory structure/internal data model are also change tracked using that internal model of abiword. The ECT proposal seems to require the xml diff at runtime more than the GCT. In ECT either at load time or in a lazy evaluation, the application will need to xml diff the current XML element to a recent "bucket" in order to actually tell the user that the caption is the only change between two revisions. This inference of changes using buckets gets stickier when one considers captions. The below was generated by OpenOffice for a document where I inserted a small image and gave it a caption "captext". If one considers changes to style and then more intricate changes inside the text:p, the runtime xml diff of ECT buckets becomes somewhat complex just so an application can show the user the changes to a caption.       <text:p text:style-name="Standard">         <draw:frame draw:style-name="fr1" draw:name="Frame1" text:anchor-type="paragraph" svg:width="2.709cm" draw:z-index="0">           <draw:text-box fo:min-height="4.817cm">             <text:p text:style-name="Illustration"><draw:frame draw:style-name="fr2" draw:name="graphics1" text:anchor-type="paragraph" svg:x="0.004cm" svg:y="0.002cm" svg:width="2.709cm" style:rel-width="100%" svg:height="4.817cm" style:rel-height="scale" draw:z-index="1"><draw:image xlink:href= "Pictures/10000000000001400000023953C5B569.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame>Illustration <text:sequence text:ref-name="refIllustration0" text:name="Illustration" text:formula="ooow:Illustration+1" style:num-format="1">1</text:sequence>: captext</text:p>           </draw:text-box>         </draw:frame>       </text:p> On the other hand, the text:p here and in other places of and ODF file could all be tracked the same way in the GCT. The application gets to be able to show the changes to a caption just as it does an edit to a table cell, just as it does an edit to the first paragraph in the body of the document.


  • 9.  Re: [office-collab] Suggestions for moving forward to resolve issues

    Posted 04-22-2011 10:56
    Hi Ben, On 22.04.2011 04:51, monkeyiq wrote: 1303440683.1516.273.camel@alkid.localdomain type= cite > This inference of changes using buckets gets stickier when one considers captions. The below was generated by OpenOffice for a document where I inserted a small image and gave it a caption captext . If one considers changes to style and then more intricate changes inside the text:p, the runtime xml diff of ECT buckets becomes somewhat complex just so an application can show the user the changes to a caption.           <text:p text:style-name= Standard >               <draw:frame draw:style-name= fr1 draw:name= Frame1 text:anchor-type= paragraph svg:width= 2.709cm draw:z-index= 0 >                   <draw:text-box fo:min-height= 4.817cm >                       <text:p text:style-name= Illustration ><draw:frame draw:style-name= fr2 draw:name= graphics1 text:anchor-type= paragraph svg:x= 0.004cm svg:y= 0.002cm svg:width= 2.709cm style:rel-width= 100% svg:height= 4.817cm style:rel-height= scale draw:z-index= 1 ><draw:image xlink:href= javascript:void(0); xlink:type= simple xlink:show= embed xlink:actuate= onLoad /></draw:frame>Illustration <text:sequence text:ref-name= refIllustration0 text:name= Illustration text:formula= ooow:Illustration+1 style:num-format= 1 >1</text:sequence>: captext</text:p>                   </draw:text-box>               </draw:frame>           </text:p> On the other hand, the text:p here and in other places of and ODF file could all be tracked the same way in the GCT. The application gets to be able to show the changes to a caption just as it does an edit to a table cell, just as it does an edit to the first paragraph in the body of the document. That's what OOo currently does. There is no difference (neither in the generated xml nor in the internal structures) if you change the caption text:p or any other paragraph in the document. Regards, Frank -- Frank Meies Software Developer Phone: +49 49 23646 500 Oracle OFFICE GBU ORACLE Deutschland B.V. & Co. KG Nagelsweg 55 20097 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven Oracle is committed to developing practices and products that help protect the environment


  • 10.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-24-2011 08:30
    On Fri, 2011-04-22 at 12:55 +0200, Frank Meies wrote: > Hi Ben, > > On 22.04.2011 04:51, monkeyiq wrote: > > > > This inference of changes using buckets gets stickier when one > > considers captions. The below was generated by OpenOffice for a > > document where I inserted a small image and gave it a caption > > "captext". If one considers changes to style and then more intricate > > changes inside the text:p, the runtime xml diff of ECT buckets > > becomes somewhat complex just so an application can show the user > > the changes to a caption. > > > > <text:p text:style-name="Standard"> > > <draw:frame draw:style-name="fr1" draw:name="Frame1" > > text:anchor-type="paragraph" svg:width="2.709cm" draw:z-index="0"> > > <draw:text-box fo:min-height="4.817cm"> > > <text:p text:style-name="Illustration"><draw:frame > > draw:style-name="fr2" draw:name="graphics1" > > text:anchor-type="paragraph" svg:x="0.004cm" svg:y="0.002cm" > > svg:width="2.709cm" style:rel-width="100%" svg:height="4.817cm" > > style:rel-height="scale" draw:z-index="1"><draw:image > > xlink:href="Pictures/10000000000001400000023953C5B569.jpg" > > xlink:type="simple" xlink:show="embed" > > xlink:actuate="onLoad"/></draw:frame>Illustration <text:sequence > > text:ref-name="refIllustration0" text:name="Illustration" > > text:formula="ooow:Illustration+1" > > style:num-format="1">1</text:sequence>: captext</text:p> > > </draw:text-box> > > </draw:frame> > > </text:p> > > > > On the other hand, the text:p here and in other places of and ODF > > file could all be tracked the same way in the GCT. The application > > gets to be able to show the changes to a caption just as it does an > > edit to a table cell, just as it does an edit to the first paragraph > > in the body of the document. > > That's what OOo currently does. There is no difference (neither in the > generated xml nor in the internal structures) if you change the > caption text:p or any other paragraph in the document. So in this particular case, the ECT as it stands is actually a fair bit harder to implement than the GCT. The ECT requiring two very different IO paths depending on context. > > Regards, > > Frank


  • 11.  Re: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-22-2011 04:38
    On Thu, 2011-04-21 at 17:36 +0100, Robin LaFontaine wrote: ... Suggested Actions A1. To resolve the issue over implementation, please could those who currently feel that the GCT is impossible/difficult/expensive to implement talk to those who have already done implementations? Perhaps the question to answer is: what restrictions could be put in place to make it easier to implement the GCT? Hopefully there has been a little jump start on this. Like the exchange on handing text:style-name; http://lists.oasis-open.org/archives/office-collab/201104/msg00042.html As a follow on to that, it might be interesting to consider preferring this form of serialization where XML elements can be nested (like text:span). In such a situation the serialization can insert the XML elements needed by revisions with citation to the ctid where ac:change can be used to collapse nested trees where many changes occurred at a point. As mentioned previously, the downside here is that applications not supporting CT would have to process these older revision XML elements too on loading. FWIW I've tried loading some of these GCT ODF files in OpenOffice 3.3.0 and they display the final version OK. The upside of this serialization is the avoidance of the markup for sliding windows over revisions. Does anyone know of a nice resource to how OO handles the existing CT stuff? It would be nice to expand the collective knowledge of how apps model these things. I'm happy to put more info up about abiword, in addition to the past comments and abw file segments. If folks do not find it appropriate for such implementation oriented stuff on list, we can put it up some place else. A2. To see if we can combine the best aspects or the two proposals, please would anyone who has ideas on this propose them for discussion. A3. Conference call, again perhaps chaired by Rob, possibly on Tues 17 May (not yet checked with Rob) at the usual time to check if we are converging on a solution.


  • 12.  RE: [office-collab] Suggestions for moving forward to resolve issues

    Posted 04-22-2011 05:03
    Ben, send me an ODT document that has the nested <text:p><draw:frame> business and let's see what a Native ODF application actually does with the change you are talking about. Send it in its unaltered form and include in the text what changes you'd like to see made to it. I've already posted two documents that show what some allowed deletions and insertions do (and that, it happens, fail in one way or other where I have tested them). But you can see the related XML as well. None of it is done by some sort of diffing process. It is rather more interesting than that. - Dennis


  • 13.  RE: [office-collab] Suggestions for moving forward to resolveissues

    Posted 04-24-2011 08:06
    Hi, I created the below with OpenOffice 3.3.0 which comes with Fedora. The interface to OpenOffice doesn't make it simple to change styles for the caption, though if it is a text:p as the XML indicates then it should be fully legal to do so? Indeed, if one directly pokes the XML and makes part of the caption bold then OO will render it as such. The changes I am talking about are very much like the ones I made to content.xml, sans adding the second paragraph to get OO to generate the bold style I wanted to use in the caption. pic-and-caption.odt is not molested in any way. On Thu, 2011-04-21 at 22:02 -0700, Dennis E. Hamilton wrote: > Ben, send me an ODT document that has the nested <text:p><draw:frame> > business and let's see what a Native ODF application actually does > with the change you are talking about. > > Send it in its unaltered form and include in the text what changes > you'd like to see made to it. > > I've already posted two documents that show what some allowed > deletions and insertions do (and that, it happens, fail in one way or > other where I have tested them). But you can see the related XML as > well. None of it is done by some sort of diffing process. It is > rather more interesting than that. > > - Dennis > >