Projects selected for LibreOffice in the Google Summer of Code 2024

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

  • Adam Seskunas – More and better tests: the project aims to add automated tests for fixes related to document export as well as converting tests written in Java to C++.
  • Ahmed Hamed – Improvement to the Functions Deck in LibreOffice Calc: the functions deck in the Sidebar will get a better search, an editor area with syntax highlighting and debugging capabilities among other enhancements.
  • Aung Khant – Improving user experience around windows: remembering the size and position of windows will be made consistent and Start Center will be enhanced.
  • Devansh Varshney – Adding native support for histogram chart and its variations: this project will bring support for multiple chart types introduced in Microsoft Office 2016.
  • Mohit Marathe – Comments in Sidebar: after this project is completed, comments can be viewed and edited in the Sidebar in addition to the document margin.
  • Printf Debugging – LibreOffice Theme: the goal of this project is to increase flexibility in colouring the LibreOffice interface.
  • Ritobroto Mukherjee – Cross platform .NET bindings for UNO API: LibreOffice will get support for .NET 8 and an additional API that will feel more natural to .NET developers.
  • Venetia Furtado – LUA UNO Language Binding in Libreoffice: after this project is completed, you will be able to control LibreOffice using the LUA programming language.
  • Bonus project under Linux Foundation: Biswadeep Purkayastha – Desktop integration: CPDB support for the LibreOffice print dialog: Common Print Dialog Backends allow the separation of the user interface from printing technologies. The idea in this project is to bring CPDB support up to date.

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 (Collabora); Thorsten Behrens, Stephan Bergmann and Sarper Akdemir (allotropia); Rafael Lima; Andreas Heinisch; Heiko Tietze, Xisco Faulí, Michael Weghorn and Hossein Nourikhah (TDF).

Between August 19 and 26, 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 Help files have now a much better content editor

The LibreOffice Help documentation project members have now a much better Help editor, thanks to Juan José Gonzales (JJ) of the TDF team.

Based on the editor originally created by Olivier Hallot and Mike Saunders, the new editor was greatly improved by JJ fixing many usability issues, adding a handy toolbar to the editor and automating some tasks for rendering the help page.

The Help editor renders the page in a way to assist the content editor in dealing with the several specific XML tags used in the Help pages. It displays the resulting page with information on links, embeds and other information, including switches that changes contents based on the system and the application.

The editor is also capable to perform checking, notably XML conformity, DTD compliance and best of all, paragraph’s ID uniqueness, which is the most common mistake in writing Help pages.


Content editors can access the editor at the address here, and source code for the Help editor is available for download and improvements on this page.

LibreOffice and Google Summer of Code 2023: The results

Google Summer of Code logo

This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC), a global program focused on bringing more developers into free and open source software development. Five projects were finished successfully. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 24.2 in early February 2024!

You can experiment with the new features by using daily builds and report any problems in our bug tracker.


Improving OpenPGP encryption experience in LibreOffice by Ahmed Gamal Eltokhy

Mentors: Thorsten Behrens (allotropia), Heiko Tietze (TDF), Hossein Nourikhah (TDF)

LibreOffice can encrypt documents using OpenPGP public key cryptography by making use of external applications such as gpg4win, GPGTools and gnupg. Thanks to Ahmed’s work, it is now easier to manage and search keys and faster to navigate large keyrings.

Learn more about the encryption experience improvements in the final report.


Selecting tests to run on gerrit patches based on machine learning by Baole Fang

Mentors: Thorsten Behrens (allotropia), Stéphane Guillou (TDF), Christian Lohmaier (TDF)

This project was inspired by Mozilla’s work on Firefox’s continuous integration. There is now a system in place that makes predictions on the test failure possibility of submitted code changes and decides the most efficient way to build the changes. As this kind of machinery is very new to everyone, we expect many tweaks to follow.

Learn more about the machine learning project in the final report.


Search Field in Options by Bayram Çiçek

Mentors: Andreas Heinisch, Heiko Tietze (TDF)

Screenshot of search in options

Searching through options is pretty standard in applications these days, so it is about time LibreOffice learned how to do it!

Learn more about the search feature in the final report.


Convert Writer’s Java UNO API Tests to C++ by Dipam Turkar

Mentors: Tomaž Vajngerl (Collabora), Xisco Faulí (TDF)

The idea here was to reduce the dependency on Java during the LibreOffice build process. Half of the tests for Writer were converted.

Learn more about the test conversion project in the final report.


Add APNG import/export support by Paris Oplopoios

Mentors: Tomaž Vajngerl (Collabora)

APNG is short for Animated Portable Network Graphics. It is not an official extension to PNG, but nevertheless has broad support in web browsers these days. Thanks to Paris’s work, LibreOffice now fully supports this format.

Learn more about the APNG feature in the final report.

Wrapping up

