OX Documents - Roundtrip and Operations

Nov 13, 2014

OX Documents is an addition to OX App Suite Core, and provides apps for editing Text and Spreadsheet documents.

The natively supported document formats are the XML formats from Microsoft Office (OOXML) and from Open Office (ODF). Other document formats will be converted to one of these two formats before you can edit them.

A web based application can not support all features from a desktop application, nor would it be reasonable to implement all of them. Most people use less than 20% of the Office features. So a very important feature of OX Documents is the document roundtrip.

Document roundtrip means that you wont loose content or layout when you edit your documents created with the desktop application in OX Documents, and after that in the desktop application again. We explicitly want to support this workflow. A lot of things can be done in OX Documents directly, but if there is a certain feature in your desktop application that you need to use, then you can safely switch between editing with OX Documents and editing with your desktop application.

OX Documents is achieving the document roundtrip with the help of Operations. An operation describes a specific change to the document, like InsertParagraph, InsertText, SetAttribite, Delete. These operations allow us to send around the changes to other users who have opened the same document, so people can see the changes in real-time, but they also help with the document round-trip. The short description is that we use them to selectively manipulate the elements in the DOM from the original document, and won’t touch elements that we don’t support or don’t understand. The long description, together with some pictures for better explaining the topic, can be found in my slides OX Documents Explained – from a technical point of view .

You need to understand that this approach is really different to how Office applications normally work. When reading a document, they “import” it into their memory structures. Things they don’t understand will be ignored, so they are not in memory. When saving the document later, it’s an export from the memory structures into the document file format of choice. The exported structures can look very different, even if it’s still the same document format, and of course – things that are not in memory can’t be exported, so they are lost now.

OX Document doesn’t import and export your document. OX Documents simply edits your original document.

About the author

Malte Timmermann

Malte Timmermann

Head of Development OX Hamburg

Categories

Related Articles