Projects selected for LibreOffice in the Google Summer of Code 2022

The LibreOffice Google Summer of Code projects have been selected for 2022.

  • Hannah Meeks – VBA Macros – Tests and missing APIs : We support VBA (Visual Basic for Applications) Macros in LibreOffice, but the implemented API isn’t complete and the API functions aren’t largely tested. The consequence of this is that the VBA macros in OOXML documents don’t run as intended in LibreOffice, which causes compatibility problems. The goal of this project is to add tests for the functions already implemented and then look for what functions are missing for a method or module and add them.
  • Paris Oplopoios – Extend Z compressed graphic format support: Some graphic formats are compressed with ZIP (deflate) to make them smaller, while the formats themselves don’t support compression. In LibreOffice we already support SVGZ format, but not other formats. The goal of this idea is to look at how SVGZ is implemented and extend that to other formats (EMF, WMF). The extended goal is to implement support for compressing in addition to extracting.

Good luck to the contributors – we appreciate their work on these important features and improvements! And thanks to our mentors for assisting them: Tomaž Vajngerl and Miklos Vajna (Collabora); Thorsten Behrens (allotropia).

From September 5 – September 12, contributors will submit their code, project summaries, and final evaluations of their mentors. Find out more about the timeline here, and check out more details about the projects on this page.

LibreOffice ecosystem interview: Michael Meeks at Collabora Productivity

Following our interviews with Caolán McNamara at Red Hat and Thorsten Behrens at allotropia, today we’re talking to Michael Meeks from Collabora Productivity:

Tell us a bit about yourself!

I’m Michael Meeks, a Christian, husband and enthusiastic open source developer. I run Collabora’s Office division with the assistance of an amazing team – leading our Collabora Online and Office products, and supporting customers and partners. I’ve served as a Director of the The Document Foundation from its founding until recently, and have contributed to both the OpenDocument Format and OOXML standardization.

I’d started some decades ago working on the Linux desktop in the GNOME project around the Gnumeric spreadsheet, first as a volunteer, then for Ximian – which was involved in the open-sourcing of OpenOffice.org. Since then, I’ve been involved with improving the codebase, although the name of my employer has changed from Ximian, Novell, Attachmate, Micro Focus, SUSE – and finally being spun out alongside a brave and talented subset of the SUSE LibreOffice team to Collabora Productivity some nine years ago.

What does Collabora Productivity provide in the LibreOffice ecosystem?

One big piece we do is improving the awesome LibreOffice Technology core engine / APIs, and performance for Collabora Online – which provides a real alternative to Microsoft Office 365 – with collaborative editing in the browser. We spend time working hard on integrations with popular open source products like Nextcloud, ownCloud, Seafile, EGroupware, and proprietary ones such as HiDrive, Filr – as well as helping hosting providers like Strato provide LibreOffice Technology to their users en-masse.

Around Collabora Online, we have a mission to allow you to control your documents. That means full control from open source software, open standard file formats, through to on-premise hosting, and full network control. It is encouraging to see the growing consensus these days between e.g. The European Pirate Party (enthusiastic Collabora Online users) talking positively about the importance of Digital Sovereignty, and at another pole – for instance, the head of the UK’s MI6 warning on the BBC:

“The data-trap is this: that if you allow another country to gain access to really critical data about your society, over time that will erode your sovereignty.”

For Collabora’s customers, we also take a new LibreOffice version each year and freeze this as our Long-Term Support (LTS) base; we create many hundreds of fixes and feature patches which we contribute up-stream, as well as back-porting the latest fixes to our enterprise branch: much as is done for an enterprise Linux distribution. We sell that toegher with services and support as Collabora Office. We also maintain a tool (Collabora OLE Automation Tool) to ease migration of vertical applications that use Visual Basic / OLE2 integration that makes LibreOffice behave like Microsoft Office via COM. In addition, we maintain Collabora Office and LibreOffice Windows Group Policy Templates – these make it easy to manage lots of LibreOffice machines via Group Policy.

Another strand of work is re-packaging Collabora Online / LibreOffice Technology as responsive mobile apps for Android and iOS, as well as Chrome OS. By delivering LibreOffice-based document editing to everyone’s browsers, PCs and mobile devices, we give people a real alternative that lets them choose their own document formats, security profile and threat model – real digital sovereignty.

What has Collabora been working on in LibreOffice 7.3?

We’ve been working on lots of things: some of the team have done a lot for interoperability, e.g. Miklos improving writer’s paragraph styling, or Dennis making charts more compatible, or Sarper re-working our PowerPoint header/footer interoperability. There is a constant stream of improvements based on customer feedback here.

