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!

Welcome Khaled Hosny, new Developer at TDF

Khaled Hosny

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 a new Developer, focusing on improving LibreOffice’s language support. This will help to make the software more accessible to hundreds of millions of people around the world.

The new Developer is Khaled Hosny, so let’s hear from him…


Tell us a bit about yourself!

I’m a software developer based in Cairo, Egypt. My area of expertise is centered around written language; fonts, text layout in general and so-called “complex” text layout in particular (I don’t like how some text layout is signaled out as being complex – all text layout is complex, but some complexity is obvious right away while others are more subtle), PDF, and so on.

I have been involved with FOSS since 2006. I started with doing Arabic localization, then Arabic fonts, and a few years later I started programming to fix Arabic bugs (I think my first patch was to fix a right-to-left UI issue for Sugar, the desktop environment for the OLPC XO laptop, if anyone still remembers it). I contributed and continue to contribute to many FOSS projects – Firefox, GNOME, HarfBuzz, XeTeX, LuaTeX, to name some.

I got involved with LibreOffice in early 2011, and I have been lurking around since then.

I’m also a type designer and font engineer. I have designed and built a few Arabic and math fonts (I can’t read much of the math notation – I was taught math in Arabic notation and I hardly remember any of that either, but I’m fascinated by the 2D nature of math typesetting).

Funnily enough, I had no formal training in any of this, I actually graduated from medical school and worked as a doctor for few years before quitting to focus on a software career (I was already deep into localization and fonts while still at medical school).

Improved glyph positioning of artificial italic text in LibreOffice 7.5

Improved glyph positioning of artificial italic text, especially combining marks – implemented by Khaled in LibreOffice 7.5

 

What’s your new role at TDF?

I’m joining the team as a LibreOffice developer focusing on areas of right-to-left and the aforementioned so-called “complex” text layout. These are some of the underserved areas of LibreOffice development while disproportionately affecting a very large group of (existing and potential) users.

I hope my role at TDF will help to widen the LibreOffice community, attract more people to it, and make it accessible to more users.

What will you be working on?

I will be fixing bugs and implementing features related to right-to-left text layout and user interface issues which affect languages like Arabic, Hebrew, Persian, and Urdu, as well as text layout issues involving writing systems that require more involved text layout, like Arabic script, and the Indic group of scripts.

I will be also working on fonts, PDF export (text extraction from PDF is major pain point for many scripts), and related areas.

I’m also looking forward to mentoring new developers interested in working on any of these areas.

Do you have any tips for new developers, who’re eager to get involved with the LibreOffice codebase?

LibreOffice is a large code base and can be overwhelming, so try to read any existing documentation as much as possible, don’t be afraid to ask for help, and in general be patient.


We’re really happy to have Khaled on board! Follow this blog and our Mastodon and Twitter accounts for updates on his work – plus more news from the LibreOffice community.

Projects selected for LibreOffice in the Google Summer of Code 2023

GSoC logo

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

  • Ahmed Gamal Eltokhy – Improve PGP/GPG encryption support: the project aims to enhance the experimental PGP/GPG encryption support in LibreOffice by addressing several shortcomings, such as the need to select recipients anew for every save and the difficulty in finding the right keys. The project will also focus on developing smart searching, traversing, and filtering capabilities for large keyrings, as well as adding asynchronous querying for improved performance.
  • Dipam Turkar – Convert Writer’s Java UNO API tests to C++: The unit tests for Writer’s UNO API which were forked from OpenOffice.org are still implemented in Java, which in the end test C++ code making it hard to debug them. LibreOffice has had a long term plan to move them to C++. The project will also focus on fixing the unit tests for errors, if any.
  • Baole Fang – Select tests to run on Gerrit patches based on machine learning: the goal is to implement a machine learning based test selection method to select tests to run in the continuous integration chain to reduce testing load.
  • Bayram Çiçek – Search field in Options: LibreOffice has a large and growing number of options and sometimes it is not easy to find the right one by searching them one by one. The goal is to implement a search field/functionality to the “Tools > Options…” dialog, so that we can find the right options easily.
  • Paris Oplopoios – Add APNG import/export support: APNG (Animated PNG) is an animated format backwards compatible with PNG. It is supported by all the major browsers and has benefits over GIF such as partial transparency and support for more colors. The goal of this project is to integrate APNG support in LibreOffice, which had been requested for quite some time.

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 (allotropia); Andreas Heinisch; Heiko Tietze, Xisco Faulí, Stéphane Guillou, Hossein Nourikhah and Christian Lohmaier (The Document Foundation).

