skip to main content
10.1145/2723147.2723151acmotherconferencesArticle/Chapter ViewAbstractPublication PagesdocengConference Proceedingsconference-collections
research-article

Progress Report on Version Aware LibreOffice

Published: 16 September 2014 Publication History

Abstract

In an earlier paper at DocEng 2013, we reported on our efforts to make LibreOffice Writer documents be "version aware". Version aware documents use a namespace protected preamble to include a complete version history within the saved document file, plus unique identifier attributes on the document content elements in order to support efficient differencing and merging of versions. A particular challenge in this effort has been to ensure that the unique identifiers on the elements would be preserved through a complete load-edit-save cycle. This is challenging because content element data passes through three representations in its lifetime. At load time, XML is read to create ImportContext objects, which are then used to generate internal data structures used during editing. At save time, the internal data structures are converted to ExportContext objects, from which XML is generated for the saved file. The internal data structures are drawn from a small forest of inheritance hierarchies, where each hierarchy has a slightly different construction-destruction protocol and thus each one requires a different solution to preserving the unique identifiers.
Working with a particular snapshot of the C++ implementation of LibreOffice Writer, we have reached a point where unique identifiers are preserved on nearly all content elements used in Writer documents. Unfortunately, there is no support for versioning of document style elements at this time. Support for version awareness has added about 3000 lines of code to a code base of slightly more than one million lines. The changes affect 128 files out of a total of 3354, organized in three large modules. We believe that these numbers show that adding full support for version awareness would have only a modest affect on the implementation of an office software suite. However, the fairly large number of files affected shows that version awareness resembles a non-functional requirement, since its support is not isolated in a small set of files.

References

[1]
C. Thao and E. V. Munson, "Version-aware XML documents," in Proceedings of the 11th ACM Symposium on Document Engineering, DocEng 2011, Mountain View, USA. New York, NY, USA: ACM, 2011, pp. 97–100. Available: http://doi.acm.org/10.1145/2034691.2034713
[2]
C. Thao and E. V. Munson, "Using versioned tree data structure, change detection and node identity for three-way XML merging," in Proceedings of the 10th ACM Symposium on Document Engineering, DocEng 2010, Manchester, UK. New York, NY, USA: ACM, 2010, pp. 77–86. Available: http://doi.acm.org/10.1145/1860559.1860578
[3]
"LibreOffice", http://docs.libreoffice.org/
[4]
"OpenOffice", http://openoffice.org/
[5]
M. Pandey and E. V. Munson, "Version Aware LibreOffice Documents," in Proceedings of the 13th ACM Symposium on Document Engineering, DocEng '13. Florence, Italy: ACM, 2013. Available: http://doi.acm.org/10.1145/2494266.2494269
[6]
"Open Document", http://en.wikipedia.org/wiki/OpenDocument
[7]
"Universal Network Objects", https://www.openoffice.org/udk/common/man/uno.html

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
DChanges '14: Proceedings of the 2nd International Workshop on (Document) Changes: modeling, detection, storage and visualization
September 2014
38 pages
ISBN:9781450329644
DOI:10.1145/2723147
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. XML
  2. user collaboration
  3. version aware

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

DChanges '14

Acceptance Rates

DChanges '14 Paper Acceptance Rate 7 of 9 submissions, 78%;
Overall Acceptance Rate 13 of 19 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 43
    Total Downloads
  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media