WebODF digest 1, 2014-02-14

Welcome to the first episode of the WebODF digest. This series highlights recent happenings in the project. We cannot catch everything that happens, so if you see something interesting, please get in touch.

This episode features FOSDEM, experiments with ownCloud, Plone, benchmarks, JavaScript typing and SVG selections.

Read more


WebODF and Calligra presentation at Akademy 2013

Friedrich Kossebau and Jos van den Oever gave a presentation on OpenDocument Format, Calligra, and WebODF at Akademy. The slides are embedded below with ViewerJS which uses WebODF.

Read more


Editing progress in WebODF

The last months the WebODF community has been working hard to add editing features to WebODF. When we talk about editing, we mean stand-alone editing and realtime collaborative editing. We invite you to play with our editor. It is not ready for a release yet, but it is time to show what we have achieved so far.

Editing a text document alone

If you like to jump right in, go to our editor demo where you can open your own OpenDocument text files and edit them and save them again. This works without sending any data to the server. The editing is done completely in your browser and your text file is never sent over the network. The entire editing functionality is written in JavaScript and runs in the browser.

Read more


NLNet sponsors convenient viewer.js package

WebODF.js and PDF.js are projects that render documents in a browser using javascript. With these projects viewing ODF and PDF in the browser is safe and seamless. The visitor of the webpage is not required to have any browser plugins to view OpenDocument or PDF files. There is also no need to save the documents locally to open them. For both mobile and desktop visitors, the documents will be shown as part of the web page.

A common request from web authors is a simple and fast way to publish collections of text documents and presentations from e.g. seminars on their own website. While it is possible already to this by combining various javascript libraries, it is not yet convenient and the combination of different tools leads to a user experience that is suboptimal.

Read more


Edit ODF Text Documents with Tiki Docs

Since version 8.1 of Tiki Wiki CMS Groupware (usually simply called Tiki) was released, it is possible to edit ODF documents in Tiki. This is possible because WebODF has been added to Tiki8 as a new feature, called Tiki Docs. With this, Tiki joins the growing list of applications that use WebODF.

Tiki can open and show documents with WebODF, but more, it allows editing and saving. Each time you save, a new revision created and stored just like normal wiki pages. This means that you can always go back to earlier versions of the document. Downloading and uploading is also possible if you prefer to edit the documents in a native text editor like Calligra or OpenOffice/LibreOffice.

Read more


Running JavaScript macros in LibreOffice

OpenOffice and LibreOffice have the ability to run macros. These macros can be written in a number of programming languages. The most common one is called OpenOffice Basic or LibreOffice Basic. For this language there is a built-in editor. It is also possible to record macros in Basic and edit them afterwards.

OpenOffice Basic or LibreOffice Basic is not standardized in the OpenDocument Format (ODF). ODF does not standardize on any programming language for use in the macros. In fact, in LibreOffice/OpenOffice, one can use Basic, Python, Java and JavaScript.

Read more


Community License Agreement for WebODF Contributors

Introducing the new Community License Agreement for WebODF contributors. This short document describes what rights you as a contributor, and KO GmbH as the maintainer, have to the work you contribute to the WebODF project.

So, you may well think, why should do we want you to sign a CLA to contribute work to WebODF? Surely it's already covered by the project's nice, free software license!

Read more


Real-time collaborative editing with WebODF

At KO GmbH, we have started work on a pilot project to add real-time collaborative editing to WebODF. In this pilot, we will create an editor that has most of the same features that Etherpad has. The editor will use ODF as the native document format and all changes in the document are sent to other instances of the editor as operations. Even within an instance of the editor, keyboard events are translated to operations before being sent to the local instance of the document. This design means that collaborative editing is a central part of the editing functionality of WebODF.

The work for this pilot will happen in a separate branch of WebODF.

Read more


WebODF on Android and beyond

Today the WebODF project released an Android app. You can get it from the Android Market and soon from This is just the start. Viewing and editing office documents and in particular ODF files should be possible on all mobile devices. In the WebODF project we want to make this possible.

The Android application is 95% generic WebODF JavaScript and 5% Android specific Java code. For future ports to iPhone, iPad, MediaWiki and many other environments we will put most functionality in the shared JavaScript library and keep the application specific code to a minimum.

Read more


WebODF on Android and beyond

ODF support on phones and tablets is not good right now. Work is being done to improve this by the Calligra project, but WebODF can provide a solution too. To prove this, I built a small wrapper application that gives Android the ability to read ODF files. This application is available in the WebODF repository and I've also put the installable application online.

To reach more phones and tablets, such as the iPhones, iPad, Blackberry and Symbian phones, we could use PhoneGap. Making a PhoneGap application from WebODF code is a nice way to get started on cross-device development and to help out with the adoption of ODF. If you want to give this a try, check out the WebODF code, get PhoneGap, read the code for the Android example to see how to adapt the WebODF runtime and get hacking. Good luck and have fun!

Read more


WebODF gains round-tripping support

In my previous blog I talked about converting ODF files to PDF files with WebODF. This is a functionality that is generally useful, but is also one that lets OfficeShots compare WebODFs ODF rendering to that of other office suites.

Another useful feature is round-tripping of ODF. Round-tripping is the process of loading an ODF file in a program and subsequently saving it again. It is an ODF to ODF conversion. OfficeShots uses round-tripping to see if an office suite generates valid ODF. In WebODF, the original ODF file is barely modified. The XML contents of the ODF is parsed and serialized in this step. Any bugs in this process would be exposed by roundtripping.

Read more


Converting ODF documents to PDF with WebODF

It is quite common that one wants to send ODF files to people that lack the software to display ODF. One workaround is to convert the ODF to PDF. Most office suites that support ODF can export to PDF. To compare how different office suites do this conversion one can use the website OfficeShots. This website offers the ability to perform this conversion in many office suites at once and to compare the results.

WebODF wants to play with the grown-ups. So I have extended WebODF with the ability to convert from ODF to PDF. Here is a small script that shows how to do this conversion for a file /home/user/file.odt:

Read more



The yearly FOSDEM was excellent as always. I could not attend all talks; mine was on sunday afternoon and as usual I was still improving it at the conference itself. Nevertheless, I spoke with many people and saw some very good presentations. Now that the videos are online, I will mention some of them with a link to the video footage.

Why Political Liberty Depends on Software Freedom More Than Ever (video).

Read more



Currently I am enjoying FOSDEM, the excellen Free Software conference in Brussels. Tomorrow I will give a presentation "WebODF: an office suite built on browser technology" about WebODF. If you want a preview, you can look at a screencast about it.

I'm going to FOSDEM

Read more


JavaScript: keep it working in different runtimes

The programming language JavaScript is seeing more and more use. Software written in it can run in many different environments. Not only do web browsers support it, there are quite a few programming environments that can integrate and run JavaScript code. Qt has support for it with the QtScript module. GNOME has JavaScript bindings via gjs. Node.JS is gaining popularity on the server and Java has the Rhino runtime.

Support for the basic language features of JavaScript is good among these runtimes. You can have a look at the list of dialects of JavaScript/ECMAScript to see that "ECMA-262, edition 3" is the most common specification that is implemented. Nevertheless, each of these environments has different facilities for accessing parts of the environment they are running in. Modularizing the code, access to the file system, logging, starting a new execution thread, running unit tests, these are but a few of the use cases for which there is no common solution.

Read more