Another big set of improvements in LibreOffice 7.3 are from Lubos and Noel around the performance of file opening, rendering, editing of documents as well as improving calculation threading. One particularly important piece here was the work done to very significantly improve performance of lots of editors in a single file – which has been back-ported to make Collabora Online very much faster in our latest releases.

We are looking forward to upgrading to LibreOffice 7.3 in the next months, and not having to carry these back-ports forward.

What new features are you particularly happy with?

I’ve been really pleased with the work we’ve done alongside AMD around Skia rendering – in LibreOffice 7.3 we make that the default for macOS (users, please report any problems), which for the first time allows us to share a single, modern rendering API between macOS, Linux and Windows for rendering – which is a huge step in the right direction.

What’s more: adding WebP support for images – interestingly, Firefox now requires this as a copy/paste format for images, and it’s long overdue to have this high quality format from Google supported.

Looking beyond this release, what else are you planning to do?

We work continuously on LibreOffice, all around the code from ongoing clean-ups, performance work, unit-tests (particularly important to avoid customer tickets regressing) and so on. We have a few things that are in the works currently.

Another thing that Tomaz, Sarper and Miklos will debut in LibreOffice 7.4 is the start of colour theme support for shapes, to allow us to re-style documents more deeply by changing the theme and palette. This should also help with interoperability and templating.

We’ve also added Sparkline support, providing a very pretty and useful way to quickly visualize data for LibreOffice 7.4.

You can read about the history of these from Edward Tufte.

Lubos has been working hard on jumbo sheets – allowing much larger number of columns in sheets (and more rows too) which should make interoperability much smoother for people with large spreadsheets.

And of course lots more – we’re expecting LibreOffice 7.4 to be packed with new and enhanced feature / function from the whole community – and Collabora.

Find out more

Build up your skills, and learn exciting new things!

LibreOffice is made by a worldwide community of volunteers, certified developers and many other people. Every summer, we participate in the Google Summer of Code programme: this is focused on introducing contributors to open source software development, and last year LibreOffice received a bunch of new features and improvements thanks to the work of several contributors.

We’re super happy to announce that LibreOffice, once again, is part of this year’s Summer of Code (GSoC). If you’re a contributor, want to improve your programming skills and receive a financial stipend to implement new features in LibreOffice, get involved! You can get in contact with us, show us that you’ve learnt the basics by working on an Easy Hack from the category “difficultyInteresting”, and then propose your project(s). We’re looking forward to hearing from you and seeing your work!

Click here to get started

