Join the LibreOffice Development Workshop at our upcoming conference!

LibreOffice Conference 2024 logo

Hossein Nourikhah, our Developer Community Architect, writes:

Learn LibreOffice development and boost your software skills including bug management, coding, version management using Git, code review using Gerrit and much more! Our workshop titled “Introduction to LibreOffice development” at the LibreOffice Conference 2024 is a great opportunity for all those who love getting involved with a world wide open source community.

Please register soon!

This year, the LibreOffice Conference 2024 will be held in Luxembourg. Alongside the main conference tracks, a development workshop will be held to give the people hands-on experience to LibreOffice development.

The workshop will be held on 11 and 12 October 2024, at the same place as the LibreOffice Conference in Luxembourg. If you like to be with us, please register here:

Learn From Experienced LibreOffice Contributors

Many people from The Document Foundation (TDF), the charity behind LibreOffice will present different topics in the workshop. Also, other contributors and also experienced developers from the ecosystem companies will participate.

We are excited to be able to see you in person in Luxembourg to share practical knowledge about LibreOffice and open source development model with you.

Workshop Topics

These are the topics of the workshop. For more information, please refer to the workshop page at the conference website:

Day One: 11 October 2024

Morning:

1. Bug reporting and triaging (1 hour)
Presenter: Xisco Faulí

2. Git Basics (1 hour)
Presenter: Michael Weghorn

3. Gerrit for code reviews (1 hour)
Presenter: Xisco Faulí

4. Introduction to problem solving techniques (30 minutes)
Presenter: Michael Meeks, Collabora Productivity

Afternoon:

5. Building LibreOffice from source code (3 hours)
Presenter: Christian Lohmaier

6. Introduction to LibreOffice Writer Development (1 hour)
Presenter: Miklos Vajna, Collabora Productivity

Day Two: 12 October 2024

Morning:

7. LibreOffice Documentation (1 hour)
Presenter: Olivier Hallot

8. LibreOffice automation via scripting (BASIC, Python) (3 hours)
Presenter: Rafael Lima / Alain Romedenne / Jean-Pierre Ledure

Requirements

The workshop is based on “bring your own device”. For the scripting, you will need a working LibreOffice installation. You will need to install some development tools and libraries to be able to compile LibreOffice from source code.

But, we will be there in-person at the workshop to help you install the requirements step by step!

What Can You Expect?

After successful participation in the workshop, you can gain better understanding the open source development model, bug reporting and triaging, get started with Git and Gerrit, and also build and run your modified LibreOffice from source code. You will also understand the basic structure of the LibreOffice source code, which will help you to start LibreOffice development.

Click here to register

Community Member Monday: Khushi Gautam

Khushi Gautam

Tell us a bit about yourself!

Hi, I am so glad to be a part of this community. I live in Delhi, India. Currently, I am a software developer serving at Amazon MiniTV.

I have experience in both frontend and backend development for mobile and web applications. I graduated a year ago with a Bachelor of Technology in Computer Science and Engineering from Harcourt Butler Technical University.

I’ve been involved in the open source community since my first year of undergrad, starting with AnitaB, and then moving on to ODK-X. My major contributions have been to LibreOffice.

In my free time, I love writing articles, trying out different cuisines, and meeting new people. I also enjoy traveling and exploring new places with my friends and family.

What are you working on in the LibreOffice project right now?

I’m currently working on fixing bugs in my Outreachy project, “Sidebar Deck for Quick Find”, alongside Google Summer of Code students to make further progress. This feature was something I created during my internship at LibreOffice.

Why did you choose to join the project, and how was the experience?

LibreOffice includes applications like Writer, Calc, Impress, Draw, and Base, and is the default suite for Linux. I started my journey with LibreOffice as an Outreachy applicant, which was my first time contributing to LibreOffice and interacting with other developers on the IRC channel. After researching various organizations and projects, I chose to contribute to the “Sidebar Deck for Quick Find” project because it aligned with my skills as a C++ developer.

LibreOffice screenshot: Sidebar Deck for Quick Find

Weekly mentoring chats with Ilmari Lauhakangas were incredibly helpful during the contribution phase. He guided me in setting up my project locally and introduced me to starter tasks, which made me more comfortable with the project and the organization. I also learned to operate Gerrit and successfully made my first patch.

Later, I was selected as an Outreachy intern to work on the “Sidebar Deck for Quick Find” project. My mentors, Jim Raykowski and Heiko Tietze, were instrumental in making the project successful. I was thrilled when my patch for the feature was merged after three months of hard work.

My experience with LibreOffice was enriching, as I got to work closely with the entire codebase, something I always wanted to do. The community is very supportive, and I’m looking forward to meeting them in person at the upcoming conference.

Anything else you plan to do in the future?

These days, I’m aiming to join a multinational corporation as a backend developer and hope to achieve this goal soon. I also aspire to join LibreOffice as a developer. Even though I’m already contributing, I love that open source allows me to continue working freely. Additionally, I plan to create a wiki for the feature I’ve developed and take ownership of presenting it to the world upon its launch.

What does LibreOffice really need?

I would say: more developers and contributors like me!

Big thanks to Khushi for all her contributions! Everyone is welcome to join our community, build new skills, and help to make LibreOffice even better for the whole world 😊

LibreOffice development in 2023 – TDF’s Annual Report

TDF Annual Report banner

In 2023, 11,272 commits were made to the LibreOffice source code, from 253 authors, in 21 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 2023 – 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

Google Summer of Code (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 2023, five students developed features and updates in the software. They were mentored by developers from the LibreOffice ecosystem and TDF. Let’s go through them…

  • Improving OpenPGP encryption experience in LibreOffice by Ahmed Gamal Eltokhy: 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.
  • Selecting tests to run on Gerrit patches based on machine learning by Baole Fang: 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.
  • Search Field in Options by Bayram Çiçek: Searching through options is standard in applications these days, so it is about time LibreOffice learned how to do it. This makes it much easier for end users to find specific options and settings, by simply typing a few letters, rather than having to navigate though a large set of menus and widgets.

Screenshot of search field in LibreOffice options dialog

  • Convert Writer’s Java UNO API Tests to C++ by Dipam Turkar: The idea here was to reduce the dependency on Java during the LibreOffice build process. Half of the tests for Writer were converted.
  • Add APNG import/export support by Paris Oplopoios: 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.

For the full details about the students’ work, see this post. And thanks to Andreas Heinisch, Thorsten Behrens (allotropia), Heiko Tietze (TDF), Hossein Nourikhah (TDF), Tomaž Vajngerl (Collabora), Xisco Faulí (TDF), Stéphane Guillou (TDF) and Christian Lohmaier (TDF) for mentoring the students.

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

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.