Update on LibreOffice support for ARM-Based Macs

It is always an exciting time to see freshly minted ARM based silicon arriving in the form of Apple’s massive shift to the ARM based M1. This of course means work for Collabora’s LibreOffice team too. The code needs to be prepared for M1, step by step. Here we update you on the status of the work, and what needs to be done.

With the launch of the new Apple devices nearing, it is important that suitable software arrives around the same time as new hardware. Apple ensures this by a translation layer, so that software for Intel Macs can be used, using Rosetta translation.

Nevertheless, given the code size of LibreOffice, for the best performance it makes most sense to have a pre-optimized native binary. As such Collabora joined the Universal App Quickstart Programme back in July and has been doing work on enabling LibreOffice for M1 since then.

This effort is made possible by the kind support of those who buy LibreOffice Vanilla in the Mac app store. Thank you! And thanks too to Tor Lillqvist for his patience and hard work here.

The status of the work

All of these changes are in master, or in the gerrit queue getting past our CI automation:

  • Configuration changes (mostly there). It should now possible to configure and build a native LibreOffice on a Apple Silicon, as well as cross-compiling to x86_64.
  • Patching and fixing of lots of bundled libraries to make them build cleanly.
  • Then there is a first attempt at a new C++/UNO ABI bridge – we need to match Apple’s ABI by tweaking Linux’s ARM64 support to match. This allows UNO scripting to work (in theory).
  • We still have some failing unit tests, that need investigation, as well as some other bits, described below.
All of this means that LibreOffice should start and work on M1! So far it has had only very basic Writer & Calc testing. The more exciting, complex features are not yet tested.

Update: as of 2021-02 we have working native M1 binaries in the Apple app-store for users.

What’s next .. want to get involved?

Post-launch, if you can get an M1 Mac, then help is always most welcome! We have several missing pieces that will require further work, with some unusual low-level bits.

  • The new C++/UNO ABI bridge requires more testing, to ensure the UNO scripting support works smoothly.
  • Enabling bits we didn’t compile in yet: Firebird, Java (when there is a JDK).
  • Scripts to combine builds for arm64 and x86_64 into one universal app (i.e. one where binaries are “fat,” consisting of separate parts for each architecture)
  • Adaptation to whatever new checks are added for universal apps in the App Store. This is an ongoing unpredictable part of our work: adapting 8 million lines of code to the latest updated rules, keeping our builds compiling and signing with the latest tool chains.
Of course we’ll continue to work to bring the best LibreOffice possible to Apple Silicon as time permits, and we are confident that even if we don’t make it in the next month or two, Rosetta 2 will fill the gap using dynamic instruction set translation. And when all is done, our open source desktop productivity tools will benefit the full power of the new Macs!

Collabora to integrate Collabora Online with ownCloud Infinite Scale

 

Nuremberg, Cambridge, October 27th, 2020 – A broad open-source ecosystem is already building around the new ownCloud file platform. Now Collabora, too, announces an integration with ownCloud Infinite Scale.

ownCloud is working on a new file platform modernized from the ground up. Already, a broad ecosystem of open-source software has pledged to support the upcoming ownCloud Infinite Scale with integrations. One of the integration partners is Collabora, the company that brought LibreOffice into the cloud.

Integrating its open-source browser-based office suite Collabora Online with the new ownCloud file platform, Collabora enables existing customers to seamlessly migrate from ownCloud 10 to ownCloud Infinite Scale. This means that they can leverage the substantial improvement in performance and scale right from the start.

The combination of Collabora Online and ownCloud Infinite Scale enables users to productively work on documents, spreadsheets, presentations and more, right from within ownCloud and in their browser. It enables teams to collaborate in real time, with changes shown to all collaborators as they happen. Deployed on-premises or in a cloud of choice, ownCloud and Collabora provide organizations with a secure and sovereign workspace they fully control.

Collabora and ownCloud are already in a fruitful long-term partnership, providing Collabora Online for ownCloud Enterprise together.
They also jointly developed the data room feature Secure View. It makes the sharing of sensitive documents more secure by restricting the available actions for viewers and by identifiably watermarking documents. In addition, documents are displayed as images in users’ browser and the files strictly remain on the server at all times, providing the most secure data room service.

“For our new file platform ownCloud Infinite Scale, we follow a best-of-breed strategy of seamlessly integrating with strong solutions in the open source ecosystem”, explains Tobias Gerlinger, CEO of ownCloud. “We are especially pleased that Collabora Online as one of the flagship solutions in the open source community is already in the process of integration with ownCloud Infinite Scale.”

“We are excited about developing the integration of Collabora Online with ownCloud Infinite Scale. It is the logical next step in our long and fruitful partnership”, says Michael Meeks, General Manager at Collabora Productivity. “It enhances the usefulness of our products for customers, providing their staff with productive and secure workspaces that scale and perform.”

About ownCloud
ownCloud develops and provides open-source software for content collaboration, allowing teams to easily share and work on files seamlessly regardless of device or location. More than 100 million users worldwide already use ownCloud as an alternative to public clouds – and thereby opt for more digital sovereignty, security and data protection. Find more information online at owncloud.com or follow @ownCloud on Twitter.

About Collabora Productivity
Collabora Productivity created Collabora Online and therefore is 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 the product page on www.collaboraoffice.com or follow @CollaboraOffice on Twitter.

HowTo Switch – Collabora Online Classic Tool Bar or NotebookBar

The recent release of Collabora Online Developer Edition 6.4 yielded us some nice response on the brand new shiny NotebookBar!



Setting in the configuration