Between August 28 and September 4, 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.

We are looking for tender ideas and proposals to improve LibreOffice

One of the goals of The Document Foundation and the community it represents is to improve LibreOffice to make it even more competitive with other office suites. One of the tools to achieve this goal are tenders for the development of specific features, such as the implementation of OpenDocument Format version 1.3, the standard format used by LibreOffice and other applications.

Until now, tenders have followed internally developed rules, which have had the merit of getting us where we have got, i.e. very high – but for the reason that we got very high, they were no longer adequate to guarantee a further step forward, given the current size of The Document Foundation and the tender projects. Also, with the arrival of two developers, our possibilities wrt. running and overseeing tenders have emerged.

As of today, the tenders will follow new rules defined by legal experts that will allow us to be aligned with the best practices of not-for-profit foundations, and to further grow LibreOffice and LibreOffice Technology, which is already the most flexible and high-performance platform for individual productivity, and can thus evolve further for the benefit of users.

To grow, we need the ideas and proposals of community members and users. Everyone is invited to send in their ideas! Beware, however, because we need contributions that allow us to further evolve LibreOffice in the area of office suites, an extremely competitive market that today is worth nearly 30 billion dollars.

So, we ask you to make an effort and avoid submitting ideas and proposals that you, individually, would like to see implemented because they fit your idea of an office suite, but to engage with other members of the community and other users and to think big, because LibreOffice is big and needs to grow even bigger.

Talk to the community, and especially to developers, because they can help you structure your ideas and proposals in such a way that they are first accepted, then evaluated and finally voted on by the members of the Engineering Steering Committee, who will be decisive from a technical point of view, before being approved by the Board of Directors.

Also, because the proposals must respect the following structure:

Cost Estimate: x week(s)
Contact: Anakin Skywalker
Reviewers: Luke Skywalker
Short Description: …

It is clear that only the contribution of one or more developers makes it possible to calculate the cost in terms of development weeks, and to describe the functionality in such a way that it is comprehensible to those who must assess its feasibility, place it in the context of a complex development process such as that of LibreOffice, and prioritise it. Cost estimates can also be added by other parties at a later stage of the process, but proposals without a cost estimate cannot be accepted for final consideration.

Before you make your proposal, you can consult the existing ones on the wiki to get an idea of what the Engineering Steering Committee expects from all of you: https://wiki.documentfoundation.org/Development/Budget2023

The deadline for proposals is Sunday, May 28, at 1800 (UTC+2, Berlin time). Any proposals made after this date will as a general rule not be considered in this round of evaluation, unless very exceptional circumstances exist.

As soon as the evaluation and ranking of proposals by the Engineering Steering Commitee begins, we will announce the details, including the “live” ranking spreadsheet, in a follow-up blogpost.

When you are ready, register and add your text. We look forward to your contributions! Again, everyone is welcome to contribute, and we look forward to your ideas!

Want new features in LibreOffice? Help to fund developers!

Andreas Heinisch

Every major release of LibreOffice includes new features, thanks to our community of volunteer and ecosystem developers. But what can you do, if you want a new feature in LibreOffice but don’t have the technical know-how to implement it?

If you’re in a large company, you can engage with the LibreOffice ecosystem to get professional support. Or if you’re a regular end user, you can support individual developers for their work. For instance, Andreas Heinisch recently improved LibreOffice’s AutoText dialog with pre-filled text and a shortcut name, based on selected text, like this:

AutoText dialog

Andreas works on LibreOffice in his spare time, and support from users via his Patreon page helped him to implement this. He said:

If users want me to fix a certain issue, they can fund me to fix a bug or implement an enhancement, like I did for a fire department in Italy (create Table of Contents from the current chapter level only), or some small changes for TDF (fixing a redraw bug in Calc, and the renaming of macro libraries).

Andreas has worked on 173 other fixes and improvements, as you can see on the bug tracker. Many thanks for all his work! And to other developers in our community: you too can consider setting up a Patreon page too (or similar system), to get financial support for your work, and provide a way for end users to fund the improvements they want.