Development/LibreOffice Online

    From The Document Foundation Wiki

    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

    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

    Warning.svg

    Warning:
    Make sure to check out the branding guidelines before proceeding.


    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.

    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

    Commercial vendors

    Self hosting platforms

    Reports from the Press

    Date By Title and Link
    October 10, 2011 ITProPortal LibreOffice ported to iOS, Android, web browsers
    March 23, 2012 H-Online LibreOffice Cloud not coming next month
    March 25, 2015 CBS Interactive ZDNet ​LibreOffice finally to go online
    December 15, 2015 InfoWorld LibreOffice as a Service Offers Alternative to Google Docs and Office 365
    November 3, 2016 iTWire New version of LibreOffice Online released
    November 4, 2016 Softpedia Collabora Updates Its LibreOffice Online Solution with Collaborative Editing
    December 7, 2016 Softpedia Collabora Online 2.0 Puts LibreOffice in the Cloud, Adds Collaborative Editing
    June 23, 2016 Softpedia LibreOffice Online Is Now Ready for ownCloud Enterprise, Thanks to Collabora
    August 3, 2016 PCWorld LibreOffice 5.2 includes classified documents and a streamlined interface
    January 30, 2017 InfoWorld from IDG First look: LibreOffice 5.3 takes a cue from Microsoft Office’s ribbon
    February 2, 2017 Silicon UK LibreOffice 5.3 Online Takes Aim At Office 365 With Cloud Document Collaboration