Introduction to LibreOffice Development
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-17.
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.
For the LibreOffice build session, having worked with a programming language is needed.
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.
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.
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.
Presenter: To be announced
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.
Presenter: To be announced
In this session, the structure and modules of LibreOffice code is discussed. An overview of some of the most important modules are provided. The goal is to provide an overview of the code and its architecture to gain better understanding of the huge code base of LibreOffice. This section is helpful for the next sessions which need some basic understanding of the overall LibreOffice code architecture and modules.
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.
Presenter: Olivier Hallot, TDF staff, Documentation Coordinator
In this session, the documentation for software, and its role in software development is discussed.
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.