Many thanks to all contributors who spent their summer time improving LibreOffice. You are awesome! And special thanks also to the mentors who always put so much love and energy into these tasks. That’s what makes LibreOffice rock.

Now we are looking forward to next year’s GSoC. If you are interested, why not prepare early? Learn more at out wiki page where some ideas are listed.

Participating in GSoC is a great way to build your skills, and show future employers what you’re capable of!

Welcome Michael Weghorn, new Developer at TDF

Michael Weghorn

The Document Foundation (TDF) is the non-profit entity behind LibreOffice, providing infrastructure and support for the community that makes the suite. Recently, TDF decided to expand its small team with two new Developers – the first (Khaled Hosny) focusing on “complex” text layout languages. Today, we welcome our second Developer, Michael Weghorn, who will initially focus on accessibility improvements. Let’s hear from him…


Tell us a bit about yourself!

I am from Germany, and have been living in Munich since moving here for my studies in computer science about 12 years ago.

I am a free and open source software enthusiast.

Before coming to TDF, I was working for the City (administration) of Munich, first being part of their Linux client team – and since 2018 with the main focus on LibreOffice development. I am also a member of the LibreOffice Engineering Steering Committee (ESC).

Besides my involvement in LibreOffice, I have also contributed a few changes to other open source projects – mostly fixes for issues that I ran into myself as a user. The possibility to do this is certainly one of the many benefits of open source software.

Besides being an open source software developer, I’m involved in a Christian church and like meeting friends, sports and reading.

You’ve been in the LibreOffice project for a while – what have you been working on so far?

I have been involved in the LibreOffice project since 2014, mostly in QA (Quality Assurance) and development.

The first code change I was working on had to do with the selection of the Java runtime on LibreOffice startup, and I was also translating German comments in the source code back then.

Since then, I have mostly been working on fixing bugs in different areas of LibreOffice. The main areas that I have been focusing on are Qt/KDE integration, the Android version and accessibility.

What’s your new role at TDF, and what will you be working on?

I’m joining TDF as a LibreOffice Developer, focusing on accessibility.

Accessibility is quite a broad topic, ranging from the accessibility of LibreOffice’s user interface to the accessibility of the documents that the program creates.

From what I have seen so far, LibreOffice has a good basis regarding accessibility. It’s also great to see recent contributions by others to further improve accessibility (eg improvements for document accessibility and PDF/UA export, the accessibility checker and accessibility on macOS), but there are certainly also areas that will benefit from getting some more attention.

My initial focus will probably be fixing problems encountered in the user interface when using LibreOffice with a screen reader.

From my experience so far, this often not only involves making changes to LibreOffice itself, but also to the corresponding screen reader or elsewhere in the accessibility software stack. Therefore, cooperation with other projects is also essential.

How can all users of LibreOffice help out?

There are different ways to get involved – for example:

  • Join the LibreOffice accessibility mailing list
  • Report accessibility issues in the Bugzilla issue tracker and set the “accessibility” keyword for accessibility-related bugs, so developers become aware and can fix them
  • Confirm already existing bug reports and add more helpful information to them
  • Test development versions of LibreOffice with assistive technology (and report bugs), so issues can be fixed before a new version is released
  • If you’re a developer: help with fixing reported bugs

There’s also an accessibility page in the wiki, which contains some more information and will be further updated in the future.


Great to have Michael on board! 😊 Follow this blog and our Mastodon and Twitter accounts for updates on his work – plus more news from the LibreOffice community.

Five ways we can make LibreOffice and Thunderbird work better together

LibreOffice and Thunderbird logos, shaking hands

LibreOffice doesn’t include an email program, but there are many excellent free and open source software clients that work well alongside it. One prominent example is Mozilla Thunderbird – a sister project to the Firefox web browser.

We know that many people use LibreOffice and Thunderbird as part of their daily workflows – so how can we make them work better together? We reached out on social media to hear from our users – on Mastodon and Twitter (and the Thunderbird project posted on their Mastodon and Twitter accounts too).

Thanks a lot to everyone who responded! There were many great ideas, and here are our top five:

Jay Robbie:

A consistent UI/UX would help familiarize newcomers to both tools more quickly…. possibly a unified Settings area if you were to combine the functionality of both apps. Include a Thunderbird app launcher in the LibreOffice dashboard.

Briani Davide:

Link documents to calendar events or tasks, enabling quick access to relevant files during meetings or when working on projects and create calendar events or tasks directly from within LibreOffice.

this.ven:

What about a better integration of the viewing, editing and exporting capabilities from LibreOffice into Thunderbird for files send via mail? For example, an ODT file can be viewed and edited directly in Thunderbird (without leaving the window) and exported as PDF file.

Johannes:

For me it would help if both would have the same shortcuts for styling the text. For example Ctrl+1 for Header1 etc.

Fabián Valverde:

Being able to insert from Thunderbird contacts into LibreOffice while writing, like when you type “@” on Twitter…

