Collabora Online Community Roundup #11

On 1 October 2020, Collabora Online moved to its new home on GitHub, and started settling in the new infrastructure, expanding its fantastic community, and continuing the work to deliver the latest and greatest developments in productivity and collaboration together. Check our community website for all the details!

Collabora developers also keep fixing and improving our lovely mother project LibreOffice. As all the good work requires some appreciation, let’s take a look at what the seasoned developers of the Collabora team and the volunteer contributors from our community have been doing during the last few months. -Have been wondering what happened to the “weekly” roundups? Well, your friendly community mentor was having a time off for health reasons due to the pandemic, but now he is all good and back online. ;)-

Month in Numbers

On the Collabora Online code repository in the last month, 47 authors have pushed 266 commits to master and 907 commits to all branches. On master, 258 files have changed and there have been 8,685 additions and 2,186 deletions.

Screenshot of GitHub Pulse for Collabora Online
Development Activity on Collabora Online GitHub Repository from May 23, 2021 to June 23, 2021

New Contributors

Congratulations to Jerzy Drozdz, Vivekkumar Javiya, Gökhan Karabulut for their first pull requests on our GitHub repository!

  • Thanks to Jerzy Drozdz for adding the missing class A IP addresses regex to the loolwsd config file, thus helping COOL to be compatible with very large networks.
  • Thanks to Vivekkumar Javiya for adjusting the Notebookbar font size, adding support for signaling the fullscreen status in the menu, and adding comments to the Map.js to improve the inline documentation of the code-base.
  • Thanks to Gökhan Karabulut for helping COOL become easier-to-debug and more clutter-free by improving the state dumping and removing some unused fields on the C++ side of the code-base.

Thank you all, and welcome aboard! 🙂

Join the fun!

You can also join the fun, and be part of our next list of new contributors! 🙂

Just go to our GitHub repo, fork it, build it (on Linux or on any platform), grab one of our newcomer-friendly easy hacks, and send your first pull request. And if you get stuck at any point, just drop by one of our communication channels. 😉

Highlights

Collabora Online Weekly Meeting #30

COOL Weekly Meeting #30 has taken place on Thursday, February 24, 2021 at 10:00:00 am (UTC) with participants both from the community contributors and the Collabora team. We have got a quick update on what’s going on and discussed matters raised by the contributors, as well as having the chance to say hi to fellow members of the community. Topics discussed in the meeting include:

  • During the quick update part by Muhammet Kara, it’s been reported that we have 7 easy hacks at the moment, and planning to increase the number of them. He has also mentioned that COOL is now listed on the First Contributions platform.
  • Michael Meeks brought up the topic of Interactive Performance, and mentioned updates on the ongoing work by various team members, such as image scaling profiling, improving table pieces, fixing Calc’s interactivity & drag and drop selection, and benchmarking and performance profiling during collaborative editing by multiple users.
  • Szymon Kłos shared a status update on his recent work on native sidebars, which would improve the performance and user experience while working with the sidebars.
  • Michael Meeks mentioned that all of the patches for the async saving work are now merged, and the bug fixing step is the next.
  • Muhammet Kara mentioned the nice work by Chetanya Kandhari on the Mattermost integration of Collabora Online.
  • Gabriel Masei shared an update on the stability profiling/improvement efforts going on, followed by a discussion with Andras Timar on the docker image scripts.
  • Quick updates on various ongoing efforts were shared by Michael Meeks.
  • Various topics around design bits were discussed, signalling a lot of visual/aestetic improvements especially on Calc.
  • Pedro Silva pointed out that the Cypress tests need to be made more stable, and acknowledged the recent nice work by Rashesh Padia on that front.
  • Andras Timar shared that CODE 6.4.10 release is planned for the next week.
  • Muhammet Kara reminded everyone that the CfP deadline for LibOCon 2021 is on June 30th, so ~1 week left to submit papers.