Of course, there is the choice which one to use. Currently that is in the configuration file, the loolwsd.xml, in the setting

<user_interface><mode>



Choosing at the start

There is also the option to chose at the start of Collabora Online. This is how you switch:

--o:user_interface.mode=classic or --o:user_interface.mode=notebookbar

For example to start the docker without ssl and with classic interface:

docker run -t -d -p 9980:9980 -e "extra_params=--o:ssl.enable=false --o:user_interface.mode=classic" collabora/code

More to come..

We expect a choice in the user interface, accessible for each individual user, will be added soon. Do get a demo, or more info on Collabora’s options for professional support and theming!

 

Collabora Online development

All about developing Collabora Online and getting involved, can be found on the Collabora Online Community Page.

 

Collabora Online Shines at the Nextcloud Conference

#nextcloudconf2020

 

The Nextcloud Conference 2020 took place on October 3rd and 4th – typically for this year as a virtual event. Participants were able to follow the compact presentations in the livestream and then ask questions to the speakers online. On behalf of Collabora Michael Meeks spoke about all the latest developments for Collabora Online.

Watch Michael Meeks Talk at the Nextcloud Conference 2020

Showing some highlights

Documents always stay on your server, and on your server alone

Data security is one of the top features of Collabora Online. The application lets the edited document never leave the server; only images of the documents, pixels, are transmitted to the viewing and editing parties. This differs from other approaches for online cooperation and editing, where centralized keys or even the sending and receiving of the actual file at all devices are used. On top of that, the use of watermarks make the handling of the content of your documents even more secure.

New UI – Experience options

An absolute novelty is the new user interface, which was presented only a few days before in Collabora Online Development Edition release 6.4. The new intuitive NotebookBar arranges the most important functions in clearly arranged tabs, and can also be folded up to maximize the workspace. The user interfaces can be selected in the admin area. For Nextcloud users, the classic toolbar is currently the default setting.

Collaborating with annotations to PDF files

Collabora Online offers more features for PDF files. When a PDF is opened in Collabora Online, from the three dots menu of the file, users can now search the text and also add annotations. Allowing easier cooperation on PDF documents.

Questions from the Nextcloud Community

After the streaming of the talk viewers of the Nextcloud conference had the possibility to address questions to Michael Meeks. We give you the (slightly shortened) answers below with timecoded links to the full answer in the recording of the stream.
Michael Meeks answering questions from the Nextcloud community

How to you get the new NotebookBar?

There are two answers to that. We are working on putting a UI into Nextcloud to make that extremely trivial through a check button so that it will become really easy for people to check on it, play with it and see if they like it. This is to be incorporated soon with the stable release. Currently, you can edit your loolwsd.xml file – soon to be renamed into coolwsd.xml. You’ll find the UI settings in there. All the details are available in the announcement post of Collabora Online Development Edition 6.4. (watch full answer)

Can you use custom colour pallets and corporate design colours in documents?

In terms of documents, we have a very powerful style engine in the ODF file format to create all kind of elements in different colours. You can drop that into a template and use it in Nextcloud right today. In terms of UI colours it is quite an easy thing to push elements into the iframe. We invite people to get involved on GitHub & Telegram and play around we can help you extend the range of what is possible there. (watch full answer)

When will CODE 6.4 turn into an enterprise version?

That depends on the feedback. We want to make sure that it is really ready and fully baked. I’m seeing Collabora Online 6.4 released in a matter of 3 to 4 weeks. (watch full answer)

Thanks!

We’d like to thank the Nextcloud team for the invite and the community for the awesome work it is doing in the project. Since Nextcloud Hub 19 there is an easy to install built-in server option available in Nextcloud. Of course, you can also check on the quick try-out with docker. Fancy a closer look at the slides? Please find the download link below.

Theming of Collabora Online

Theming Collabora Online – information for the upcoming 6.4.0 release – October 2020

How that works and how it looks

If you are a Collabora partner or a customer running your own installation, you can change the theming of Collabora Online. And it can be done very easily too; just by setting a couple of CSS variables through your integration.
Here’s how that works and how it looks.

Extra hidden field in COOL frame integration

In the COOL frame in the integration there is a form where you pass a access_token to COOL for loading the valid document. For your theming you have to add another hidden field to the form named “css_variables”. Then the css variables and their values for the theming can be passed, formatted as shown in the example below.

Content of hidden field “css_variables”

The default values of various css variables can be overridden by sending them in the post message in this format:
<input name="css_variables" value="co-color-main-text=#000;--co-body-bg=#FFF--co-txt-accent=#38257a;" type="hidden"/>
Note that the variables in the form are formatted slightly different from how they look in the css file!

Available variables

Various variables can be overridden for the theming. Their names, and the default values that are used in COOL are:

--co-primary-element: #4c566a
--co-primary-element-light: #706aab
--co-txt-accent: #38257a
--co-primary-text: #ffffff
--co-border-radius: 3px
--co-body-bg: #ffffff
--co-color-main-text: #000000

What it is, and how it looks

CSS Variables overview
New in 6.4: Theme it via CSS Variables
  1. primary-element (1) is for selected elements on menu’s and toolbars, various bars
  2. primary-element-light (2) is for selected unselected elements
  3. txt-accent (3)
  4. primary-text (4) is the text on these elements
  5. border-radius (5) is the rounding of the selection of  items on e.g. toolbars and the status bar
  6. body-bg is the background beside the document
  7. color-main-text is the fall-back in the case a specific element does not have its own color text value.

 

Examples of CSS varible tweaks
Tweak it and make it feel at home with your own integration