Development/LibreOffice Online
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Intro
LibreOffice runs in the cloud where its feature-set exceeds Google Docs and Microsoft 365/Office 365, two significant contributors have so far been Collabora and allotropia, the following are some implementation options:
- Host and support your own using Collabora Online Development Edition, also known as CODE, source code is available here.
- Integrate the enterprise-ready edition Collabora Online into your own web pages or cloud solution, this includes support and benefits the ongoing development of Collabora Online and LibreOffice.
- Fully managed solution, subscribe to an existing cloud solution such as Nextcloud or Owncloud, you can choose a plan that uses Collabora Online to benefit Collabora Online and LibreOffice.
Differences between Collabora Online Development Edition (CODE) and Collabora Online are primarily that Collabora Online is engineered for the enterprise; It is released less frequently than CODE and security and fixes may be back-ported from CODE, it has different branding and is available with support options that include L3 support, the subscription model benefits Collabora who are one of the biggest contributors of software development to LibreOffice.
Developers are welcome to contribute. A good starting point is the LibreOffice list of easy hacks. Collabora have a list of easy hacks for CODE/Collabora Online.
Current Status
- 2020-2023: Collabora Online Development Edition and Collabora Online are well maintained solutions of LibreOffice in the cloud.
- 2020 October: LibreOffice Online was frozen when Collabora moved of its work on Collabora Online to GitHub.
- 2020: Many companies, enterprises, associations and individuals use LibreOffice Online every day.
- 2017 February: Collabora offers 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)
- Uses
- Websockets
- Transmits compressed PNGs to reduce bandwidth
Deploy
Deploying LOOL is quite easier using Docker. The procedure might be split in two phases:
- deploy of the container
if you compiled it by yourself, refer to the name you used to save the image. Otherwise you can use the upstream LibreOffice Online image. The hostname referred in the domain
parameter is the virtual host name of the requesting webserver, not the reverse record (PTR) of the respective IP address.
docker run --name lool -e "domain=your\\.cloud\\.domain" -e "username=root" -e "password=VeryStrongAdminPassword" -p 8080:8080 -d libreoffice/online:master
To see live logging of the Docker container, you can use
docker logs --tail 50 --follow --timestamps lool
For an interactive shell onto the container, run
docker exec -it lool /bin/bash
To stop and destroy the container, run the commands
docker stop lool
docker system prune
- configuration of the proxy
As far as you do not dedicate a public IP address to LOOL and give it an his own SSL certificate, using a Reverse Proxy will be the only chance. Using a (sub)domain will save you an IP address, allowing you to serve LOOL on a shared server.
If you're interested in the configuration of the proxy, please see the related page Configuring a reverse proxy for LOOL.
Installing custom fonts
It is possible to install your own fonts and have them available in LOOL.
If you installed LOOL as package or from sources, installing the new fonts under /usr/local/share/fonts (or other appropriate directory), running fc-cache -fv and restarting loolwsd should be enough.
Otherwise, if you're using the docker container, you'll need to
- prepare a directory containing your fonts making sure it is not organized in subdirectories;
- mounting this directory as volume both on /usr/share/fonts/lool and /opt/lool/systemplate/usr/share/fonts/lool (lool may be replaced with other names).
Disabling the automatic spellchecker
It is possible to configure various parameters in the file /etc/loolwsd/loolkitconfig.xcu
inside the Docker container, e.g. via an interactive shell (see above). To make the changes effective, you can restart the container or the loolwsd
service.
One configuration setting is to disable the automatic spellchecking, so users have to enable it manually for each session. The respective line in the configuration has IsSpellAuto
and needs to be set to false
. A quick hack to do this is:
docker exec lool sed -i s/'<prop oor:name="IsSpellAuto" oor:op="fuse"><value>true'/'<prop oor:name="IsSpellAuto" oor:op="fuse"><value>false'/ /etc/loolwsd/loolkitconfig.xcu
docker restart lool
Disabling the AutoCorrect
In a similar fashion, to disable the AutoCorrect, you can add the following line to /etc/loolwsd/loolkitconfig.xcu
and then restart the service:
<!-- Disable AutoCorrect while typing -->
<item oor:path="/org.openoffice.Office.Writer/AutoFunction/Format/ByInput"><prop oor:name="Enable" oor:op="fuse"><value>false</value></prop></item>
A quick hack to script this is (suggestions to improve welcome):
docker exec lool sed -i /'\/oor:items'/i'<!-- Disable AutoCorrect while typing -->\n<item oor:path="/org.openoffice.Office.Writer/AutoFunction/Format/ByInput"><prop oor:name="Enable" oor:op="fuse"><value>false</value></prop></item>\n' /etc/loolwsd/loolkitconfig.xcu
docker restart lool
Integrations
LibreOffice Online is not intended as a standalone software. His goal is, instead, to be integrated with other tools to edit their documents.
Since LOOL is known with many different names, finding out if it is already integrated with a specific product may be tricky. That's why here you have a list of known integrations. Feel free to add any integration you know if it's not already reported in this list.
Unofficial integrations
Product | Plugin | Latest plugin version tested | Latest LOOL version tested |
---|---|---|---|
ownCloud | [1] | untested | untested |
NextCloud | [2] | 3.7.3 | 7.0.0 (30aa9478) |
Moodle | [3][4] | 3.9-r1 | 6.4.0 (87fea712) |
Mattermost | [5] | untested | untested |
Builds
If you're looking for a prebuilt version, you can checkout the docker hub as mentioned in the first paragraph.
Otherwise, if you're interested in building a version of LOOL on your own, you can checkout our building online guide.
Development
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.
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.).
Branding
LibreOffice Online can be branded by the vendor. To get this done, you'll need to prepare a directory containing
- branding.css: CSS code for your branding;
- branding.js: a JavaScript file with your functions/variables. Through this file three variables
- brandProductName
- brandProductURL
- brandProductFAQURL
can be defined to change the interface of LOOL.
Once done, you'll need to pass this directory to the configure script as the parameter
--with-app-branding
Easy Hacks
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.
GSoC
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.
Presentations
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
- LibreOffice Online for collaborative research, e-learning and digital training in the cloud, by Marina Latini, SFScon 2019
Availability
TDF is not hosting LibreOffice Online. The task is therefore left to large deployers, ISPs and providers of open source cloud solutions, and several options are already available on the market. TDF would welcome provision of a public LibreOffice Online offering by another charity. Meanwhile, here are some companies and services hosting LibreOffice Online, or software based on it:
Advertising based free commercial cloud hosts
- GMX Online Office (requires gmx email account registration, includes gmx online office [LO ??] 2GB document storage)
- OffiDocs ( LibreOffice Online [LO 6.1.1.2] ?? gig document storage, Chrome Ext. & Firefox Addon w/ Google Drive integration )
Free (no fees or advertisements) commercial cloud hosts
- doXiview a browser-based, direct document processing from CIB, includes LibreOffice Online powered by CIB as document editor
- hostiso.com (requires signup via NextCloud, includes nextcloud/collabora online [LO 6.0], 3GB document storage)
- webo.hosting (requires signup via NextCloud, includes nextcloud/collabora online [LO 6.0], 5GB document storage)
Fee based commercial cloud hosts
- Mijncloudoffice.nl NextCloud/Collabora Online
- Kolab Now (based on Collabora Online)
- Crust Tech Crust Platform/LibreOffice Online powered by CIB
- hostiso.hosting NextCloud/Collabora Online
- webo.hosting NextCloud/Collabora Online
- iserv.eu IServ Schulserver
Commercial vendors
Self hosting platforms
- Collabora CODE
- Corteza Community Server
- Kolab Community Server
- NextCloud Community Server
- Uninvention
- NethServer