Check out the meeting minutes for the details of the meeting, and join us on Thursday, July 01, 2021, at 10:00 am (UTC) to stay in touch with the rest of the community. You may also make your own suggestions for the next meeting by following the link shared in the COOL Telegram group before the next meeting. We’re looking forward to hearing from you live. 😉

Move to Libera.Chat

We set up a #cool-dev channel from the first day of Libera.Chat to help people migrate, and recently made the decision to drop our Freenode channel. Thankfully, the LibreOffice channels are also moving, so we will stay aligned with the wider project. So if you were wondering where everyone went, here is your answer. 😉

Collabora Online (COOL)

  • Thanks to Marco Cecchetti for adding cypress tests for the fullscreen presentation, thus helping us ensure the stability and quality of COOL while doing presentations.
  • Thanks to Gabriel Masei for adding support for lost kits cleanup, thus helping COOL become more friendly in terms of system resource usage as well as making sure the button for the hyperlink dialog is enabled and disabled properly while dynamically changing the UI mode to classic.
  • Thanks to Yunusemre Şentürk for improving the CODE docker image creation for arm64.
  • Thanks to Ayhan Yalçınsoy for helping to ensure COOL code-base’s compliance with the modern JS coding standards by updating the eslint version to 7.0.0 as well as making sure it builds without error on certain platforms.
  • Thanks to Ezinne Nnamani for making sure the paste shortcut CTRL+V works properly on the comment dialog, as well as for ensuring that the Impress slide previews in vertical orientation are fitting the screen nicely on mobile devices.
  • Thanks to Mike Kaganski for adding support for integrations that use certain URL parameters, and improving pixmap handling for watermarks thus possibly helping COOL perform better on related scenarios.
  • Thanks to Muhammet Kara for enabling CodeQL checks for C++ on our code repo, thus helping to maintain the code quality while adding new features and fixing issues, along with various improvements around the contributor friendliness of our project.

    CodeQL
    CodeQL is the analysis engine used by developers to automate security checks, and by security researchers to perform variant analysis.
  • Thanks to Aron Budea for various fixes and improvements such as making sure the Page Up and Page Down keys work properly in the slide sorter on Impress, and updating Cypress from 6.2.1 to 6.8.0 thus helping COOL’s testing facilities stay up to date.
  • Thanks to Gleb Popov for a lot of fixes and improvements around the FreeBSD support of COOL such as fixing tests and adding new CI configurations to ensure continuous stability of COOL on the aforementioned systems.
  • Thanks to Tamás Zolnai for a lot of fixes and improvements around cypress (testing framework), and the testing facilities thus helping COOL maintain quality over time.
  • Thanks to Henry Castro for various fixes and improvements such as adding configuration options for macro enabling macros and also setting security level for macros, thus helping COOL become easier to customize for different work settings.
  • Thanks to Mert Tümer for a series of fixes and improvements especially around improving experience on mobile views.
  • Thanks to Pranam Lashkari for fixing various issues around comment handling such as fixing an error on annotation insertion in Impress, and also for updating the instructions to set up COOL in Kubernetes (K8s), along with many other fixes and improvements.

    Kubernetes logo
    Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
  • Thanks to Miklos Vajna for various fixes and improvements especially towards general stability of the code-base, and also for helping us move our IRC notifications to #cool-dev’s new home on Libera.Chat.
  • Thanks to Andras Timar for fixing tooltip text for some notebookbar items, thus improving the user experience of COOL, along with various other improvements and maintenance especially around localization, containerization and packaging.
  • Thanks to Rashesh Padia for many fixes and improvements especially around the Cypress UI tests, thus helping us maintain high quality of COOL’s user experience.
  • Thanks to Michael Meeks for a lot of improvements particularly focused on performance testing and asynchronous behavior, thus possibly making user experience smoother for the users of COOL.
  • Thanks to Gökay Şatır for his work on the new CanvasTileLayer towards offering a much smoother and crisper viewing experience for the users at different zoom levels.
  • Thanks to Dennis Francis for a ton of fixes, which can’t fit into a single sentence of the summary, from getting rid of the flickering during zoom animations to ensuring that the autofill behavior works properly without unwanted view jumps, thus improving the overall user experience of COOL in various ways.
  • Thanks to Pedro Silva for various fixes and improvements especially around the user interface of COOL to make it have a better and more consistent look and feel, as well as improving the Cypress tests to ensure the continuous quality of COOL.
  • Thanks to Tor Lillqvist for a lot of fixes and improvements towards modernizing the code-base.
  • Thanks to Andreas Kainz for his work towards making COOL look better on all platforms with a shiny and consistent look & feel, in cooperation with other contributors and team members such as our UI expert Pedro Silva.
  • Thanks to Szymon Kłos for various improvements and fixes especially around the notebookbar, sidebar, cypress and various dialogs, thus helping COOL become richer in feature and have an even better user experience. Check out his blog post for an update on his recent work on native sidebars!

    Native sidebars on Collabora Online in action
  • Thanks to Ashod Nakashian for various fixes and improvements towards increasing general stability of COOL and maintainability of the code-base along with tests to make our code-base future-proof, working on the async upload feature which will provide a much smoother experience for the users especially in collaborative environments, and also for reviewing pull requests of other contributors, and for mentoring them through tough issues.

