GSoC 21 Projects mentored by Collabora for LibreOffice

Collabora mentors students on LibreOffice projects during this year’s Google Summer of Code

Summer is synonymous with the opportunity to participate in beautiful projects. Let’s look at the students who work in improving LibreOffice during the Google Summer of Code. This year, four of the approved GSoC projects for the LibreOffice community are mentored by Collabora developers. Find out about the improvements they are currently implementing!

Tests for the VCL graphic backends

The Visual Class Library (VCL) tests identifies if a graphic backend works correctly. This is especially important if the backend depends on the client hardware or drivers (like e.g. on Skia/Vulkan). This task’s main objective is adding more test cases to the pre-existing tests, and implementing a usable UI for users to test the graphic’s feasibility themselves. This project can be considered as of medium difficulty and requires C++ knowledge. It has been taken over by Akshit Kushwaha who is being mentored by Collaborans Tomaž Vajngerl and Luboš Luňák.

Creating a powerful Text Style deck

Text Style deck mock-up by the LibreOffice design team

The current styles deck sidebar is going to see a redesign. The paragraph and character styles will be merged into a single Text Style deck, as illustrated in the mock-up to the left. Furthermore, Anshu Khare, who has picked-up this project, does also want to rework the filter workflow. Anshu Khare is being mentored by Collaborans Tomaž Vajngerl and Mike Kaganski and Heiko Tietze from the LibreOffice design team.

Making SVM format independent of the VCL Metafile

The SVM file is a 1-to-1 pullout of the content of the VCL Metafile. We mentioned the VCL already before. It is a complex code area and since the SVM should not change, stay consistent, modernizing and updating VCL is very hard. Now after this task, there will be a test for the SVM format. And there will also be new classes, making it easier to update/improve VCL. This project can be considered of medium difficulty. It is being taken over by Panos Korovesis who is being mentored by Tomaž Vajngerl and Miklos Vajna.

100 paper cuts

100 Paper Cuts is a versatile and multifaceted project in which Bayram Çiçek will be implementing enhancement requests and solving some issues on the UX side of LibreOffice. This requires knowledge in C++ and the ability to read other peoples code. Due to its nature, the difficulty of this project can vary. Bayram Çiçek is being mentored by Collaboran Muhammet Kara and Heiko Tietze from the LibreOffice design team.

More Projects – Boost.Gil 2D convolution and correlation

Apart from those for the LibreOffice project, Collaboran developers participate in other Google Summer of Code projects. For the Boost C++ Libraries organization, a 2D convolution and correlation algorithm aligned with existing 1D convolution and correlation is to be implemented. Prathamesh Tagore will improve the existing prototype and make it ready for release. He is being mentored by Collaboran Pranam Lashkari, who was himself a successful GSoC scholarship holder a few years ago.

We wish all participants an equally successful and insightful summer and would like to thank all mentors for devoting the time necessary for the success of these projects. At Collabora, we believe that the sharing of knowledge is an essential part of open source and also a driver of progress and innovation.

Searching for a mentor? Join us GitHub!

Google Summer of Code is an excellent opportunity to learn to work in many open-source projects. But where to find mentors during the rest of the year? We suggest you to take a look at the code of Collabora Online on GitHub and join the growing community there, with easy hacks to get started and regular round-ups. Community Mentor Muhammet Kara and the rest of our team of open-source developers are there and willing to share their vast experience.

Join the Collabora Online community

Read More

CODE 6.4.6 Introduces Fontwork, Gutter Margins and More Improvements

The latest version of the Collabora Online Development Edition (CODE) 6.4.6 introduces new features and improvements. The newly introduced Fontwork feature, allows you to create the well known graphical text art objects inside Collabora Online. The feature can be accessed via the Insert tab, both on the NotebookBar and in the classic UI. The Fontart Gallery allows you to choose from a set of different text art objects, each of which can be customized via the Sidebar. It is now also possible to define gutter margins. And of course there is more!

Use the latest features now – and do give your feedback

CODE gives you the latest and greatest features in online collaboration earlier than the supported version Collabora Online. Of course, we would love to hear about your experiences. Please leave your feedback on CODE in the community forum or report any possible issues on GitHub.

How to use the attractive Fontwork objects

Working with Fontwork in Collabora Online is very straightforward. After choosing a Fontwork object from the gallery, double-click the object to update the text. When selected, the colour, transparency, and the orientation of the graphical text can be adjusted through the Sidebar. The new Fontwork panel makes it easy to work with the characters’ height, or change the alignment and the character spacing. If you are using Collabora Online via your mobile phone’s browser you will benefit from the mobile-friendly interface, as shown in these images.

