Svante Schubert created ODFTOOLKIT-441:
------------------------------------------
Summary: Improving Document Collaboration
Key: ODFTOOLKIT-441
URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-441
Project: ODF Toolkit
Issue Type: New Feature
Components: odfdom
Reporter: Svante Schubert
Assignee: Svante Schubert
ABSTRACT
This feature will improve document collaboration by focusing on document
changes.
It simplifies collaboration by exchanging only the document delta, thus
fostering efficiency and meaningfulness.
SCENARIO
In the future when loading an ODF text document into this library, the document
is being mapped to a list of high level user changes. This sequence of changes
is equal to a batch of user actions, creating an equal document from the top to
the bottom. 3rd party software such as web editors meant to receive this list
(in JSON) to create their document representation. Similar they should gather
their user changes as a similar change sequence and return them. This feature
will enable the library to merge new changes back into the document.
Changes have the advantage to abstract from design details of document
serialization and will remain in general on the logical level known by common
users.
In addition, changes are atomic. They bundle the manipulation of sometimes
scattered feature data into a single change step.
Atomicity allows two adjacent changes within the change list to be switched
without requiring further context, easing the alteration of work history, such
as normalization.
To allow compatibility of changes among office applications from the beginning
and accelerate their development, there is an ongoing effort of standardization
changes based on the ODF XML file format.
BACKGROUND
Prior to the upcoming OASIS ODF 1.3 version only the complete ODF document had
been standardized. (For instance, its zipped XML files, the manifest,
signature, encryption and RDF metadata).
Therefore, the only interoperable way to synchronize changes between
collaborating office users was the exchange of the complete document using
change-tracking. Change-Tracking is always stored within the content, requiring
to process the complete document content.
This does not scale with multiple users working at the same time on a document.
For instance, real-time collaboration requires instantaneous user feedback.
Exchanging the complete documents on every synchronization among participants
is not feasible.
Similar it is in general less transparent and less safe to receive from a 3rd
party a document including their changes in opposite to exchanging the changes
alone.
To alter this disadvantageous situation and be able to exchange predefined
deltas of an office document, ODF changes are currently being standardized in
the ODF Advanced Document Collaboration subcommittee of OASIS. An ODF change is
a typical user change on "logical document parts", e.g. paragraph, image or
text character. There are three change types in general to add, modify or
delete. Every high level ODF change is going to be mapped by the specification
to the manipulation of one or more XML nodes within the document. The
abstraction from XML changes by these typed operation is necessary as most ODF
application are not aware of ODF XML during the runtime. In contrast to HTML,
ODF does not require a common model such as DOM.
The serialization of changes will be offered in JSON by this feature as the
common use case is to have the ODF Toolkit in the back end, while a web based
editor receives such changes and renders the document.
In addition to that, the ODF Toolkit will be capable to receive user changes
made by a client to the document and merge them into the document by applying
one change after the other on its internal ODF XML DOM model.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)