Collabora Office on Android & iOS

  • Thanks to Michael Weghorn for moving the file reading logic of the Android app to a separate thread thus possibly helping it to become more responsive while opening office documents.
  • Thanks to Mert Tümer for various fixes and improvements on the Android app such as making it possible to open PDF files.
  • Thanks to Miklos Vajna for making sure the Android app knows the user’s name or nickname properly and improving localization of the app by marking certain UI strings for localization, along with various other fixes and improvements.
  • Thanks to Tor Lillqvist for various fixes and improvements on the iOS app such as allowing it to open PDF files, and ensuring it is built without errors.

Collabora Online Integrations

  • Thanks to Dave Conroy for fixing OOXML template extension, thus making sure OOXML spreadsheets can be successfully created on Collabora Online’s Nextcloud integration.
  • Thanks to Joas Schilling for helping with the housekeeping of Collabora Online’s Nextcloud integration by updating node and npm versions.
  • Thanks to Roeland Jago Douma for reviewing and merging the pull requests from other contributors on Collabora Online’s Nextcloud integration.
  • Thanks to Valdnet for various fixes and improvements around the localization of Collabora Online’s Nextcloud integration.
  • Thanks to John Molakvoæ for various under-the-hood improvements on Collabora Online’s Nextcloud integration.
  • Thanks to Szymon Kłos for various improvements and fixes on Collabora Online’s Nextcloud integration, such as making sure the configuration caching doesn’t cause users to be stuck in an erroneous state on certain cases after a fresh boot of COOL.
  • Thanks to Julius Härtl for countless fixes and improvements on Collabora Online’s Nextcloud integration as well as reviewing and merging pull requests of others.
  • Thanks to Semih Serhat Karakaya for fixing PHPStan issues on Collabora Online’s ownCloud integration, thus helping to improve its CI facilities.
  • Thanks to Phil Davis for helping to keep Collabora Online’s ownCloud integration up-to-date, as well as reviewing and merging pull requests of others.
  • Thanks to Piotr Mrówczyński for various fixes and improvements on Collabora Online’s ownCloud integration such as ensuring that secure view is enabled by default for all documents when it is enabled.
  • Thanks to Jürgen Weigert for helping with the housekeeping of Collabora Online’s ownCloud integration by updating packages and the changelog as well as reviewing and merging the pull requests of other contributors.
  • Thanks to Dipak Acharya for updating CI facilities of Collabora Online’s ownCloud integration, thus helping to maintain its code quality.
  • Thanks to theheyon for various under-the-hood fixes and improvements on Collabora Online’s ownCloud integration.
  • Thanks to Jan Ackermann for a lot of fixes and improvements on Collabora Online’s ownCloud integration, as well as reviewing and merging pull requests of other contributors.
  • Thanks to Jérémie Lesage of Jeci for countless fixes and improvements on Collabora Online’s Alfresco integration, from updating the README file to make it more developer-friendly, to adding CI facilities to ensure its continued quality.
  • Thanks a lot to Chetanya Kandhari of Brightscout for revamping Collabora Online’s Mattermost plugin completely, making it more user-friendly and modern-looking, as well as bringing it in alignment with Mattermost’s plugin guidelines.

    Collabora Online’s Mattermost integration in action

