/LibreOffice-libresign

Official repo for the LibreOffice Appliances GSoC project https://rptr.github.io/gsoc/

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

LibreOffice Appliances project's "LibreSign"

Install

To install use pip (only Python 3 is supported)

pip install libresign

Running

libresign [ --onlyweb ] [ --noinfo ] [ --nolibreoffice ] [ --sign ] [ --conference ] [ --noremote ] [ --libresign-home ]

--onlyweb: Run only the web server for the control panel (--nolibreoffice --noinfo)
--noinfo: Don't show the information screen.
--nolibreoffice: Don't start LibreOffice.
--sign: Run in digital signage mode.
--conference: Run in conference mode. (default)
--noremote: Don't run the Impress Remote web server.
--libresign-home: Specify the installation directory of libresign. (default: ~/.libresign)

The program has been tested on Debian Testing and Arch Linux ARM on the Raspberry Pi 3 B+.

Development

For development, beyond the obvious tools, the following setup is recommended to run a local version of libresign (note that irpjs-client is currently placed inside impress-remote-js):

apt-get install virtualenv python3-xdo python3-tk
git clone https://github.com/LibreOffice/libresign.git
git clone https://github.com/rptr/irpjs.git
git clone https://github.com/rptr/impress-remote-js.git
cd impress-remote-js
git clone https://github.com/rptr/irpjs-client.git

After that, use the supplied debug.sh script to automatically set up and run the program after you've made your changes,

cd libresign
./debug.sh

You can also create a package and install it manually

python setup.py sdist
pip install dist/libresign-x.x.x.tar.gz

The code is in the libresign directory, the Flask templates and other files are in templates and static. signd.py is the entry point which runs the Flask app (flaskapp.py), the informational screen (infoscreen.py) and LibreOffice (locontrol.py).

Background

This is one of four repositories - and the main one - created for the 2019 GSOC project "LibreOffice Appliances", intended to create a digital signage solution using LibreOffice Impress.

The other three repositories are JavaScript Impress Remote client, JavaScript Impress Remote server and JavaScript Impress Remote Protocol library.

The original project proposal can be found here.

In short, the aim was to create a program which would run on a single-board computer (a Raspberry Pi was used during development) connected to a TV screen displaying LibreOffice Impress presentations automatically. A "conference mode" was also added, where users can upload presentations, select them to be played and then control the presentation with the Impress Remote. For this the JavaScript/ browser version of the Impress Remote was created as part of the GSOC project.

Wishlist

Feel free to add anything here.

Contributors

Rasmus P J wasmus@zom.bi Thorsten Behrens thb@documentfoundation.org