Anleitung zum Erstellen von LibreOffice Extensions

Meine Freizeit in den letzten Wochen habe ich häufig dazu genutzt, eine Anleitung für das Erstellen von LibreOffice Extensions (Erweiterungen) zu schreiben. Eine erste Version dieser Anleitung, die zunächst die grundsätzliche Struktur und den Bau von Extensions behandelt, die weitere Inhalte LibreOffice hinzufügen, beispielsweise weitere Vorlagen oder AutoTexte (Textbausteine). Die Anleitung wird in den nächsten Wochen um weitere Abschnitte ergänzt werden. Sie können die erste Version von meiner Homepage hier  herunterladen. Die Anleitung steht unter der Creative Commons Lizenz 4.0 ohne kommerzielle Nutzung.

LibreOffice Extensions and Templates Site: New Plone Add-On Releases

The LibreOffice extensions and templates site runs on the Content Management System Plone 5 with some add-ons. I added together with our service provider some fixes and improvements to this add-ons during the last weeks. I made new releases of this Plone add-ons and uploaded them to the Python Cheeseshop:
https://pypi.python.org/pypi/tdf.templateuploadcenter/0.12
https://pypi.python.org/pypi/tdf.extensionuploadcenter/0.15

LibreOffice Extensions and Templates Site: Fix For Listing Releases

The listing of LibreOffice extension and templates releases and linked releases had an issue. The newest final release was not shown to the user. This issue was caused from the custom URL for the releases. The new releases and linked releases get an URL that placed them at the top of a list, which lead in the reverse order to getting them to the bottom of the list.

I fixed this issue with a new sorting key. The releases are listed in reverse order by the date they were created. The current final release is choosen by its release date in reverse order.

I contributed this fix to the TDF Github repository and delivered it to the LibreOffice extensions and templates website today.

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

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