Honorable Mentions

  • Thanks to Cor Nouws for leading the marketing team, and not stopping there but continuing with testing & reporting bugs, attending to community events, and keeping us all informed about what’s going on. He also attends LibreOffice Design meetings from time to time to help COOL’s mother project LibreOffice have a better UI & UX.
  • Thanks to Eloy Crespo for his efforts to help the project well-funded as always.
  • Thanks to Marc Rodrigues for continuing to keep us updated on various news around Collabora Online and related FOSS projects, and creating a lot of yummy content to read!
  • Thanks to Pedro Silva for improving various points around the COOL Community Page and forum, and also for helping other contributors by providing instructions on their pull requests as well as reviewing them.
  • Thanks to Andras Timar for keeping us organized, maintaining our translation project on Weblate, and delivering hot new releases of our software!
  • Thanks to Yunusemre Şentürk for various tasks towards keeping our CI chains healthy.
  • Thanks to Jan Holesovsky for doing a lot of research on different topics, and providing mentoring/patch-reviewing/hand-holding/wisdom within the team, in our communication channels, and also on various channels of our lovely mother project LibreOffice.
  • Your friendly community mentor, Muhammet Kara, is also creating & improving easy hacks, running workshops, helping new contributors solving their setup & build issues and reviewing their pull requests, working on easing the build procedure, improving our GitHub presence bit by bit based on its community guidelines, compiling/composing these community updates…

Translators

Last but not least, we can’t thank enough to our translators who constantly help COOL and its friends talk many languages on this earth. Collabora Online speaks many languages, thanks to all of our translators in our translation project, and all of those who previously contributed and keeps contributing to our mother project, LibreOffice.

We’re continuing to work to find good ways to credit translators’ hard work in the product. Please see a list of those involved, and please get in touch if you’re not listed. Many thanks to all those who have worked on translating Online, you rock!

If you would like to help COOL speak your language, you can just go to our translation project on weblate, and start contributing! 😉

Collabora Online translation project on Weblate
Collabora Online translation project on Weblate

Collabora loves LibreOffice!

