OASIS Open Document Format for Office Applications (OpenDocument) TC

 View Only
  • 1.  change tracking extension

    Posted 04-10-2014 09:49
    Dear TC members! As you might know, I develop an extension implementing the merge enabled change tracking proposed by Svante. Recently I have made further progress in the development. However I would like to address several questions in order to bring closer the specification and implementation. -- I have uploaded an odt ( https://www.oasis-open.org/committees/document.php?document_id=52714&wg_abbrev=office ) containing the currently supported change types with simple user cases of the related xml tags in the undo.xml. I would like to ask you to revise these tags. Regarding style changes I kept the possibility of representing them explicitly in the xml, since automatic style names are still unreachable through the UNO, and the user-generated styles are not enough to thoroughly track style changes. (In the linked odt both bold/italic textparts correspond to the same "text body" style.) Hence I suggest to keep this possibility also in the standard. What do you think? -- I think in order to get usable change tracking system, we need also to export data on the author, creation time, and other metadata (like a comment). May be these data should be also a part of the specification to ensure different implementations would handle these data the same way. What do you think? Currently my extension makes revisions of a document, means, that particular OTs (changes) are grouped under changesets (like an SVN). (An example for the XML representation of a changeset is also shown in the linked odt.) Best Regards, Peter


  • 2.  Re: [office] change tracking extension

    Posted 04-21-2014 13:01
    Hi Peter, Very good work! There are some cases that should/might be resolved in your list of examples. Identification in the ODF application  model and ODF XML is accomplished by their position. The Merge mechanism based on operational transformation (OT) is based upon it. Therefore a second id is redundant and dangerous: (id = generic ID number to identify nodes in the xml) Similar as above the identification is always the position. Some names in-between must be omitted. Let me explain: You and I are working in collaboration on a document with 1 million paragraphs and I am changing the background color of the last paragraph to red. In former times the change was tracked by XML in the content.xml by doing the approach of saving the a before/after status XML . Now it is possible by referencing the position to sent only the change and the position of the 1millon th paragraph. Let me explain OT. I am working on the 3rd Paragraph, but you insert a new 2nd paragraph. I still want to work on the same paragraph, but if we commit your change before mine (similar to doing a commit to a decentralized git repository), I will have to adjust my adoption on the 3rd paragraph to become the fourth. One way to do change-tracking/merging is to think of a list/stack of operation, like a stack of cards. Every time an operation is commited to the document, the operation is placed on top of the others on the top of the card /operation deck. It is like the top is the last and is dependent of the actions of the cards below it. To undo a change, you need to remove a card/operation from the card deck, but only the last (on top) can be surely be removed without harm, as we know that nothing is depending on it. Therefore any other card within the card deck have to be moved to the top. This can be done for instance by changing the position of the card/operation to be removed with its card on top. When doing so, it is like changing the time history. The prior top card, which was executed originally later/after our card we want to move up, is now done prior, when we exchange the cards. But when the upper card is a deletion/insertion of a component, which is before/ahead of the existing (in other words is influencing its position) the position has to be adopted. Example. I change the 3rd paragraph background color to red, afterwards on top is the insertion of a new 2nd paragraph. If we switch those, the top card is now the background color applying to the fourth paragraph. :) Last example: If I sent all collaboration partners an operation telling them that I have inserted the table svante007 they have not the faintest idea, where this table have to placed within our shared document. Right? @5 you added (me=moved end, ms=moved start), how about de & ds for destination or even more verbose wording? @8/9 May I have the example document with the paragraph break? @15 I have to talk to Oliver-Rainer Wittmann, if we can rely on the image name/path (i guess we should). Likely we save the image within the /changes directory to be able to restore it, when necessary. @21 No need for an extra row position parameter, it is just a position similar to a text position. For instance the 2nd row of the a table being the first component would be /1/2 . @23/24 When it comes to columns or cell-ranges, I would suggest to use cell ranges in general. In general I find it handy to use all ODF Table handling by the split into two algorithms. One is taking care of the selection, the other taking care of the adoption/change. The first could be reused and is providing the second each element of the selection. By doing so, I was able to traverse the table only once and avoid a lot of code duplications. Happy Easter! Svante PS: As written on the TC list, I would like to move the discussion on the SC Collaboration list - as this SC was created to separate discussions on this specific functionality from the TC. Still thank you very much for your work. Am 10.04.2014 11:49, schrieb Peter Rakyta: Dear TC members! As you might know, I develop an extension implementing the merge enabled change tracking proposed by Svante. Recently I have made further progress in the development. However I would like to address several questions in order to bring closer the specification and implementation. -- I have uploaded an odt ( https://www.oasis-open.org/committees/document.php?document_id=52714&wg_abbrev=office ) containing the currently supported change types with simple user cases of the related xml tags in the undo.xml. I would like to ask you to revise these tags. Regarding style changes I kept the possibility of representing them explicitly in the xml, since automatic style names are still unreachable through the UNO, and the user-generated styles are not enough to thoroughly track style changes. (In the linked odt both bold/italic textparts correspond to the same text body style.) Hence I suggest to keep this possibility also in the standard. What do you think? -- I think in order to get usable change tracking system, we need also to export data on the author, creation time, and other metadata (like a comment). May be these data should be also a part of the specification to ensure different implementations would handle these data the same way. What do you think? Currently my extension makes revisions of a document, means, that particular OTs (changes) are grouped under changesets (like an SVN). (An example for the XML representation of a changeset is also shown in the linked odt.) Best Regards, Peter --------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail.  Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php


  • 3.  Re: [office] change tracking extension

    Posted 04-21-2014 13:03
    Hi Peter, TC members! Although the change-tracking subcommittee is the correct place to address this question. I will put the TC on CC and do a quick common answer so the reply is tracked. Any further discussion should happen on the subcommittee list - see https://lists.oasis-open.org/archives/office-collab/201404/maillist.html . Some comments below: Am 10.04.2014 11:49, schrieb Peter Rakyta: > Dear TC members! > > As you might know, I develop an extension implementing the merge > enabled change tracking proposed by Svante. Recently I have made > further progress in the development. However I would like to address > several questions in order to bring closer the specification and > implementation. > Great to hear about your progress on your extension. > -- I have uploaded an odt > ( https://www.oasis-open.org/committees/document.php?document_id=52714&wg_abbrev=office ) > containing the currently supported change types with simple user cases > of the related xml tags in the undo.xml. I would like to ask you to > revise these tags. A more detailed review will follow on the SC list - https://lists.oasis-open.org/archives/office-collab/201404/msg00000.html ) > Regarding style changes I kept the possibility of representing them > explicitly in the xml, since automatic style names are still > unreachable through the UNO, and the user-generated styles are not > enough to thoroughly track style changes. (In the linked odt both > bold/italic textparts correspond to the same "text body" style.) Hence > I suggest to keep this possibility also in the standard. What do you > think? The automatic style concept is just an implementation detail of ODF. It is an indirection (bridge) to access the styles being attached to a component. The format changes are being applied directly to the component, without any styles. Although the problem of UNO API is an implementation problem, the style name is of no interest anyway (not even in ODF). Only the format is of interest. We will talk about it next Wednesday. > > -- I think in order to get usable change tracking system, we need also > to export data on the author, creation time, and other metadata (like > a comment). May be these data should be also a part of the > specification to ensure different implementations would handle these > data the same way. What do you think? Currently my extension makes > revisions of a document, means, that particular OTs (changes) are > grouped under changesets (like an SVN). (An example for the XML > representation of a changeset is also shown in the linked odt.) You are absolutely right! Similar to a version control system of source code - I just would rather point out a decentralized one, as git or Mercurial - changes are being grouped. It is always easier to me to start to think of a real-time (RT) collaboration scenario and break down to a change-tracking one. For example, think of the TC members as mail correspondents starting a RT session on your document. We should be able to set mile stones to the document, comment and group our changes. Another example, if company members are working on a contract, than there is a certain version that was sent to the customer. This needs to be marked. In addition if one of the users goes offline, like sitting in a train driving in a tunnel (or wants to work on the document offline over the week-end) the offline work is going to be saved similar to a branch. Absolutely similar as we have branches in our software repository. With a main branch and feature branches. The latter make most sense, when we think about very complex documents, as the ODF specification, where JIRA issues exist from the ISO National bodies. Each issue result in a change of the specification. Those changes can be marked as changes belonging to this issue, where a group of issues belong to a certain country. I fully agree with you. Metadata makes a lot of sense and will not be avoided, are just being omitted at the beginning to avoid another step of complexity distracting the reader/TC member from the core problem of defining and undoing the changes (action and reverse action). Happy Easter! Svante > > Best Regards, > Peter > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php


  • 4.  Re: [office] change tracking extension

    Posted 04-21-2014 13:03
    Hi Peter, TC members! Although the change-tracking subcommittee is the correct place to address this question. I will put the TC on CC and do a quick common answer so the reply is tracked. Any further discussion should happen on the subcommittee list - see https://lists.oasis-open.org/archives/office-collab/201404/maillist.html . Some comments below: Am 10.04.2014 11:49, schrieb Peter Rakyta: > Dear TC members! > > As you might know, I develop an extension implementing the merge > enabled change tracking proposed by Svante. Recently I have made > further progress in the development. However I would like to address > several questions in order to bring closer the specification and > implementation. > Great to hear about your progress on your extension. > -- I have uploaded an odt > ( https://www.oasis-open.org/committees/document.php?document_id=52714&wg_abbrev=office ) > containing the currently supported change types with simple user cases > of the related xml tags in the undo.xml. I would like to ask you to > revise these tags. A more detailed review will follow on the SC list - https://lists.oasis-open.org/archives/office-collab/201404/msg00000.html ) > Regarding style changes I kept the possibility of representing them > explicitly in the xml, since automatic style names are still > unreachable through the UNO, and the user-generated styles are not > enough to thoroughly track style changes. (In the linked odt both > bold/italic textparts correspond to the same "text body" style.) Hence > I suggest to keep this possibility also in the standard. What do you > think? The automatic style concept is just an implementation detail of ODF. It is an indirection (bridge) to access the styles being attached to a component. The format changes are being applied directly to the component, without any styles. Although the problem of UNO API is an implementation problem, the style name is of no interest anyway (not even in ODF). Only the format is of interest. We will talk about it next Wednesday. > > -- I think in order to get usable change tracking system, we need also > to export data on the author, creation time, and other metadata (like > a comment). May be these data should be also a part of the > specification to ensure different implementations would handle these > data the same way. What do you think? Currently my extension makes > revisions of a document, means, that particular OTs (changes) are > grouped under changesets (like an SVN). (An example for the XML > representation of a changeset is also shown in the linked odt.) You are absolutely right! Similar to a version control system of source code - I just would rather point out a decentralized one, as git or Mercurial - changes are being grouped. It is always easier to me to start to think of a real-time (RT) collaboration scenario and break down to a change-tracking one. For example, think of the TC members as mail correspondents starting a RT session on your document. We should be able to set mile stones to the document, comment and group our changes. Another example, if company members are working on a contract, than there is a certain version that was sent to the customer. This needs to be marked. In addition if one of the users goes offline, like sitting in a train driving in a tunnel (or wants to work on the document offline over the week-end) the offline work is going to be saved similar to a branch. Absolutely similar as we have branches in our software repository. With a main branch and feature branches. The latter make most sense, when we think about very complex documents, as the ODF specification, where JIRA issues exist from the ISO National bodies. Each issue result in a change of the specification. Those changes can be marked as changes belonging to this issue, where a group of issues belong to a certain country. I fully agree with you. Metadata makes a lot of sense and will not be avoided, are just being omitted at the beginning to avoid another step of complexity distracting the reader/TC member from the core problem of defining and undoing the changes (action and reverse action). Happy Easter! Svante > > Best Regards, > Peter > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php