So, let’s make these improvements happen! LibreOffice and Thunderbird are community-driven open source projects, so the more help we get, the better. On our side, we have a meta bug tracking interoperability and integration, and this page shows how to get involved. If you want to help out in the Thunderbird project, see this page. (And if you’re a business running LibreOffice and Thunderbird, please consider funding developers to work on the features you need.)

Thanks in advance for all help – let’s make these apps rock together 😊

Development and Quality Assurance: TDF’s Annual Report 2022

Annual Report banner

In 2022, 11,769 commits were made to the LibreOffice source code, from 218 authors, in 10 repositories. We also took part in the Google Summer of Code, to support student developers

(This is part of The Document Foundation’s Annual Report for 2022 – we’ll post the full version here soon.)

Infrastructure for developers

TDF provides infrastructure for the developer community to continue their work on LibreOffice. These include Git and Gerrit, to make changes to the source code, along with Bugzilla (to track bug reports and enhancement requests), a wiki (to document changes), and Weblate (for translations).

Most technical discussions took place on the developer mailing list and IRC channel, with the latter providing more real-time communication. Members of the Engineering Steering Committee met weekly, to discuss the most pressing issues with the codebase.

Google Summer of Code (GSoC)

GSoC logo

GSoC is an annual programme in which student developers of free and open source software projects receive stipends from Google for their work. LibreOffice takes part in GSoC every year, and in 2022, two students developed features and updates in the software. Let’s go through them…

Hannah Meeks – VBA Macros – Tests and missing APIs: LibreOffice supports VBA (Visual Basic for Applications) Macros, 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. Hannah described her results:

I wrote lots of macros tests which was the main aim of the project and found lots of bugs/areas to fix, so my summer was a success! I also really enjoyed looking into the core and fixing some of these problems. Lots of my tests are still broken in LibreOffice so need fixing – for example, I found that there seem to be problems with new lines being created in Microsoft Word that are not created in LibreOffice Writer.

The second project was by 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 was to look at how SVGZ is implemented and extend that to other formats (EMF, WMF). The extended goal was to implement support for compressing in addition to extracting.

Paris got off to a flying start with the originally defined goal, which was to add import functionality for Z compressed EMF and WMF graphics and thus to improve compatibility with Microsoft documents. In the end, he also implemented exporting of WMZ, EMZ and SVGZ graphics, replaced homegrown PNG export code with one that uses libpng and added automated tests for PNG export in addition to tests for the Z compressed formats.

For more details about the students’ great achievements, see the video below and the results post – and thanks to Tomaž Vajngerl and Miklos Vajna (Collabora) and Thorsten Behrens (allotropia) for mentoring the students.

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.


Quality Assurance (QA)

In 2022, the QA team triaged thousands of bugs, bisected hundreds of regressions, and answered questions from countless bug reporters. As one of the most visible groups directly responding to end users, the QA team must be nimble and able to adapt to changes. In addition, it must deal with specific requests for help from other teams.

The QA team meets regularly on IRC on the #libreoffice-qa channel, which is the best medium for discussing bugs and regressions. The IRC channel provides an excellent opportunity to remain in close contact with team members, and to tutor new members in the art and skill of LibreOffice QA. This is bridged to the Telegram group.

During 2022, 5,966 bugs were reported by 2,650 users, which means 115 new bugs were reported every week on average. The QA team prepared monthly reports about their activity and posted on the QA blog.

Top 10 bug reporters

  1. Telesto (288)
  2. Eyal Rozenberg (207)
  3. Mike Kaganski (165)
  4. Xisco Faulí (126)
  5. Gabor Kelemen (111)
  6. Rafael Lima (108)
  7. sdc.blanco (104)
  8. Regina Henschel (93)
  9. NISZ LibreOffice Team (93)
  10. Hossein (59)

Triaging

During 2022, 6,100 bugs were triaged by 391 people. Here are the top 10 bug triagers:

  1. Buovjaga (675)
  2. Dieter (462)
  3. Heiko Tietze (445)
  4. Xisco Faulí (354)
  5. Timur (327)
  6. raal (303)
  7. Julien Nabet (276)
  8. m.a.riosv (268)
  9. Rafael Lima (218)
  10. Mike Kaganski (207)

Bibisecting

Also, during 2022, the QA team performed 622 bibisects of regressions by 32 people. These are the top 10 bisecters:

  1. raal (144)
  2. Xisco Faulí (140)
  3. Timur (63)
  4. Aron Budea (57)
  5. Buovjaga (40)
  6. Stéphane Guillou (stragu) (24)
  7. Timur (20)
  8. Gabor Kelemen (19)
  9. Mike Kaganski (19)
  10. Telesto (18)

Like what we do? Support the LibreOffice project and The Document Foundation – get involved and help our volunteers, or consider making a donation. Thank you!