We’re still contributing to LibreOffice and encourage you too to do so because LibreOffice rocks. 😉

  • Thanks to Gabriel Masei for making sure that mpWindowImpl is checked before referencing, thus improving stability of LibreOffice by preventing possible crashes.
  • Thanks to Miklos Vajna for many improvements and fixes along with adding new cool features to LibreOffice. Here are a few of them:
    • After the bibliography improvements in LibreOffice Writer, funded by TUBITAK ULAKBIM, Writer now has three improvements in this area: more information about the bibliography entries in the form of a mouse tooltip and clickable URLs in the table, the ability to refer to a specific page of a (potentially long) source. Check out his blog posts[0][1] for details!
      Tooltip for bibliography entry fields
      Clickable URLs in the bibliography table

      Refer to a specic page of a bibliography source, user interface
    • Improvements to gutter margin in Writer as part of his hack-week activity at Collabora.
    • Improved borders of merged table cells in Writer. Also thanks to Docmosis for making this improvement possible by funding the work on it.
    • Writer line heights: removing a 16bit limit. Also thanks to Vector for making this improvement possible by funding the work on it.
  • Thanks to Tomaž Vajngerl for continuing his work towards developing a built-in Xray-like UNO object inspector. This effort has been funded by The Document Foundation, so also thanks a lot to the TDF Board of Directors, and the TDF donors who made the work on this tool possible! Check out his blog posts for all the details:
  • Thanks to Mike Kaganski for implementing support for multi-column layout in LibreOffice’s text boxes. Also thanks a lot to SUSE, our valued partner, for making this improvement possible by funding the work on it. Check out the blog post for all the details!

    Multiple columns in LibreOffice text boxes
  • Thanks to Gülşah Köse for various fixes and improvements especially towards improving interoperability of LibreOffice with foreign document formats, thus improving interoperability with other office suites.
  • Thanks to Noel Grandin for doing various code-quality improvements and modernization all around the LibreOffice code-base.
  • Thanks to Tor Lillqvist for a lot of fixes and improvements especially towards better support on macOS and iOS.
  • Thanks to Gopi Krishna Menon for ensuring[0][1][2] crash reports are more detailed, thus making it easier to fix critical issues on LibreOffice.
  • Thanks to Sarper Akdemir for various fixes and improvements on OOXML file formats, thus helping LibreOffice to improve in terms of interoperability.

How to: easily deploy Collabora Online on your Kubernetes setup

All you need to deploy Collabora Online on your Kubernetes setup, is applying these configuration settings on your installation of Collabora Online.

Install Collabora Online on Kubernetes in 3 easy steps

With the increasing use of the Kubernetes, we are happy to provide an easy way to deploy our online on your Kubernetes setup.
Thanks to Collabora developer lpranam, Collabora Online can be setup with Kubernetes and also a key feature such as collaborative editing will work correctly. Therefore it is vital to ensure that all users editing the same document end up being served by the same pod. Using the WOPI protocol, the http/https URL includes a unique identifier (WOPISrc) for use with that document. Thus load balancing can be done by using WOPISrc – ensuring that all URLs that contain the same WOPISrc are sent to the same pod. We use a reverse proxy to achieve this load balancing mechanism. HAProxy provides the easiest way to achieve all are requirements for this setup.

Pre-installation checklist

  1. running Kubernetes cluster
  2. The helm command-line tool
  3. The kubectl command-line tool

Configuration files can be found at github.com/CollaboraOnline/online/tree/master/kubernetes/helm/collabora-online

Installation steps

  1. Install HAProxy ingress controller
    kubectl apply -f https://raw.githubusercontent.com/haproxytech/kubernetes-ingress/master/deploy/haproxy-ingress.yaml
  2. Prepare the namespace in the Kubernetes cluster with this command
    kubectl create namespace collabora
  3. Install collabora online helm chart
    helm install collabora-online ./kubernetes/helm/collabora-online/

Accessing online service

The following steps may vary a little according to your cloud providers. Here we demonstrate how to access the online with a minikube setup on a local machine.

HAproxy is installed as a NodePort service so to access any service through HAProxy we can use the node’s ip.

  1. To get your node ip with minikube minikube ip

example output

192.168.0.106

2. Each container port is mapped to a NodePort port via the Service object. To find those ports

kubectl get svc --namespace=haproxy-controller

example output

In this instance, the following ports were mapped:

  • Container port 80 to NodePort 30536
  • Container port 443 to NodePort 31821
  • Container port 1024 to NodePort 30480

3. Now in this case to make our hostname available we have to add the following line into /etc/hosts:

192.168.0.106 loolwsd.public.example.com

Feedback and community

If you have feedback, or want to get involved somehow: here’s our cool-dev community!

ARM64 an officially supported platform for CODE

We now officially announce the availability of CODE for the ARM64 platform. Users can now benefit from the availability of the latest developments in document collaboration with a feature rich open-source application, offering great support for all major file formats. The availability for the ARM64 platform is possible thanks to the work for the recently announced Collabora Online for the Raspberry Pi.

