Together we are strong. The Open Source Business Alliance is committed to promoting open source software and open standards for a digitally sovereign society with a strong focus on the Germany, Austria and Switzerland. The goal is to establish open source as a standard in public procurement and in the promotion of research and business. To this end, the association with its approximately 160 member companies is available as a contact partner for media, enterprises and institutions. It carries out public relations work and advocates fair, competitive tendering practices.
Make Open Source Rock
Collabora is dedicated to open source software. Our mission statement is to “make open source rock”. The goals and convictions of the Open Source Business Alliance match ours of Collabora Productivity, so it was a very natural step for us to join the network, which already includes many companies that we rank among our partners. The OSB unites under its umbrella working groups on various key topics. We are looking forward to contributing our expertise and commitment in various of those.
On the occasion of Collabora Productivity joining the Open Source Business Alliance published an interview with Michael Meeks (in German language). He emphasizes the possibilities of Open Source in general, but especially the software solutions and services of Collabora Productivity for companies, institutions and organizations that value data autonomy, security and digital sovereignty.
Collabora Online enables European companies to store their data and documents locally on servers in Europe in compliance with GDPR (Michael Meeks)
Join the Alliance
The companies represented in the OSB Alliance have a profile page with their company description and the most important products and services. You can also find a description of the main activities of Collabora Productivity there. Are you interested in the activities of the OSB Alliance? The website offers an overview of events and technology job offers as well as a news section with news from the open source business world. Or would you like to become part of a strong alliance yourself? Good reasons for participation as well as the statutes of OSBA can also be found on the website.
This work by Collabora Productivity was possible thanks to AMD.
LibreOffice 7.0, just released, includes a new drawing backend based on the Skia library, which allows LibreOffice to use the modern Vulkan API to graphics operations. This Visual Class Library (VCL) backend is the default on the Windows platform, superseding the OpenGL-based backend.
Working on the future of graphics for office productivity
Having multiple VCL backends has its benefit to integrate with different operating systems, but each backend performing its own rendering implementation is far from optimal, since we cannot add new rendering functionality and assume that it will work cross-platform. Many backends across different platforms and toolkits miss optimized paths for various rendering tasks. This adds complexity and makes it hard to ensure that rendering objects happens in an accelerated way everywhere.
Another problem is that multiple backends regularly perform the same type of mapping from VCL’s APIs to what a modern toolkit provides these days. This duplication means not only maintenance cost, but also can lead to having to fix the same bug at multiple places.
Moving away from GDI and OpenGL
The VCL library is responsible for widgets (buttons, controls, etc.) and basic rendering. It does not implement the drawing directly, but it provides an internal API, which is implemented by various backends that implement the actual graphics operations. These backends usually adapt LibreOffice to each platform , for example the ‘win’ backend is used on Windows, the ‘kf5’ and ‘gtk3’ backends are for Unix-like platforms using the KDE Frameworks and the Gtk3 graphics toolkit respectively and there is a ‘headless’ backend used by tests that does not render to the screen.
Each VCL backend uses an underlying graphics API available on the platform to perform the graphics operations. The Cairo library is used by some Unix-like and ‘headless’ backends, the ‘osx’ backend uses the macOS Quartz. On Windows, the ‘win’ backend has several plugable drawing implementations:
GDI drawing. This code is relatively old and has several limitations, such as not being double-buffered.
OpenGL drawing. This code provides GPU-accelerated drawing. OpenGL is used directly, so all relevant code including OpenGL shaders needed to be implemented in LibreOffice. The OpenGL API is also slowly being phased out in the industry.
Skia drawing. The Skia library hides implementation details, and provides several rendering methods, including Vulkan API.
Integrating Skia and Vulkan
The Skia library is not shipped in a binary form, not even by 3rd-party providers such as Linux distributions. It is provided only as source and the usual way to use it in a project is to ship it with that project. LibreOffice includes Skia as a 3rd-party library and fortunately building it using the LibreOffice gbuild system is reasonably simple. An additional complication is that Skia provides a new release roughly every 6 weeks, and generally only the latest release receives any fixes, requiring repeated updates. Since Skia is continually evolving, each update may also require adjustments (although so far it seems they are generally small).
Collabora’s developers taking the first hurdles
The Skia API is generally well documented, but it appears to be mostly aimed at developers already working on a project using Skia, such as Chrome. Important classes have their API well described, but it can be difficult to find tutorials for them and some classes are harder to understand at the beginning (for example, SkPixmap, SkBitmap, SkImage and SkSurface are all classes representing a drawable, but it was unclear at the beginning what the suitable use cases would be for each for them).
Similarly, it is not obvious how to use Skia in a new project. There does not seem to be any actual developer introduction to Skia in the documentation, nor does thereseem to be any documentation on how to setup a new or standalone project using Skia. There is a Hello-World example in the examples/ directory that is based on platform integration code that is not part of the Skia library itself but is inside a sk_app/ directory in the tools/ directory. That code was usable for LibreOffice, but required patching to cover LibreOffice needs (for example, the code created a new graphics context for each toplevel window, and Skia requires proper graphic context to be used in drawing operations, but LibreOffice code sometimes does not know which toplevel window will use the result of a drawing).
LibreOffice is a fairly old codebase, and still uses relatively old concepts such as paletted bitmaps, low-resolution bitmaps (such as 4bpp) or drawing that uses the XOR operation on pixels. Skia, being a relatively new library, has features that assume modern concepts are used (for example, RGB bitmaps are required to be 32bpp with unused alpha channel, 24bpp RGB bitmaps are not supported).
Once the initial learning period is over, Skia is consistent in its API and reasonable flexible to use allowing progress to be relatively fast. Code using Skia is very readable, and using Skia makes future maintainance tasks easier to perform. Even some old concepts, such as LibreOffice using a separate bitmap for alpha channel, sometimes interpreted as 8bpp and sometimes as alpha, later blended with data bitmap to get the actual result, could be mostly implemented using Skia API, making them GPU-accelerated.
Nice performance and even room for improving
While there were some concerns about how performance would be affected by moving to Skia compared to OpenGL driver and and hardware implementations that have been heavily optimized over the past several decades, it turns out that performance within LibreOffice is at least equivalent to the OpenGL version and synthetic benchmarks show that there is room for improvement.
Benefits for LibreOffice-technology
While somewhat complicated at the beginning, using Skia in LibreOffice has been in general a rather pleasant experience. In the future LibreOffice’s use of Skia could be extended to other platforms, reducing the number of platform rendering APIs used, eliminating duplicated code, reducing bug count and generally improving quality.
For comparison, LibreOffice OpenGL drawing code is roughly 12k lines of code, while Skia drawing code is only 4k.
Apart from the immediate benefits, moving to Skia and Vulkan on Windows paves the way for a single, powerful, hardware-accelerated rendering API cross-platform.
Moving to Skia on Windows required about 7 person-months ol, which lets us use Vulkan acceleration without large implementation costs. It will be interesting to see how much time is saved in the next few years from the reduced maintenance cost. The resulting work is mature enough that there is no real negative change in performance, and we have not started heavily optimizing yet.
Keeping full control over your personal data and documents, is more and more important. Sharing by email or via the services of big tech companies is losing its shine, for obvious reasons. To help our users we introduce a new fresh Nextcloud Ubuntu Appliance for the Intel NUC, that comes with Collabora Online.
Simply take an Intel NUC server, install the Ubuntu Appliance and take back control over storing and sharing your personal data and files with Nextcloud. Next, of course, you want to read and edit your documents, now stored on your own server, wherever you are. Naturally you will be able to allow others to review and comment on text, presentations, charts and more, perhaps during a video call or chat. All this under your own control!
The new Ubuntu Appliance with Collabora Online and Nextcloud offers you just that – and more too. Do read these articles about the Ubuntu Appliance and the Nextcloud features. Now, let’s have a look at Collabora Online and some of the great features that you will benefit from.
Easy built-in installation
First a few words about getting started. For the Intel NUC Appliance, we offer you the Nextcloud integrated 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:
Collabora Online is built using LibreOffice technology. Its feature richness and document support is, in principle, similar to what that desktop suite offers. And while Collabora Online already gives you great capabilities and document display, more features are being added all the time! So a good tip: keep an eye out for new releases, and enjoy those using the easy built-in extension update.
Here we show you a spreadsheet file with some lists, and some conditional formatting options you have.
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.
One of the main advantages of online documents is sharing and collaborating. The next picture shows you tracking changes and handling of comments in a text file.
Are your documents really shared?
Do you lose control over your file when it is shown on someone else’s screen to review or edit? No, not really. You may be surprised, but your files will in fact remain on your NUC. As a user you think you are editing cells or formulas or typing text in a document in your browser. But we’re fooling you: you are reading and typing back in that single document on the server. How can this be done? There is some ‘magic’ in Collabora Online that renders your document into a set of small images and those are shown on the screen. Editing the document is done in layers of images displayed, while there is just one single version of your document that never has to leave your NUC.
All about Ubuntu for the NUC
The Ubuntu Appliance is new and really cool to make your Intel NUC a nice home server with Nextcloud and Collabora Online. The Ubuntu blog tells you much more and explains how to get started. Give it a try!
Many users of Collabora products know Nextcloud as a great platform for controlling, syncing and sharing their files, communicating with others using Talk, handling calendars and email and much more. Check the Nextcloud introduction and video on the Ubuntu Appliance.
Collabora Online code is all open source, giving interested readers the opportunity to join or just take a look under the hood.
Cambridge, August 4th, 2020 – Today we release Collabora Office 6.4 providing businesses and professionals with the best features, interoperability, LTS and custom support in open source while respecting user privacy and company data security. Changes in Collabora Office 6.4 also support new and enhanced features in Collabora Online.
Excellent Interoperability and World Class Support
Collabora Office 6.4 offers excellent interoperability with all major office formats. Import text documents, spreadsheets and presentations from MS Office files or the Open Document Format and save them just as easily. We maintain the world’s largest team of certified LibreOffice developers and offer our customers a long-term supported version of LibreOffice. Version branch 6.4 of Collabora Office will be supported until August 2023 at least.
New Features in Version 6.4
In addition to improving performance and interoperability, Collabora Office 6.4 brings a number of practical improvements to your work. The newly implemented functions can be found all over the suite. The following are some outstanding examples.
Adding Visible Signatures to Existing PDF Files
Collabora Office already had the capability to add a digital signature to an existing PDF file. This still works the same. That signature however is (and was) only visible on the status bar and in file properties; there is no visible signature in the PDF file. Now in Collabora Office 6.4 adding a visible signature has been made possible. You start this new feature by selecting the PDF file with File > Digital Signatures > Sign existing PDF.
One of the very handy and well established features of Collabora Office Writer, is Mail Merge that directly sends out PDF files. In version 6.4 this function has been extended so that you now can send encrypted PDF files. This enhances the privacy options of your workflow. Find more details in our blog.
Padded Numbering Up to 5 Characters
Padded Numbering allows you to work with list numbering using a prefix. This is now possible up to four zeros. The feature that was introduced in an earlier version was limited to prefixes of two zeros.
Set Distance of Shapes to the Bottom of the Page
It can be very handy to specify the vertical position of a shape in text documents by setting the distance at the bottom of the page content area. Until now, this was not possible, although you can do so with the distance at the top of the page content area. If you tried to do the same from the bottom, the shape would be pushed below the margin. Collabora Office 6.4 now fixes this. You can set a negative value for the position to the bottom of the page content area, and the shape will stay in that position. Also when for example the page size is changed, or when other content is added or moved. More details are described in this blog.
Export Larger Pages from Draw using PDF 1.6
Using PDF 1.6, exported PDFs can now be larger than 508 cm (200 inch). Before the size was limited because of the possibilities of the PDF 1.5 specification. Since PDF files from Collabora Office, or more specifically from Draw, can be used to create banners, a limitation of 5 meters only is of course, impractical. More background on this can be found in this blog.
Semi-transparent Text in Writer
Collabora Office 6.4 supports semi-transparent text, as it is also supported by Microsoft Word for DOCX files. So this again represents an interoperability improvement. In this blog you can find more details.
Upstream LibreOffice and more…
Collabora Office is based on the stable LibreOffice branch with extra features and fixes. Collabora Office 6.4 has the capabilities as described in the LibreOffice 6.4 release notes, of which quite some, especially these for our customers, have been introduced in earlier versions of Collabora Office. Of the 6.4 features, quite some have been added by our Collabora Productivity team. As an outstanding example, we feature the Full PDF Export for Spreadsheets.
Collabora Office is the LibreOffice-technology based suite for professional, mobile, and online use. Collabora Office 6.4 provides businesses and professionals with the best features, interoperability, LTS and L3 support.
Collabora is privileged to work with so many great contributors to the LibreOffice project and appreciates all the amazing work done by so many that is also included into Collabora Office 6.4. This, our annual release, contains much work that was contributed to LibreOffice 6.3 and then LibreOffice 6.4. These cover all manner of areas from significantly improved filters, performance improvements, 95+% of online features and improvements, rendering along with a powerful redaction feature.
Please do find the full credits here.
Migrate with our demo of Collabora Office 6.4
You can try Collabora Office 6.4 yourself! Just head to the Collabora Office page and request your demo today, or just click the button below.
Collabora Office already had the capability to add a digital signature to an existing PDF file. The PDF file was to be selected, starting with File > Digital Signatures > Sign existing PDF. This still works the same now. The file is then opened as read only in Draw and the button Sign Document on the notification bar, allows you to add a digital signature. That signature however is (and was) only visible on the status bar and in file properties. There is no visible signature in the PDF file.
To achieve this, the procedure starts the same: select the PDF file with File > Digital Signatures > Sign existing PDF. Then, as the file is read only in Draw, choose File > Digital Signatures > Signature Line.
The mouse pointer changes, and it is possible to drag a rectangle in the file. When the mouse is released, the dialog to select the signature appears.
When done, the notification bar now indicates the button Finish Signing. Click that and the digital signature will be confirmed. The rectangle, showing a picture and information about the signature, can be resized before signing is finished.
After that, again all is read only – of course. It is possible however to add another signature, so that for example more people can sign.