Creating LibreOffice Extensions

I’m currently working on some content for a howto or handbook about making LibreOffice extensions. I want to cover the usual boilerplate and write about examples of different sorts of extensions. There is already some content available distributed all over the internet. Thus it is  not often not always easy to find, because it lives in seperate areas. Furthermore the existing content is regularly only available in English, a language that a lot of people in my and other countries doesn’t read and speak fluently (although things getting better this days). On these grounds I decided to write my document in German language. It’s work in progress and the ’source code‘ is public on my Github account:
https://github.com/andreasma/extensionbook

Training GPS-Sessions Tourbook On Linux

I use a free GPL software to get my training and hiking tracks from my old Aldi-/Crane-GPS-Clock via USB. This software is named crane_gps_watch and is provided via a repository on github.com. I could fetch the data via command line. This are text files with the file extension tcx.

I found another free software where I could import this files, get a visual presentation of my tracks and could add some more details to them, e.g. about weather conditions like wind velocity and direction, cloudy sky or rain. This software is named ‚MyTourbook‘ and you could get it from its homepage http://mytourbook.sourceforge.net/mytourbook/ .

Getting Tour Tracks From A Crane-GPS-Clock On Linux

I bought an Aldi/Crane GPS clock some time ago. The clock was delivered with a software that runs only on older versions of Windows (up to Vista), but not on Linux.

The clock is already doing its job, logging my tracks with GPS connection. Thus I didn’t want to put it to the trash can, but instead use it further. I searched the internet and found a free software project that created a software to get a connection with the clock and read its data via usb cable. This project is hosted at:
https://github.com/mru00/crane_gps_watch

I checked out the source code and followed the instructions, that includes the usual steps: ./configure, make, make install.

I could connect the GPS clock with my Linux-PC and read the data from the clock inside a shell via:
crane_gps_watch_client
or
/usr/local/bin/crane_gps_watch_client

I used the options ‚–split‘ to create seperate files for every track and ‚–clear‘ to delete the data on the clock.

The file export format is ‚*.tcx‘.

First Steps With LibreOffice Online – Running It For The First Time

I finally compiled LibreOffice online and reached my first milestone. Once this was done I had to create a new subdirectory on my machine:

sudo mkdir -p /usr/local/var/cache/loolwsd

Because I had to run the LibreOffice online with the rights of the user I had to change the ownership of that directory:

sudo chown `whoami` /usr/local/var/cache/loolwsd

Then I could start the online office with:

make run

Once the server of the online office is up I get the information in my shell about the URL of the office with the direct link to the usual hello world document and of the admin Console. The latter one is https://admin:admin@localhost:9980/loleaflet/dist/admin/admin.html
The first one depends on the special configuration and file structure of your machine. It starts with:
https://localhost:9980/loleaflet/64dd841/loleaflet.html?file_path=file://(…)

I pointed my browser to this URL and get to the hello world document. But first I had to deal with the security configuration of my browser (Firefox), which complains about an unknown certificate.

LibreOffice Online – The Hello World Document

And I could also get to the admin console with the URL that was displayed to me in the shell.

The LibreOffice online admin console

First Steps With LibreOffice Online – Compilation

I compiled LibreOffice from source code several times and want to give also LibreOffice online a try. Thus I checked out the source code from the git repository first with:
git clone git://anongit.freedesktop.org/libreoffice/online

I looked into the README file inside the new local git repository and got the information that I should look into the readme files inside the ‚wsd‘ and the ‚loleaflet‘ subdirectories. I started with the readme inside the wsd subdirectory.

This gave me the next step. Because I currently use the Linux distribution openSuSE Leap 42.2 I had to add another repository with zypper to the list with:

zypper ar http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_Leap_42.2/devel:libraries:c_c++.repo

Next I installed some dependencies with:
zypper in poco-devel libcap-progs

Then I run inside the main directory the following commands (in this order):
– libtoolize
– aclocal
– automake –add-missing
– autoreconf
– autoheader

And then follows the run of configure. In my case I used:
./configure –enable-silent-rules –with-lokit-path=~/libreoffice/gerritgit/libreofficeonline/online/bundled/include –with-lo-path=~/libreoffice/gerritgit/libo/instdir –enable-debug

But that doesn’t work, because the path to the directories of the LibreOfficeKit header files and the LibreOffice installation are to long. I gave it another try, copied the headers and the installation to another directory with a shorter path and it works.

I could then compile LibreOffice online with make and the process runs as described in the README inside the subdirectory ‚wsd‘.

New Release For The LibreOffice Templates Site AddOn

I released an update of a further Plone addon today, that I worked on  together with our service provider within some weeks. The addon drives the templates part of the LibreOffice extensions and templates website. The update creates some improvements for the website and updates the the localisation template and the German localisation with the last string changes. I edited and updated the German localisation file with poedit, a great open source tool.

You could get the new releae of the Plone addon from the ‚cheeseshop‘ (https://pypi.python.org/pypi) with the direct link:
https://pypi.python.org/pypi/tdf.templateuploadcenter/0.11

New Release For The LibreOffice Extension Site Plone AddOn

I worked together with our service provider on improvements of the Plone addon for some weeks, that drives the extensions part of the LibreOffice extensions and templates website. I added the last changes and an update for the localisation template and the German localisation today. I used for the latter one the open source editor poedit.

Once I finished the update of the German localisation I created a new release of the Plone addon and uploaded it to the ‚cheeseshop‘ (https://pypi.python.org/pypi). The release 0.14 of the addon is publicly available now at:
https://pypi.python.org/pypi/tdf.extensionuploadcenter/0.14