This page is all about the building and development of LibreOffice Online, the future, HTML5-based/cloud-based version of our office suite.
Is it Ready Yet?
LibreOffice Online is coming along. Collabora, a company that provides L3 support for LibreOffice and provides approximately a third of total commits to LibreOffice, and over 90% of commits to Online now has released a development version of a cloud-based LibreOffice. This version is called Collabora Online Development Version, or CODE for short.
Also, please feel free to check out the code and start editing it yourself.
- 2017 February: Collabora offered demo accounts to TDF members and LibreOffice contributors
- Announcement: LibreOffice Online and Collabora Online demos for TDF members and contributors
- TDF LDAP accounts can be used to log-in
- Two demos: LibreOffice Online from the master branch and Collabora Online product, integrated with ownCloud and Nextcloud.
- Please report bugs to TDF Bugzilla
- 2017 January: First source code release of LibreOffice Online 5.3
- 2016: Collabora Online in Production
- Colabora Online Developer Edition Released
- 2015: New announcement from Collabora + IceWarp
- LibreOffice Conference 2011 Announcements
- LibreOffice Online uses the GTK+ 'Broadway' interface to render to an HTML5 canvas.
- Video of prototype by Michael Meeks
- Short mentioning of LibreOffice cloud development in Charles-H. Schulz blog (January 15, 2015)
- Transmits compressed PNGs to reduce bandwidth
Linux is a must for LibreOffice Online. It doesn't compile/supported on any other platform. So, you need to compile it on Linux. You also need to compile LibreOffice core for development purposes. So, start at the developers page first.
After you are done with the core build, clone the Online repo from URLs mentioned here and start building. Building process for Online is described in detail here. It's worth checking other README files in the repo too as it contains helpful information from development point of view.
The mailing list and IRC channel is same for LibreOffice Online, so you can ask your general questions about LibreOffice Online on the same medium. Most of the things that applies to the core project applies for Online as well (eg: Gerrit review, etc.).
To get started with Online and get familiar with the workflow, you can find some Easy Hacks for Online. As the name suggests, they are ideal place for you to get started with development work. They have appropriate hints/code pointers guiding how to get started. Don't hesitate to ask questions on the bug report about clarification if something is not clear. Once you are done with your patch, you need to submit your patch on gerrit. You can check Gerrit here (and change the URL to online repo wherever necessary). To get it reviewed put the person who filed the easy hack in the list of reviewers.
Once you are done with your first easy hack, you can checkout bug reports here in bugzilla. It's possible that you will find more low-hanging fruits/bugs that you will be able to eat now (after having some development experience now). Feel free to start the discussion on the mailing list, IRC, or bug report itself if you are stuck.
As with the tasks in the LibreOffice component, we require that you fix at least one easy hack in Online as well, if you are applying for a GSoC task that involves LibreOffice Online. Of course, the more, the merrier and greater your chances of getting selected.
Learn from the authors of LibreOffice Online, check-out the slides and videos of presentations.
- LibreOffice Online Server, by Tor Lillqvist, LibreOffice Conference 2015
- LibreOffice Online – the client, by Mihai Varga, LibreOffice Conference 2015
- Scaling And Securing Libreoffice Online, by Michael Meeks, FOSDEM 2016
- Calc Tiled Rendering in LibreOffice Online, by Ashod Nakashian, LibreOffice Conference 2016
- LibreOffice Online Debugging, by Andras Timar, FOSDEM 2017
- Integrating LibreOffice Online via WOPI, by Jan Holesovsky, FOSDEM 2017
Follow the build instructions above, or grab a pre-built docker image from the CODE page to play with.