The ARM64 version can be used with docker or the Nextcloud snap. Find the docker source here.

We also offer CODE packages, of course less convenient to use, and available for Ubuntu 18.04 LTS only. And of course there’s the releases and information on GitHub.

About CODE

CODE is the Collabora Online Development Edition. It contains the latest developments and is perfect for home users. It enables them to regain control of their own online documents and to host them themselves in a secure and private environment. For tech-enthusiasts, it is a low-threshold way to get involved and familiar with our online office solution. CODE will be improved continuously and our next supported and maintained Collabora Online product will be built from it. All of our code is Open Source, and a vibrant community in participating in growing Collabora Online. Would you like to be part of the story? Join the community!

 

Get CODE 6.4

 

Canonical, Nextcloud and Collabora deliver work-from-home solution to Raspberry Pi and enterprise ARM users


The Internet, March 25 – Canonical, Collabora and Nextcloud announce the immediate availability of a content collaboration platform for 64bit ARM for both consumers and enterprises. Building on the prior Nextcloud Ubuntu Appliance and with Collabora Online, it adds the first viable self-hosted web office solution on the popular Raspberry Pi 4 platform.

The Raspberry Pi series has transformed tech, bringing down the cost of anything from IoT devices to small home servers. Ubuntu has been leading the space offering easy to install and zero-management snap software packages, lowering barrier to entry further. Interest in Nextcloud on the Raspberry Pi has been evident from hundreds of online tutorials appearing over the years, as well as enthusiasm around an earlier collaboration between Canonical, Nextcloud and Western Digital on a solution for the platform. With the introduction of the Ubuntu Nextcloud Appliance, easy deployment of the Nextcloud Hub became available for x86 devices like Intel NUC’s as well as ARM devices like the Raspberry Pi, but the latter lacked support for a viable online office document editor. Today, the lack of a viable office solution is resolved with the availability of the widely used, open source, web office document editor Collabora Online.

This enables tens of thousands of Raspberry Pi users to turn their Pi 4 into a self-hosted content collaboration and document editing solution in minutes. With the growing availability of 64bit ARM devices in the enterprise server space, larger organizations are also set to benefit from the availability of this platform. Obviously, we encourage users and organizations to act responsible with regard to data protection by using e.g. proper networks, encryption and backups.

Installation Tutorial

Before you start, note the following system requirements for the installation:

  • 3.0 flash drive (2GB minimum)
  • A Raspberry Pi 4, preferably with 2 or 4 GB RAM
  • A Mini HDMI to HDMI cable
  • A monitor with VGA or HDMI interface
  • A VGA or HDMI cable
  • A USB keyboard and mouse
  • A network connection with Internet access
  • An Ubuntu 20.04 LTS desktop image

Find a full tutorial on the Ubuntu website for installing the Nextcloud Ubuntu Appliance image on a Raspberry Pi. Read how to quickly set up step by step and stay fully productive by having video calls in Talk, sharing documents with Files, editing it with others using Collabora Online, reading your emails or planning meetings and many more! Make sure you don’t miss the details in the announcements by Ubuntu and Nextcloud!
Mind that you may also install the Appliance one a RPI 3 however, that for running the Collabora Online office solution, that hardware is really not ideal.

Easy built-in installation

The Ubuntu Nextcloud Appliance comes with the Collabora Online built-in server.This makes getting started really easy. This installation is perfect for personal use or use with small teams. If you are looking for a larger deployment, contact us for details about a full, scalable installation:

Screenshot of a Nextcloud installation: Install and select CODE-Built-in-server
Install and select CODE-Built-in-server

Great feature richness

The really easy installation comes with a great feature richness, full WYSIWYG functionality and a modern and flexible user interface! Collabora Online is built using LibreOffice technology and therefore the document support and features are similar to what that desktop suite offers. To mention a few:

  • Powerful spreadsheets, also offering possibilities as validation, pivot tables, password protection
  • Working with images with close to no limitations
  • Text files with track changes, page formatting, charts, styles
  • Vector drawings, with shapes, 3D, flow charts
  • Presentations including master pages, charts, transitions and animations