The main colour of the Fontwork object is defined by the Area colour, similar as to when working with Shapes. You can also choose from different types of fills (e.g. colour, gradient, bitmap, pattern) and set the transparency. Secondary or tertiary colours of Fontwork can be defined through the Line or Shadow colour.

Mobile optimized Fontwork interface. Click to enlarge!
1. Choose Fontwork from the Galery
2. Edit shape, letter height and alignment in the Sidebar panel.
3. Define Colour, Type of fill & transparency level in the Area panel

 

Easier and better page formatting in Writer with Gutter Margins

Writer now features improved support for gutter margins. This is often requested for government documentation and really popular among our users in Asian countries.
Mind that this new feature is not yet available in the Writer on desktop. You can test it on desktop though, with the unstable snapshot of our supported Collabora Office version. And the work is of course also committed for the next LibreOffice release.

How to use the new gutter margins

This margin type can be specified explicitly, and it is also possible to select whether the gutter should be located on the left or at the top. The feature works with mirrored margins as well and is very useful for printed publications. To utilize this feature, access the Page Style dialog through the Layout tab. In the Page dialog you will find a new Gutter option below the Margin settings. On the right-hand side there is a drop-down menu that lets you choose the Gutter position (left or top). The small page icon in the dialog renders a preview of the margin size.

Microsoft Word also includes a gutter margin option, so this feature is also an interoperability improvement. When importing or exporting documents, this feature is now supported with DOCX, DOC, ODP, and RTF formats. While the feature has been primarily developed for Collabora Online, it is also available in the desktop version. If you are interested in more, and technical, details of this implementation, please take a look at the blog by developer Miklos Vajna.

1. Define the size of the gutter margin
2. Choose the position of the gutter margin
3. A preview of the gutter margin’s size and position is rendered in the dialog

 

New configuration option for integrators

Collabora Online now does support the FileUrl property of WOPI. This is a URI to the file location that the WOPI client uses to get the file and can be used to get the file instead of a GetFile request. FileUrl brings better performance in some configurations and has been implemented in cooperation with partners.

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

 

Read More

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!

Read More

Collabora’s contributions to the LibreOffice Conference 2020

Three full days dedicated to LibreOffice technology

The LibreOffice Conference 2020, this year also known as oSLO 2020, took place from 15 to 17 October 2020 as a joint online event with openSUSE. The number of participants at the online conference was roughly the same as at an on-site event. A total of over 320 participants had registered on the conference platform. Individual talks were attended by up to 150 people simultaneously. The LibreOffice community in Latin America had organized an additional track in Spanish and Portuguese. Our team contributed 16 talks (find the complete list here). Enjoy some recorded recordings, download the slides and feel free to ask further questions in our forum.

Collabora & the LibreOffice Ecosystem

Some much-acclaimed topics were the lectures by Michael Meeks, which highlighted the exciting and long-standing history of LibreOffice, and those that dealt with the relationship between profit-oriented companies and the voluntary community—and pointed out possible perspectives.

“Collabora & LibreOffice” by Michael Meeks
“Ecosystem, Branding & Investment” by Michael Meeks

Collabora Online

This year’s talks on Collabora Online had a strong focus on improving the user experience. Ashod Nakashian talked about the challenges of integrating Sidebars into Online, while Szymon Kłos explained the path to the NotebookBar, the new optional user interface. Tomaž Vajngerl showed the great new features for PDF files. Pedro Silva held a presentation on visual consistency, user experience, as well as possibilities for customization. He also showed how to join the project. Slides of his talk are also available in Portuguese (as part of the Latin-American Track). Muhammet Kara‘s presentation highlighted the new one-click option, that makes installing Collabora Online by home users much easier.

“Bringing The Notebookbar to Online” by Szymon Klos
“Improving visual consistency in Collabora Online” by Pedro Pinto Silva
“Making Online trivial to setup” by Muhammet Kara

LibreOffice & Collabora Office

These talks dealt with new functions added to LibreOffice by the Collabora team. This includes the extensive work with the SKIA graphics library, presented by Luboš Luňák, and the digital signing of files in PDF and OOXML, showcased by Miklos Vanja. Collabora Office is now also available on Chrome OS. Jan Holesovsky outlined what it took to port the Android app to Chromebooks.

