Introduction to LibreOffice Development
11 and 12 October 2024
This is the program for the 2 day LibreOffice conference 2024 workshop in Luxembourg, focusing on LibreOffice development. Targeted audience is the undergraduate computer and IT students or anyone who knows programming, and now wants to become familiar with a large scale real world software project.
The program is based on the experiences from the previous hackfests and workshops dedicated to the LibreOffice development in the universities across the world. The latest was held in Bucharest in parallel to LibreOffice conference 2023. It was a 3 day development workshop was held by presenters from The Document Foundation (TDF) staff, university faculty members and other experts from ecosystem companies.
After successfully participating this workshop, participants with will be able to collaborate in LibreOffice development. Those who are not programmers, can participate in quality assurance activities, and those who have some C++ programming knowledge can start LibreOffice development by submitting small patches.
The overall goal is to help the students become familiar with an international community of open source / free software, the LibreOffice community, and enable them to work alongside people around the world to improve and extend LibreOffice, the free and powerful office productivity suite.
The sessions which will be held in the 2-day program. Each day is presented in two parts, in the morning from 9-13, and in the afternoon from 14-18.
For the first part, basic computer knowledge and skills would be sufficient. Participants should be able to install LibreOffice (portable versions can also be used), create accounts, work with LibreOffice, and report/triage bugs. Basic information about IRC/Wiki/mailing lists will be given during the sessions.
For the LibreOffice build session, the required knowledge is more. Having worked with a programming language is needed.
11 October 2024, 9:00–10:00CEST
Presenter: Xisco Faulí, TDF staff, quality assurance Engineer
LibreOffice uses Bugzilla to track the software bugs. In this session, various things around bug reporting and triaging will be discussed. Students will have the time to have experience of reporting and triaging bugs in Bugzilla.
11 October 2024, 10:00–11:00 CEST
Presenter: Michael Weghorn
In this session, students will learn basic git commands. The knowledge will be beneficial for the next sessions of the workshop, but it can be beneficial for other software projects as well, as version control systems are in use in many software projects today.
11 October 2024, 11:00–12:00 CEST
Presenter: Xisco Faulí, TDF staff, quality assurance Engineer
In this session, basics of code review is discussed. Students will be able to work with the LibreOffice Gerrit. In this session, the importance of clean code, and the role and the process of code review will be discussed.
This session is also useful for any other software project, as code reviews are very common today to ensure the quality of the code.
11 October 2024, 12:00–12:30CEST
Presenter: Michael Meeks, Collabora Productivity
In this session, it will be discussed how to get into the complex problems with problem solving techniques. These ideas will be useful when dealing with the large code base of LibreOffice that has evolved for many years.
11 October 2024, 14:00 - 17:00 CEST
Presenter: Christian Lohmaier, TDF staff, release engineer
This session is dedicated to building LibreOffice from the sources. For this session, preparations are needed to speed up the process as downloading and compiling can be time consuming. For example, having source code and requirements downloaded, or preparing virtual machines with the prerequisites and LibreOffice source code can speed up the build process.
Usable resources for this path are: Getting Involved in LibreOffice Development.
11 October 2024, 17:00–18:00 CEST
Presenter: Miklos Vajna, Collabora Productivity
In this session, LibreOffice Writer development will be discussed. Tools, data structures, the UNO API alongside various document formats including RTF, doc, ODT and OOXML will be discussed. Also, UI and other aspects of Writer are taken into account. The goal is to provide a starting point for those who are interested in LibreOffie Writer development, in order to fix bugs or implement new features.
We expect that the participants have completed at least some programming course before. LibreOffice BASIC is something that should be easy to understand for those people, and is not counted as a prerequisite.
12 October 2024, 9:00–10:00 CEST
Presenter: Olivier Hallot, TDF staff, Documentation Coordinator
In this session, the documentation for software, and its role in software development will be discussed.
12 October 2024, 10:00 - 13:00 CEST
Presenter: Prof. Dr. Rafael Lima, faculty member, Universidade Tecnológica Federal do Paraná (UTFPR) / Alain Romedenne / Jean-Pierre Ledure
In this session, one only needs a working installation of LibreOffice. Two different scripting language are suggested in this path: Basic and Python.
Usable resources for this session are: LibreOffice BASIC programming guide and LibreOffice help (ScriptForge parts).
The focus in this session will be on running different examples, and writing various scripts that show the different aspects of LibreOffice and its automation capabilities. ScriptForge (Python) can be a good choice here, as it provides a modern API that can be easily used, but it should be noted that it is not as feature complete as the UNO API.