Real-time compatible ODF change-tracking Svante.Schubert@gmail.com - - PowerPoint PPT Presentation

real time compatible odf change tracking
SMART_READER_LITE
LIVE PREVIEW

Real-time compatible ODF change-tracking Svante.Schubert@gmail.com - - PowerPoint PPT Presentation

Real-time compatible ODF change-tracking Svante.Schubert@gmail.com Freelancer CT Interoperability ODF with Microsoft Offices (MSO) All MSO throw away all ODF changes MS claims ODF underspecified for change-tracking (template styles)


slide-1
SLIDE 1

Real-time compatible ODF change-tracking

Svante.Schubert@gmail.com Freelancer

slide-2
SLIDE 2

Svante Schubert

2

CT Interoperability ODF with Microsoft Offices (MSO)

  • All MSO throw away all ODF changes

– MS claims ODF underspecified for change-tracking (template styles) – No subset implemented in MSO, instead everything ignored – No business document ping-pong possible between LO/AO and MSO – Problem Solution: Fix of specification for ODF 1.3

slide-3
SLIDE 3

Svante Schubert

3

Standard Importance

  • Microsoft ODF promise to EU

“Microsoft’s Primary PC Productivity Applications shall support the ODF Standard … for ten years from the effective date of this Undertaking, within 9 months of final publication by ISO of a new ODF Standard Microsoft shall support that version..”

http://www.microsoft.com/en-us/news/press/2009/dec09/12-16statement.aspx

slide-4
SLIDE 4

Svante Schubert

4

Standard in a Nutshell

  • OASIS / ECMA

– OASIS / ECMA standardization have company members – OASIS / ECMA lead by industry for global usage – OASIS / ECMA comparable easy to evolve a standard

  • ISO (International Organization for Standardization)

– Slogan after II. World War: "World Peace through World Trade" – ISO is an international organization of national standardization groups (National Bodies) – Government may influence National Bodies – ISO “de jure”/ may dictate usage by law

slide-5
SLIDE 5

Svante Schubert

5

Summary: Reason of a Standard

  • Blueprint for ODF applications
  • Base for Office Interoperability
  • Independent place to settle disagreements (OASIS list)
  • Leverage to get ODF implementation in MSO
slide-6
SLIDE 6

Svante Schubert

6

CT Interoperability: ODF and OOXML

  • File Formats ODF and OOXML similar by design

– Shock frozen state of document – Persistent bucket for information – ZIP with XML files, images, etc.

  • Problem of ODF change-tracking

– Not caused by the difference of OOXML and ODF – Not caused by OOXML feature superset – Caused by underspecification in ODF (Style & Table changes)

slide-7
SLIDE 7

Svante Schubert

7

CT Interoperability: ODF and OOXML

  • CT Design of ODF & OOXML: “Floppy Disc paradigm”

– Changes stored within the changed component (e.g. paragraph) – Before and After state is stored – No definition of changes

slide-8
SLIDE 8

Svante Schubert

8

Importance of Changes

  • Real Time Collaboration (Internet)

– No documents can/should be exchanged, only changes – Goal: Send as little as possible – Requires a common model – Requires to reference of change (1 millionth paragraph change)

  • Changes required for Testing
  • 1. Load input document
  • 2. Do changes on document
  • 3. Check expected output document
slide-9
SLIDE 9

Svante Schubert

9

Dependencies of Changes

slide-10
SLIDE 10

Svante Schubert

10

CT Interoperability: ODF and OOXML

  • Design Idea: Move complexity into ODF specification

– Define Change (Convention over Configuration) – Definition of Changes require a common model – First step: Abstraction on logical units (components)

slide-11
SLIDE 11

11

The Holy Grail: Full Document Interoperability

  • Document Interoperability consists of:

– Model: text, styles, metadata, signaturs, etc. – View: layout of glyphes, lines, frames, pages, etc. – Behavior: allowed changes, even macros

Model View Behavior

slide-12
SLIDE 12

12

Semantic groups of ODF XML (Components)

slide-13
SLIDE 13

Svante Schubert

13

Initial 7 Components of Change Tracking

  • Paragraph (Heading, List)
  • Text (including Styles, e.g. bold or hyperlink)
  • Page
  • Table
  • Image
  • Shape
  • Chart
slide-14
SLIDE 14

Svante Schubert

15

Design Basics: Meta Operations

  • The seven Operation Types:

– Add & Delete – Move (special case of Add & Delete needed for efficiency) – Replace (special case of Add & Delete needed for efficiency) – Split & Merge (text container only) – Format (special case of adding – only properties)

slide-15
SLIDE 15

Svante Schubert

16

Operational Transformation (OT) within Operation “Card Stack” Status - 1

<do> <add type=”paragraph” s="/3">Yours!</add> </do>

Status - 2

<do> <add type=”paragraph” s="/2">Mine!</add> <add type=”paragraph” s="/3">Yours!</add> </do>

Status - 2

<do> <add type=”paragraph” s="/2">Mine!</add> <add type=”paragraph” s="/3">Yours!</add> </do>

Status - 3

<do> <add type=”paragraph” s="/4">Yours!</add> <add type=”paragraph” s="/2">Mine!</add> </do>

Time (latest on top) “Moving

  • peration

through time“

slide-16
SLIDE 16

Svante Schubert

17

Operations Summary

  • A different way to describe a document

– A “list of changes” instead of “before/after state”

  • Ease the pain of merge problems

– Overlapping changes in document – Simultaneous change of users (Shell game of changes - Where is my change?)

  • Enable new possibilities/features

– Merging changes of huge documents does not require the docs – Merging changes independent of document size – Accept/Reject Change, now even Delay – Commenting a read-only file by keeping changes outside