Working with images in Collabora Online, knows few limitations. Position, on the page, resize, rotate, proper wrapping and more. It all works nicely, and you can visualize your documents as you edit.

Tremendous options to work with images

Find more examples in the earlier announcement for the Intel NUC, for example on sharing and collaborating.

 

About Canonical

Canonical is the publisher of Ubuntu, the OS for most public cloud workloads as well as the emerging categories of smart gateways, self-driving cars and advanced robots. Canonical provides enterprise security, support and services to commercial users of Ubuntu. Established in 2004, Canonical is a privately held company.

About Nextcloud

Nextcloud Hub is the industry-leading, fully open source, on-premises team productivity platform, combining the easy user interface of consumer-grade cloud solutions with the security and compliance measures enterprises need. Nextcloud Hub brings together universal access to data through mobile, desktop and web interfaces with next-generation, on-premise secure communication and collaboration features like real-time document editing, chat and video calls, putting them under direct control of IT and integrated with existing infrastructure.
Nextcloud’s easy and quick deployment, open, modular architecture and emphasis on security and advanced federation capabilities enable modern enterprises to leverage their existing file storage assets within and across the borders of their organization. For more information, visit nextcloud.com or follow @Nextclouders on Twitter.

About Collabora

Collabora Productivity created Collabora Online and is therefore the driving force behind putting LibreOffice in the cloud. Collabora provides a range of products as well as consulting to enterprise and government. Powered by the largest team of certified LibreOffice engineers in the world, Collabora is a leading contributor to the LibreOffice codebase and community. Collabora Office for Desktop and Collabora Online provide a business-hardened office suite with long-term support. Collabora’s multi-platform policy is completed with Collabora Office for iOS and Android. Collabora Productivity is a division of Collabora, the global software consultancy dedicated to providing benefits of Open Source to the commercial world, specializing in mobile, automotive and consumer electronics industries. For more information, visit www.collaboraoffice.com or follow @CollaboraOffice on Twitter.

How to use and manage Basic and VBA compatible macros in Collabora Online

The release of Collabora Online 6.4.7  and CODE 6.4.7 introduced the possibility to run macros in Online!

Configuration settings in loolwsd.xml: enabling and setting the security level

By default, execution of macros is completely disabled. The administrators can enable that in the security node of the loolwsd.xml configuration file.

<enable_macros_execution desc="..." type="bool" default="false">false</enable_macros_execution>

Once enabled, the administrator can decide which security level should be used for the macro execution. Currently there are two levels:

  • 0 (Low, not recommended) All macros will be executed without confirmation.
  • 1 (Medium, the default) Confirmation required before executing macros from untrusted sources.

<macro_security_level desc="..." type="int" default="1">1</macro_security_level>

Sources for Macros

Macros can be either embedded in the documents, or can be installed on the server. When opening a document with macros, in the security level “1” (Medium), the users will always see the following dialog, and will have to confirm they understand the risk.

Limitations for Macros in Collabora Online

Due to the limitations of editing the documents online, and due to the strict security design of Collabora Online, running macros have several limitation limitations. Following list of examples is not exhaustive, if you find a case that is not working for you, please let us know.

It is not possible to:

  1. Access Database sources, or open and access data as Database source.
  2. Use XForms, Forms, Controls, click buttons.
  3. Access other documents, or open external documents.
  4. Create new document from template.
  5. Mail Merge, or merge all documents in a directory.
  6. Call an external program.
  7. Use the Shell command.
  8. Extract a Zip File.
  9. Get and set the current directory.
  10. Connect to a remote OOo server using Basic.
  11. Create a toolbar for a component type.
  12. Toggle the design mode, or access the toolbars in any way.

Find out more about macros and all the other new features in our Collabora Online 6.4.7 announcement.