Skip to content

Helper: System Preview

The System Preview helper provides the required functionalities to generate previews (e.g. in DocViewer) for multiple document file types. It runs as a helper in your XELOS installation and uses various shell tools to convert the files.

Required Libraries

LibreOffice

LibreOffice (former OpenOffice) is being used to allow the generation of MS Office document formats (DOC, DOCX, PPT). The conversion of XLS is currently disabled as tables may get very big and are difficult to convert in a page based preview documents. To enable file conversion you need to setup a valid LibreOffice installation by a) installing a local installation including the required PUNO library or b) by using our ready-to-use docker image.

Using Docker

To use the docker image you need a valid Docker Installation and the docker-compose command line utility installed. Using docker-compose you can simply add the libreoffice service to a docker-compose.yml in your XELOS installation folder:

docker-compose.yml (Example)

version: '2'
services:
  libreoffice:
    image: xelos/libreoffice
    restart: always
    ports:
      - "3000:3000"

This example docker-compose.yml exposes the LibreOffice API to your local machine. If you are using XELOS within a docker container you do not need to expose the ports, but only make sure that the XELOS frontend container is linked to the libreoffice image shares a network.

To start the container just use docker-compose up -d in the same directory. This will start the service and keeps it running in the background. Finally you need to tell XELOS to connect to this container for all conversion tasks by editing the System Preview helper configuration in the administrative backend. Here you need to enable LibreOffice Conversion and add the API endpoint as UNOCONV API Host. This should be http://localhost:3000 in case the frontend runs outside of docker or http://libreoffice:3000 when running in the same docker network (where libreoffice is the name of the libreoffice container).