Tender to clean up and further improve ODF conformance (#202202-01)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to clean up and further improve ODF conformance.

The default file format of LibreOffice is ODF, the Open Document Format. We have successfully tendered two projects on the current version 1.3 recently:

The scope of this tender is to further improve the ODF conformance in LibreOffice. Note however that the majority of the items mentioned below are unrelated to ODF version 1.3, and have existed before support of this version was introduced in LibreOffice.

Deliverables

  1. Get ODFAutoTests (https://gitlab.com/odfplugfest/odfautotests) to run again. Note: This item does not ask to setup a publicly available website.
  2. Address one or more of the following high priority issues:
    1. “svg gradient” – Bugs 48392, 76682. Bug 48392 is prerequisite for Bug 76682.
    2. “list indent” – Bugs 78510, 92762, 114287, 83532, 82179, 145318
    3. “Math inline in text box” – Bug 129061. From user point of view it has highest priority.
    4. “numbered paragraph” – Bug 62032, 108868. The internal work is done. But a UI is missing. The expected UI needs to be specified.
    5. “ODF conformance part 1” – These are those errors, which are in most cases not visible for users, and therefore likely never included in a customer contract. Bug 53992, 101758, 103602.

    Please propose a subset and prioritization of these bugs, that do not exceed the person days factored in for this tender, see below.

  3. Address one or more of the following lower priority issues:
    1. “ODF conformance part 2” Bug 106934, Bug 91472, 97706, 107253, 108536, 113404, 113554, 116321, 131148
    2. “Trailing space in cell text not encoded as <text:s/>” – Bug 113726
    3. “FILEOPEN PPTX: equation not displayed because Impress doesn’t support inline formulas”, in particular the as-char embedded object – Bug 129061
    4. “ODF database mime-type confusion” – Bug 45854
    5. “table: evaluates <text:variable-set> in body of float and void cells, but not of string cells” – Bug 68024
    6. “Implement ODF attribute fo:hyphenate to exclude a portion of text from hyphenation” – Bug 106733
    7. “FILESAVE: Form: incorrect ‘time’ type” – Bug 131127
    8. “FILESAVE: Date form: unexpected attribute ‘form:input-required’ – Bug 131148, cf. also https://issues.oasis-open.org/browse/OFFICE-4121

    Please propose a subset and prioritization of these bugs, that do not exceed the person days factored in for this tender, see below.

The work has to be developed on LibreOffice master, so that it will be released in the next major version.

A key item of the deliverables for this tender is extensive documentation, about the approach chosen to implement the above items. We expect bidders to provide documentation on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects. The Document Foundation will publish this under a free and open source license and make it available to the general public.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 40 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications for one or more of the aforementioned tasks, your financial expectations and the earliest date of your availability, via e-mail to a committee at tender20220201@documentfoundation.org no later than March 31, 2022.

Applicants who have not received feedback by April 29, 2022 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until March 24, 2022. Questions and answers will be made public in a collected and anonymized form.

Update on tender to implement Curl based HTTP/WebDAV UCP (#202104-01)

In April last year, The Document Foundation posted a tender to implement Curl based HTTP/WebDAV UCP in LibreOffice. Now we have an update from allotropia, the company that won the tender:


This is to report the recent activities we performed.

  • We held a presentation during this year’s FOSDEM conference, giving an in-depth account of what we did, why we did it, and the problems we’ve met. Both video and slides are available, licensed as CC-BY 2.0 BE currently.
  • We’ve accompanied that with a blog post, going into detail.
  • Additionally, we’ve fixed a number of additional bugs; all told, we believe the implementation is now definitely production-ready (and likely quite better than the old ones).

All included, we provided a total of 126 commits, that went into this development work (there were also 7 community contributions), which includes the previous work by Giuseppe. You can see the full list from the core repo, via:

git log --grep='webdav-curl'

…or see this link. From our side, this now concludes work on this tender. We hope the services rendered were satisfactory, and both The Document Foundation and the LibreOffice users will enjoy the new implementation!


LibreOffice ecosystem interview: Thorsten Behrens at allotropia

LibreOffice is developed by a worldwide community, made up of volunteers, certified developers and companies in the wider ecosystem. Today we’re talking to Thorsten Behrens, who serves on The Document Foundation’s Board of Directors and works for allotropia…

Tell us a bit about yourself!

I’m Thorsten Behrens, living in Hamburg, Germany. With a great team of LibreOffice experts, I run allotropia software GmbH, which specialises in Open Source and Open Standards consulting and products.

The code and the project itself had me involved from 2001 on (then still called OpenOffice.org).

What does allotropia provide in the LibreOffice ecosystem?

We strive to be a full-service shop for all things LibreOffice. Just to list a few examples, we have helped companies to train their internal development team alongside a LibreOffice migration; we’re regularly developing bug fixes and new features for the office suite, and we’re also maintaining a number of extensions for the benefit of the entire ecosystem (e.g. the LibreOffice Eclipse development plugin, the Edit in LibreOffice Nextcloud plugin, or the LibreOffice Starter Extension).

Additionally, we’re offering LTS (long-time supported) versions of LibreOffice, via our partner CIB software GmbH. In the same vein, we also maintain customer-specific LTS branches, in case a larger organisation has decided to stick with one particular version of the suite.

And not to forget, allotropia also sponsors Michael Stahl, one of the editors of the OpenDocument Format, to keep the ODF standard evolving and keeping up with all the new LibreOffice features that need saving to disk.

What has allotropia been working on in LibreOffice 7.3?

Besides lots of smaller additions for LibreOffice 7.3, one of the highlights we’re currently working on is a port of LibreOffice to directly run in a browser – without any need for a server installation. We’re provisionally calling it LOWA – LibreOffice WebAssembly, since WebAssembly (WASM) is the underlying browser technology this is using.

 

Another feature we’re quite proud of, is the rewrite of LibreOffice’s old network file access code. That work was sponsored by The Document Foundation, has landed in 7.3, solved a number of long-standing problems, and at the same time got rid of over 17,000 lines of (pretty old) code.

Looking beyond this release, what else are you planning to do?

There’s just a ton of work still to do, to make the LOWA LibreOffice really usable, so that will keep us pretty busy this year. Beyond that, we’re always eager to help making the overall developer experience for LibreOffice better – that helps us too, in our daily work! Along those lines, there’s another project currently underway, called CoverRest, to bring better and nicer integration with code coverage, static analysis and general code checking into the LibreOffice development process.


Find out more