“Implementing Vulkan-capable drawing using the Skia library” by Luboš Luňák
“OOXML / PDF Digital Signing in Draw and elsewhere” by Miklos Vajna
“Chrome OS as a new platform” by Jan Holesovsky

Collabora Office on Android & iOS

Our mobile apps are a lot of attention. Their huge success recently added 500K users to the LibreOffice user base. Szymon Kłos presented technical details how the LibreOffice Sidebar get re-used on phones. Tor Lillqvist focused, on the latest developments for Collabora Office on iOS, while Jan Holesovsky presented the history of online and mobile.

“Re-using the Sidebar on phones” by Szymon Kłos
“Mobile – Development on iOS” by Tor Lillqvist
“History of Online & Mobile” by Jan Holesovsky

Living on video?

Missed the conference? Would you like to watch or re-watch some talks? The sessions at the openSUSE & LibreOffice Conference have been recorded and are going to be published. We have a playlist collecting all the talks held by our developers. Find it here on YouTube. We are continuously adding the all published oSLO2020 talks there. In the meantime, please subscribe to our YouTube channel to not miss any updates from us.

Read More

Collabora developers mentor successful GSoC Projects

Autumn is just around the corner. For many participants in the GSoC 2020, a busy and instructive summer full of hacking on open source projects came to an end a few weeks ago. Commits have been contributed and final reports have been written. This year experienced Collabora Productivity developers were again mentors for various projects of the Google Summer of Code for the LibreOffice project. Here are some examples of projects our team helped to succeed!

Analysing Writer documents with the “Style Inspector”

The “Style Inspector” is a great new tool. You can access it through a new icon (an eye combined with a pencil) in the Sidebar (also via “Sidebar Settings”). The Style Inspector displays in full detail (and hierarchical) all styles and also direct formatting applied to a cursor position in a Writer document. So you can analyse, identify problems and clean them up. Sometimes formatting in documents is messy and people mix styles with direct formatting. The Style Inspector allows you to see that.
The feature is available for testing in pre-released development versions of LibreOffice. Shivan Kumar Singh picked up the proposal from the LibreOffice Design Team. He was mentored by Collaborans TomažVajngerl and MikeKaganski with Heiko Tietze from the LibreOffice Design Team. Take a look into Singh’s final report! It is an inspiring a guide on how to approach a big project like LibreOffice.

Improving the way to find and add extensions

There are many useful extensions to LibreOffice and users should be able to find them easily! Like in app stores like Gnome Software or the Play Store. That is basic idea behind “Tight Integrations” and the proposal from the LibreOffice design team. Yusuf Keten made this his GSOC project a success and added the possibility to search and sort the through extensions without having to leave LibreOffice. You start this new way to search with a clear yellow star with a download arrow, that is in the templates dialog, at the icons in the view options, or from the galleries pane in the side bar.
If you are curios about this handy extensions feature you can already test and find it in the latest LibreOffice pre-releases. Yusuf was mentored ba Collabora’s Muhammet Kara and Heiko Tietze from the LibreOffice design team. Find all the details of Yusuf’s work in his final report.

I learned a lot of things during the GSoC. Although GSoC is finished, I will continue to contribute to LibreOffice. I am very happy to be part of the LibreOffice community.(Yusuf Keten)

Access the Tight Integrations manager through the icon in Gallery
Browse, search and sort through Templates, Galleries & Icons in the new extension dialog.

Changing the contour – shadows are becoming blurry

New blurry shadow option

Did you know, that in LibreOffice the shadows are just a copy of the object? There are already a lot of settings to change their appearance, like its colour, its angle, the transparency and distance behind the object. Mentored by Collaboran’s TomažVajngerl and Miklos Vajna, Ahmad Ganzouri added another option. The “Blurry Shadows” make use of the already implemented BitmapFilterStackBlur and make the shape of the shadow look very realistic. Find the details around the development in Ahmad’s final report. We have seen the Blurry Shadow option in the master branch and expect it to be available to all users in Version 7.1 of LibreOffice. The option can be easily accessed via the “Area” dialog in “Objects & Shapes” or directly via the corresponding Sidebar module.

The blur setting can be defined Area dialog.

Searching for a mentor? Join us GitHub!

Google Summers of Code are an excellent opportunity to learn working in many open source projects. But where to find mentors during the rest of the year? We recently moved the code of Collabora Online to GitHub. You will find a growing community there, with easy hacks to get started. Community Mentor Muhammet Kara and the rest of our team of open source developers are there and willing to share their vast experience.

Read More