Hi
I am considering developing an extension similar to the LibreOffice LanguageTool extension [1] for Collabora Online. (Specifically, for a continuation of [2].) Ideally, it would be based on the LibreOffice LanguageTool extension.
Question 1: Is it possible to use .oxt extensions, and specifically the LibreOffice LanguageTool extension, with Collabora Online?
In the Collabora FAQ [3] it says:
Can you write and use your own plug-ins with the programs?
Absolutely, we have a huge programming API surface based on the existing LibreOffice UNO APIs. Bespoke uses of Collabora Online can introduce buttons, and rich scripting interactions to communicate from client to server, using the existing standard UNO APIs for LibreOffice.
This encouraged me to try installing the LanguageTool .oxt extension for LibreOffice in Collabora Online. I used the Ubuntu Dockerfile of a recent Collabora commit [4] for building (with added openjdk
packages), together with a recent Docker image of Nextcloud [5].
I did not find a graphical way for installing extensions in Collabora or the Nextcloud settings or the Collabora admin console.
But I did find documentation on how to install extensions via unopkg (OpenOffice [6] / LibreOffice [7], which is also present in Collabora Online. Trying to install the extension caused a long list of warnings [8] with some errors at the end:
# ...
warn:configmgr:32:32:configmgr/source/xcuparser.cxx:156: bad set node <prop> member in "file:///opt/collaboraoffice/program/../share/uno_packages/cache/uno_packages/lu323imd50.tmp_/LanguageTool-5.5.1.oxt/Addons.xcu"
warn:io.connector:32:32:io/source/connector/connector.cxx:94: Connector : couldn't connect to pipe "f1b6428e72cccfc9d82caff377a120e171d6f85bac34e18c5e59bc9f5e5e989": 10
ERROR: Exception occurred: An error occurred while enabling: languagetool-office-extension-5.5.jar /opt/collaboraoffice/debugsource/desktop/source/deployment/registry/dp_backend.cxx:666
warn:legacy.osl:32:32:include/osl/file.hxx:1239: File::sync(): File not open
warn:legacy.osl:32:32:extensions/source/logging/filehandler.cxx:317: FileHandler::flush: Could not sync logfile to filesystem.
ERROR: unopkg failed.
However, ./unopkg list --shared
seems to indicate that the extension has been successfully installed, albeit not registered (see output on Pastebin [9]). Nothing of the extension is visible in the Collabora browser interface.
Question 2 (if it is possible to install the extension): Is this the correct approach of installing the extension?
Question 3 (if this is the correct approach): Did the installation succeed even though there were errrors? If not, how can I find out more about what specifically causes the errors? What more do I need to do to enable the extension for the users?
Possibly related: Using extensions in Collabora Online
Links [1] - [9]: Please see Links - Pastebin.com due to link limitations in Discourse.
Thank you all very much in advance for your advice!