Welcome to The Document Foundation Planet

This is a feed aggregator that collects what LibreOffice and Document Foundation contributors are writing in their respective blogs.

To have your blog added to this aggregator, please mail the website@global.libreoffice.org mailinglist or file a ticket in Redmine.


Thursday
25 July, 2024


face

In the previous blog post, I provided a brief introduction to LibreOfficeKit API which one can use for accessing LibreOffice functionalities in an external application. Here I discuss in detail how to use LibreOfficeKit for converting an ODT to PDF, or from/to virtually any other format that LibreOffice supports.

Needed C++ Headers

For this example, you only need one header: LibreOfficeKit/LibreOfficeKit.hxx. Include it, and that is enough. This header will be available in the future versions of LibreOffice community, but for now, you may need to download LibreOfficeKit headers folder from LibreOffice core source code, and put it alongside your source code.

C++ Example

The example is relatively short. Here it is:

#include <iostream>
#include <LibreOfficeKit/LibreOfficeKit.hxx>
int main(int argc, char *argv[])
{
    if(argc < 2)
    {
        std::cout << "Usage: lokconvert  \n";
        return 1;
    }
    const char *input = argv[1];
    const char *output = argv[2];

    lok::Office * llo = NULL;
    try
    {
        const char lo_path[] = LOROOT "/program/";
        llo = lok::lok_cpp_init(lo_path);
        if (!llo) {
            std::cerr << "Error: could not initialize LibreOfficeKit\n";
            return 1;
        }

        lok::Document * lodoc = llo->documentLoad(input, NULL /* options */);
        if (!lodoc) {
            std::cerr << "Error: could not load document: " << llo->getError() << "\n";
            return 1;
        }

        if (!lodoc->saveAs(output, "pdf", NULL /* options */))
        {
            std::cerr << "Error: could not export document: " << llo->getError() << "\n";
            return 1;
        }
    }
    catch (const std::exception & e)
    {
        std::cerr << "Error: LibreOfficeKit exception: " << e.what() << "\n";
        return 1;
    }

    std::cerr << "Success!\n";
    return 0;
}

The example is simple. Input and output file names are passed via command line arguments, and are received via argv[1] and argv[2], if argument count, argc, is at least 3. First one is the program name itself, which we don’t use here.

LibreOffice binary folder is needed here, so you should set OO_SDK_URE_BIN_DIR environment variable, or you may even set that in your program itself.

This is for LibreOfficeKit initialization:

llo = lok::lok_cpp_init(lo_bin_dir);

And after that, it is the time to load the document:

lok::Document* lodoc = llo->documentLoad(input, NULL /* options */);

Having the lodoc pointer is necessary for converting the document using saveAs function:

lodoc->saveAs(output, "pdf", NULL /* options */)

As you can see, relevant code is inside a try/catch block. In case some exception occur, relevant error information will be shown on the console. Also, in each step, from initializing LibreOfficeKit, to loading and in the end generating the output, there are error handling mechanisms to make sure that the work goes forward smoothly.

In the end, if everything is successful, you will see this message on the screen:

Success!

Build using cmake

You can use cmake to build this example. Here is an example CMakeLists.txt which also provides LO_ROOT and LO_SDK_ROOT to be used inside C++ file, as an alternative to setting it via an environment variable, or putting it manually in the code.

cmake_minimum_required(VERSION 3.5)

project(lokconv LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(lokconv main.cpp)

include(GNUInstallDirs)

set(LOVERSION 24.2)

if(WIN32)
    set(LOROOT C:/Progra~1/LibreOffice 

Saturday
20 July, 2024


face

TDF Annual Report banner

By helping to translate and market LibreOffice around the world, native language projects bring enthusiasm and passion to the global community. Here’s what they did in 2023…

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

Armenian

During the year, Tigran Zargaryan worked on a translation of LibreOffice into Armenian, and in January 2024 he announced the results of his work:

“With great pleasure, I’m informing that the Armenian localisation of LibreOffice is complete, and this is an especially significant event for Armenian community members worldwide, who are using various office suites in their daily work and – due to lack of Armenian user interface translations – are facing language difficulties.”

He added:

“I hope that the presence of the Armenian language interface translation will be of great support especially in schools, educational institutions and state organisations. In general, many state-based entities are financed by tax payers, and the presence of such a suite will ease their life, as they will legally be able to use office products without copyright infringement, and for them a totally new world of Free/Open Source Software (FOSS) philosophy will be introduced.”

LibreOffice user interface in Armenian


Bangla/Bengali

There were two events in Bangladesh: the Open Tech Talk at UITS in Dhaka, and Software Freedom Day 2023 Bangladesh event in MBSTU, Tangail. Meanwhile, community members assisted users in their native language Telegram groups.


Bulgarian

Bulgarian speakers continued to maintain their translation of LibreOffice’s user interface at 100%, and the Help content at 95%.


Czech

Throughout 2023, the Czech community maintained its translation of LibreOffice’s user interface, keeping it at 100% complete, and the Help content at around 95%. They presented LibreOffice at a booth at the LinuxDays event in Prague in October, and published user guides in the Czech language in the LibreOffice Bookshelf (including their migration to HTML format). These included the Draw Guide 7.4, Base Guide 7.3, Calc Guide 7.4 and Impress Guide 7.5.

In addition, community members added support for Czech decimals to the Numbertext library, supported end users on the Czech “Ask LibreOffice” site, and maintained social media accounts on X (Twitter), Facebook and Instagram.

LinuxDays event in Prague


Dutch

Throughout 2023, the Dutch-speaking community helped to support LibreOffice users by answering questions on the “Ask LibreOffice” website and mailing lists.

They set up a stand at the NLLGG in November – a conference of the Dutch Linux community. There, LibreOffice users could obtain information and ask questions about the software, whether or not in conjunction with a Linux-based operating system.

Community members also worked on maintaining the Dutch LibreOffice website, and translated and published handbooks: the Writer Guide for LibreOffice 7.5 (translated and published in February); the Math Guide for LibreOffice 7.5 (translated and published in June) the Draw Guide for LibreOffice 7.5 (translated and published in August); and he Impress Guide for LibreOffice 7.6 (translated and published in November).

Translators, using TDF’s Weblate instance, managed


Wednesday
17 July, 2024


face

A while ago, Simon Phipps, member of the Board of Directors at The Document Foundation, shared the idea to introduce a peer-to-peer collaboration built in to desktop LibreOffice without the requirement for a cloud provider. This idea has received a lot of attention inside the organization and the design team has started to outline the project now.…


Tuesday
16 July, 2024


face

LibreOffice 24.8 will be released as final at the end of August, 2024 ( Check the Release Plan ) being LibreOffice 24.8 Release Candidate 1 (RC1) the third pre-release since the development of version 24.8 started at the beginning of December, 2023. Since the previous release, LibreOffice 24.8 Beta1, 243 commits have been submitted to the code repository and 120 issues got fixed. Check the release notes to find the new features included in this version of LibreOffice.

LibreOffice 24.8 RC1 can be downloaded for Linux, macOS and Windows, and it will replace the standard installation.

In case you find any problem in this pre-release, please report it in Bugzilla ( You just need a legit email account in order to create a new account ).

For help, you can contact the QA Team directly in the QA IRC channel or via Matrix.

LibreOffice is a volunteer-driven community project, so please help us to test – we appreciate it!

Happy testing!!

IMPORTANT INFORMATION FOR WINDOWS 7 USERS
Internal python version has been upgraded to python 3.9 which no longer supports Windows 7. Be aware some LibreOffice functionalities written in Python may not work, like the wizards in File – Wizards. Please, do test this version and give us feedback.

Download it now!


Monday
15 July, 2024


face
  • Up early, mail chew, catch up with Miklos, then Lily - back from vacation.
  • Niels from OpenProject over to catch up - great to talk in the garden; had lunch & drove him back to Cambridge; good.
  • Suffered a terrible case of range-anxiety: having got used to the electric car being 100% fully charged whenever I leave to go out; I was amazed to notice the hybrid car having only 15 miles of range, and have to nurse it to an ugly smelling petrol station; hey ho.
  • Back to admin, caught up with Andras; build bits, finished mali chew, and more.

Sunday
14 July, 2024


face
  • Up earlyish; played at All Saints, home - most people gone - except for Sade. Bits of left-overs for lunch, slugged enthusiastically - watched some Travellers, babes seem to have got into football somehow. Bed early.

Saturday
13 July, 2024


face
  • Up late; talked with H's assembled friends, breakfast, helped E. blow up balloons & prepare for H's 21st birthday party.
  • Quick mail & task check. Lots of party-goers arrived; dropped them down in relays to the race-course.
  • Relaxed with J. for a bit - with Silva & David. Fetched babes back from racing, party until late at night celebrating a once small girl grown big & lovely - a blessing to her family & friends: fun. Lots of interesting people to talk to.

Friday
12 July, 2024


face
  • Up early; hacked at this & that, plugged away at Docusigning things; reviewed patches - queue seems to be shortening with a more regularly green tinderbox - which is good.
  • Got a few patches merged.

face

TDF Annual Report banner

Design has been one of the major focus points of LibreOffice in the last few years, and the Design community has produced new icon sets, new MIME type icons, a hugely improved dark mode, and improvements to the NotebookBar

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

Based on LibreOffice’s Human Interface Guidelines (HIG), during 2023 there were various improvements to LibreOffice’s user interface.

Improvements in LibreOffice 7.5

Support for dark and high contrast operating system themes on Windows, macOS and Linux were greatly improved. More than 40 bugs were fixed by contributors including Caolán McNamara (Red Hat), Rafael Lima, Michael Weghorn (TDF) and Rizal Muttaqin.

LibreOffice on macOS in dark mode

In addition, Maxim Monastirsky implemented an improved version of the single toolbar user interface, supporting context-aware controls and their customization. It can be activated via View > User Interface > Single Toolbar. Finally, Heiko Tietze (TDF) updated the Start Center so that it can filter recent documents by type.

Improvements in LibreOffice 7.6

Andreas Heinisch worked on the recent documents picklist under File > Recent Documents; it now shows the five most recent module-specific items first. The list can be configured using the “ShowCurrentModuleOnly” expert option to show only files that can be handled by the current LibreOffice module.

Andreas also made it possible for documents in the Start Center to be pinned, to show them at the beginning of the recently opened document list. To pin a document, users can hover the corresponding document and click on the pin icon in the top-left corner. The selected document is then shown in a separate line at the beginning of the list, along with already pinned documents.

LibreOffice pinned documents in the Start Center

Heiko Tietze (TDF) did further work on the colour schemes: sets of “Automatic” application colours can now be chosen independently from the Application Color scheme in Tools > Options > LibreOffice > Application Colors.

Lastly, Michael Weghorn (TDF) improved keyboard navigation for the Special Characters dialog box.

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


Thursday
11 July, 2024


face
  • Up early; poked at some web serving fun; tech. planning call. COOL community meeting. Lunch with H. TDF design call with Heiko, catch up with Kendy.
  • Sync with Olivier & Tracie on C'bra infra questing, partner sync call.
  • Joe over for a Piano lesson; house group dinner, with a number of N&H's friends around too; good to see the kitchen full.

face

Berlin, 11 July 2024 – LibreOffice 24.2.5 Community, the fifth minor release of the free, volunteer-supported office productivity suite for office environments and individuals, the best choice for privacy-conscious users and digital sovereignty, is available at www.libreoffice.org/download for Windows, macOS and Linux.

The release includes more than 70 bug and regression fixes over LibreOffice 24.2.4 [1] to improve the stability and robustness of the software, as well as interoperability with legacy and proprietary document formats. LibreOffice 24.2.5 Community is the most advanced version of the office suite and is aimed at power users but can be used safely in other environments.

LibreOffice is the only office suite with a feature set comparable to the market leader. It also offers a range of interface options to suit all users, from traditional to modern Microsoft Office-style, and makes the most of different screen form factors by optimising the space available on the desktop to put the maximum number of features just a click or two away.

LibreOffice for Enterprises

For enterprise-class deployments, TDF strongly recommends the LibreOffice Enterprise family of applications from ecosystem partners – for desktop, mobile and cloud – with a range of dedicated value-added features, long term support and other benefits such as SLAs: www.libreoffice.org/download/libreoffice-in-business/

Every line of code developed by ecosystem companies for enterprise customers is shared with the community on the master code repository and contributes to the improvement of the LibreOffice Technology platform. All products based on that platform share the same approach, optimised for the privacy-conscious user.

Availability of LibreOffice 24.2.5 Community

LibreOffice 24.2.5 Community is available at www.libreoffice.org/download/. Minimum requirements for proprietary operating systems are Microsoft Windows 7 SP1 and Apple macOS 10.15. Products based on LibreOffice Technology for Android and iOS are listed here: www.libreoffice.org/download/android-and-ios/

For users who don’t need the latest features and prefer a version that has undergone more testing and bug fixing, The Document Foundation maintains a version with some months of back-ported fixes. The current release has reached the end of life, so users should update to LibreOffice 24.2.5 when the new major release LibreOffice 24.8 becomes available in August.

The Document Foundation does not provide technical support for users, although they can get it from volunteers on user mailing lists and the Ask LibreOffice website: ask.libreoffice.org

LibreOffice users, free software advocates and community members can support the Document Foundation by making a donation at www.libreoffice.org/donate

[1] Fixes in RC1: wiki.documentfoundation.org/Releases/24.2.5/RC1. Fixes in RC2: wiki.documentfoundation.org/Releases/24.2.5/RC2.


Wednesday
10 July, 2024


face
  • Mail chew, H and N's friends started arriving in preparation for various parties. Out for a run with J.
  • Caught up with Darshan & Pedro; weekly sales call.
  • All Saints band practice in the evening.

Tuesday
09 July, 2024


face
  • Planning call; sub-team meeting, plumber over for a quote to replace rubbish Victora Plumbing shower & other fittings with something more reliable & robust. Siezed chromed plastic shower controls - grim, running "water saving" flushes - worse than the old syphons; amazing.
  • Partner alignment call, catch up with Philippe and Pedro on design.

face

Writer now has improved support for toplevel line shapes when you import those from DOCX.

This work is primarily for Collabora Online, but the feature is fully available in desktop Writer as well.

Motivation

As described in a post from 2014, Writer reads the drawingML markup for shapes in DOCX files, including line shapes. While investigating a simple-looking problem around a horizontal vs vertical line, it turns out that there is a deeper issue here, and it looks like now have proper fix for this bug.

Results so far

Imagine that your company template has a nice footer in two columns, and the content in the columns are separated by a vertical line shape, but when you open your DOCX in Writer, it crosses the text of that footer instead:

Bugdoc, before: reference is red, Writer result is painted on top of it

While researching how line shapes are represented in our document model and how ODT import works, it turned out that the proper way to create a line shape is to only consider size / scaling when it comes to the individual points of the line, everything else (e.g. position / translation) should go to the transform matrix of the shape, then the render result will be as expected:

Bugdoc, after: reference is red, Writer result is painted on top of it

It was also interesting to see that this also improved other, existing test documents, e.g. core.git sw/qa/extras/ooxmlimport/data/line-rotation.docx looked like this before:

3 rotated lines, before: reference is red, Writer result is painted on top of it

And the same fix makes it perfect:

3 rotated lines, after: reference is red, Writer result is painted on top of it

Just stick to the rule: scaling goes to the points -- translation, rotation and horizontal shear goes to the shape.

For now, this is only there for toplevel Writer lines, but in-groupshape and Calc/Impress lines could also follow this technique if there is a practical need.

The "after" screenshots show ~no red, which means there is ~no reference output, where the Writer output would be missing.

How is this implemented?

If you would like to know a bit more about how this works, continue reading... :-)

The bugfix commit was tdf#161779 DOCX import, drawingML: fix handling of translation for lines.

The tracking bug was tdf#161779.

Want to start using this?

You can get a development edition of Collabora Online 24.04 and try it out yourself right now: try the development edition. Collabora intends to continue supporting and contributing to LibreOffice, the code is merged so we expect all of this work will be available in TDF's next release too (24.8).


Monday
08 July, 2024


face
  • Up early; 1:1 with Miklos, got various bits merged. Attemped a blind fix for a strange firefox / tile issue seen with Wieland.
  • Lunch with the babes; marketing content review; 1:1's with Pedro, Eloy & Andras.

face

TDF Annual Report banner

Our two main websites are vital sources of information for The Document Foundation and the LibreOffice software. In 2023 we posted regular updates on our blog, including press releases and community interviews

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

TDF website (documentfoundation.org)

The Document Foundation website provides general information about the foundation (overview, statutes, code of conduct, financials and reports) and its governance (board of directors, membership committee, members, advisory board, and engineering steering committee), and about LibreOffice certification, including a list of certified developers, and professionals for migrations and trainings.

In 2022, we launched a new version of documentfoundation.org, using the Hugo website building framework. In 2023 we worked on updates to this site, refining the design and keeping content about the foundation’s various bodies up-to-date.

During 2023, the foundation’s website was visited 107,558 times, with 143,731 page views, a slight reduction in both statistics from 2022. Continent-wise, the largest chunk of visits were from Europe (49%), followed by North America (30-%) and Asia (15%). And for operating systems: the most visits were from PCs using the Windows (61%) operating system, followed by GNU/Linux (13%, a 3% gain from 2022) and macOS (8%), while for browsers: Chrome had 41%, followed by Firefox (16%) and Microsoft Edge (14%).

This image shows weekly visits to documentfoundation.org, throughout 2023:

Weekly visits to documentfoundation.org

LibreOffice website (libreoffice.org)

The LibreOffice website provides information about the office suite and the document format, the various download options, how to get help, how to contribute to the project, events where users can get to know the LibreOffice community, and how to make a donation to support the project and the community.

In 2023, we continued to make improvements and tweaks to the website, updating the timeline that shows events, activities and new releases of LibreOffice. We also worked on updates to the “Discover” and “New features” sections of the site, to reflect new versions of the software.

During 2023, the English-language LibreOffice website was visited 19,176,691 times (a 0.8% gain over 2022), with 46,011,840 page views (a -1.1% drop). Most visits were from Europe (52%), followed by Asia (18%), North America (15%) and South America (10%), from PCs using the Windows operating system (82%), followed by macOS (5%) and Linux (2.5%). Regarding web browsers, Chrome was the most popular (43%), followed by Microsoft Edge (28%) and Firefox (13%).

This image shows weekly visits to www.libreoffice.org, throughout 2023:

Weekly visits to www.libreoffice.org

Blogs

TDF’s blogs are essential for communicating activities inside and around the project, including new releases of LibreOffice, community events and support for other free and open source initiatives. In 2023, we used them to post regular interviews with community members and provide updates from team members about documentation, marketing, QA, design and more.

Blogs were also maintained by various native language communities including Japanese, French, Spanish, German and others. Thanks to


face

General Activities

  1. LibreOffice 24.2.4.2 was announced on June 6
  2. Olivier Hallot (TDF) added help pages for LET Calc function, improved the help for other new Calc functions, made it so help pages show a link to LibreOffice guide books, updated help pages for Save and Calc View options and updated help pages after UI string changes
  3. Alain Romedenne updated some Basic and Python help pages
  4. Pierre F. updated the help for regular expressions, pointing to ICU Regular Expressions documentation
  5. Dione Maddern updated help for Bullets and Numbering Image tab, Clone Formatting and Insert Table command in Impress
  6. Bogdan Buzea did code cleanups in the area of includes and UI files
  7. Gábor Kelemen (allotropia) fixed an issue with hiding drawing shapes from printing
  8. Laurent Balland did cleanups in Impress Yellow Idea template, replaced built-in binary template for HTML files with an OTH file generated from XML sources and fixed a special Calc number formatting case involving misplaced minus signs
  9. Miklós Vajna (Collabora) continued polishing the implementation of continuous endnotes for Microsoft Word compatibility, added a helper script to diff reference rendering vs. LibreOffice rendering via PDF, fixed a DOCX import glitch involving paragraph borders getting mixed up with table cell borders, fixed lost numbering in paragraph style with DOCX import, fixed a shape text padding issue with DOCX import, made it so pasting rich text from other LibreOffice applications into Writer no longer brings in lots of unnecessary styles, fixed some issues when exporting content controls to PDF forms and fixed handling of line object transformations with DOCX import
  10. Szymon Kłos, Jaume Pujantell, Darshan Upadhyay and Henry Castro (Collabora) worked on LOKit used by Collabora Online
  11. Tomaž Vajngerl (Collabora) continued refactoring and improving the code for Impress annotations, for example expanding the support for types and properties when exporting annotations to PDF and also when importing PDF files
  12. Julien Nabet fixed some crashes and debug assertions
  13. Xisco Faulí (TDF) fixed an issue with paragraph classifications getting deleted after Print Preview or when opening file, made SVG fill handling more robust, upgraded many dependencies and fonts, continued applying SAL_RET_MAYBENULL for enforcing null checking and added over a dozen automated tests
  14. Michael Stahl (allotropia) continued polishing recognition of localised paragraph style names in DOCX files, fixed DOCX file opening crashes, changed Writer tab handling to take some very strange behaviour of Microsoft Word into account and made many improvements to libcmis library (for Content Management Interoperability Services standard)
  15. Mike Kaganski (Collabora) improved loading of broken documents, fixed an issue with Writer text wrapping in very wide pages, made spell check red lining more robust, fixed a Writer layout loop involving tables within tables, improved interoperability of styles with DOCX export, fixed a goal seek macro crash and some other goal seek issues and made it so QuickStarter setting is remembered after upgrade on Windows
  16. Caolán McNamara (Collabora) polished the small caps support in Impress and optimised the code for displaying extended tooltips. He also fixed many

Sunday
07 July, 2024


face
  • All Saints with J. - played bass; Robert spoke for a family service; home for a Pizza dinner.
  • Over to see Florence & replace broken stair spindle, mended a broken bed in passing; glue, screw & metal brackets too.
  • Back to relax with J.

Saturday
06 July, 2024


face
  • Up lateish; raining vigorously, tidied the house somewhat with J. Out for a Kids group, Home-group & wedding anniversary BBQ at Steve & Beckie's - lovely to spend time with all gathered.
  • Back in the evening to see the babes; hacked a bit on a weird CheckFileInfo memory issue & relaxed.

Friday
05 July, 2024


face
  • Mail chew; bit of hacking - chased a potential race between 'join' completing on a linux thread, and it disappearing from /proc/self/task. Overrode pthread_create and again tracked all created threads - that they are all joined etc. Gave up eventually and had a series of short sleeps to yield; lets see.
  • Tea Time Training from Caolan on UNO interesting discussion. Interview at some length.
  • Out for a run with J. and H; slugging in the evening.

Thursday
04 July, 2024


face
  • Mail chew; tech. planning, COOL community, sync with Anna; plugged away at various problems, chased tickets. Partner call.
  • House group in the evening with Cyril & Alex.

face

LibreOffice Bookshelf

In 2023, the documentation community continued to update LibreOffice guidebooks, and the Help application

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

New and translated guides

Throughout the year, the documentation project closed the gap between LibreOffice’s major releases, and the updates of the corresponding user guides. By the year end, all of the version 7.x guides were updated to match the release of LibreOffice 7.6, and ready to continue for the forthcoming release – 24.2 – which arrived in February 2024. The goal of tracking the software release closely was achieved, and the documentation team is now in a steady state of small updates between releases.

The updates and enhancements of the guides were an effort of all the team, coordinated by Jean Weber (Writer and Getting Started Guide), Olivier Hallot (Calc) Steve Fanning (Calc and Base guides), Peter Schofield (Impress and Draw guides), Vítor Ferreira (Math guide). A number of volunteers also worked in each guide by writing and reviewing contents and suggesting improvements. Special thanks to Jean Weber for making the guides available for sale in printed format via Lulu Inc.

LibreOffice Help updates

The documentation community also had a team of Help page bug fixes, closing Help documentation bugs, bridging gaps, fixing typos and improving quality, a must-have update to keep LibreOffice in-shape for its user base and documented reference of the application features. A total of 650 Help patches were merged in 2023. The Help pages, which are part of the LibreOffice codebase, were also refactored continuously for better maintenance and code readability. The localisation and translation team of volunteers was quick in flagging typos and English mistakes – while translating the Help content and the user interface.

LibreOffice Help

LibreOffice Developer Guide

Thanks to Ilmari Lauhakangas and Hossein Nourikah, the LibreOffice Developer Guide is now available on TDF’s infrastructure and under LibreOffice developers’ control, allowing update and improvements of the guide for the specifics of the LibreOffice application.

ScriptForge libraries, and Wiki updates

The documentation community also had a nice contribution from Jean Pierre Ledure, Alain Romedenne and Rafael Lima, for the development of the ScriptForge macro library, in synchronization with the much-needed Help pages on the subject, a practice rarely followed by junior developers of LibreOffice. As we know, undocumented software is software that’s lacking; features that are unknown to the user can be a cause of costly calls to a help desk in corporate deployments. ScriptForge developments came together with their documentation, demonstrating the ScriptForge team’s professional maturity.

LibreOffice Bookshelf

In 2023, the documentation community also updated the LibreOffice Bookshelf, another download page for LibreOffice guides that is different from the current documentation.libreoffice.org server page. The Bookshelf can be cloned and installed in organizations, libraries, colleges and schools, for immediate availability in controlled environments, as well as online reading of the guides. The Open Document Format chapters were transformed into static HTML pages, and are


Wednesday
03 July, 2024


face
  • Up very early in the morning, mail chew, patch review, bid 'bye to the parents. Caught up the blog; sync with Antony; mail chew.
  • Lunch, sales call, partner chat, upgraded laptop; re-booted, estimation with Gokay.
  • All Saints band practice in the evening; bit exhausted; sleep.

Tuesday
02 July, 2024


face
  • Mail, planning call, debugged an issue with Wieland, snatched lunch, call with Mike D & Pedro, partner call, more debugging & mail / admin.

Monday
01 July, 2024


face
  • Up early; H. to work at HP; mail chew, 1:1's with the team, brief marketing review, partner review; parents over in the afternoon - lovely to see them! Up chatting.

face

LibreOffice project and community recap banner

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more…

LibreOffice invitation template

Donate button

LibreOffice stickers

LibreOffice Conference 2023 group photo

LibreOffice Impress Guide 24.2 cover

Keep in touch – follow us on Mastodon, X (formerly Twitter), Bluesky, Reddit and Facebook. Like what we do? Support our community with a donation – or join our community and help to make LibreOffice even better!


Sunday
30 June, 2024


face
  • Up earlyish, off to Eden Baptist with N. and H. to support Mathew's Baptism - lovely service; cake afterwards, back to Matthew's home for a fine lasagne lunch & interesting conversations.
  • On to hear James play at a Vintage Afternoon Tea fund-raiser; good to see many people and meet Luke - a page-turner.
  • Dropped home by Cyril; relaxed some more.

Thursday
27 June, 2024


face

If you want to use LibreOffice functionality in your applications, LibreOfficeKit API is one of the good ways to do that. Here I describe how, with some examples. If you want to add the capability of loading, displaying, editing, saving and/or converting LibreOffice/MS Office files to your application, you have come to a good place.

What is LibreOfficeKit?

LibreOfficeKit is the (relatively) new API to access LibreOffice functionalities in C/C++ without the need of older UNO API and its dependencies. It is used in LibreOffice Online, and also LibreOffice Viewer for Android.

LibreOffice functionality can also be used through older UNO API, which is several years old and provides many functionalities of LibreOffice through network or sockets. But UNO API is not helpful if you want to have the LibreOffice UI in your application. In comparison, LibreOfficeKit is capable of doing that.

LibreOfficeKit can create tiles from the LibreOffice application, which can be compiled as a static library, and then lets the user interact with the application from somewhere else, either different application, or a web browser.

In this way, it becomes much easier to create applications that incorporate the actual functionalities of LibreOffice in them, while having the LibreOffice UI in themselves.

Example: GTK Tiled Viewer

As an example, gtktiledviewer provides a small editor that can load the LibreOffice/MS Office files, display them and the user can actually edit those files.

LibreOffice GTK Tiled Viewer

LibreOffice GTK Tiled Viewer

If you have a working build of LibreOffice, you can run thegtktiledviewer application this way:

bin/run gtktiledviewer --lo-path=$PWD/instdir/program path/to/test.odt

Building such an application will be much easier compared to building and running LibreOffice UNO API applications which require many dependencies.

In order to compile LibreOfficeKit applications, you need LibreOfficeKit headers. These headers will be shipped with the  next version of LibreOffice community distribution, LibreOffice 24.8.

Example Usage: Document conversion

Another interesting example is document conversion. For example, if you want to convert an ODT file to PDF or other formats with LibreOffice, you can use LibreOfficeKit API to do that.

One example code that does that is the lloconv project. You may find it on gitlab:

The conversion code happens inside convert.cc source file, and it is pretty straightforward, although there are some extra code which handles finding LibreOffice binary path, and parsing command line arguments.

The important functions that are used in loading and converting documents can be found in these lines:

Office * llo = lok_cpp_init(lo_path);

And also:

Document * lodoc = llo->documentLoad(input_url.c_str(), options);

And at last:

lodoc->saveAs(output_url.c_str(), format, options)

It  essentially initializes the document vialok_cpp_init, then loads the document using documentLoad function, and at last convert it to the final file format using saveAs() function.

The API for conversion is pretty straightforward, and it is enough to to know the path to the LibreOffice installation path to be able to compile and run the C++ example.

More interesting


Wednesday
26 June, 2024


face

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


Monday
24 June, 2024


face

TDF Annual Report 2023 banner

We use our social media channels to raise awareness about our work, share information and encourage new contributors to join us

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

Social media

In January 2023, our X (formerly known as Twitter) account @LibreOffice had 53,541 followers; by the end of the year, we had grown this to 62,443. Our most popular tweets were for major releases, but we also tweeted customised images for “Community Member Monday” interviews with short quotes, encouraging more users to get involved with LibreOffice projects.

Outreachy and LibreOffice installer improvements: Rachael Odetayo

In addition, we focused not only on our own tweets, but also retweeting announcements from the LibreOffice ecosystem and community members. We liked and retweeted messages of support from end users – many of whom were surprised and thankful that a large project would show them support. To keep the content flowing, we retweeted popular older tweets, and responded to individual messages.

On other social media platforms, we focused on growing our account on Mastodon, a Twitter-like open source, federated and self-hosted microblogging service. In 2023 we worked more on expanding our activities on our account @libreoffice@fosstodon.org, and from January to December, we grew our follower base from 17,632 to 24,987. We also joined Bluesky in 2023 thanks to invites from a community member, with our new account @libreoffice.bsky.social reaching over 150 followers by the end of the year.

LibreOffice on Bluesky

Our Facebook page growth was smaller, from 60,278 page followers to 63,189. We’ve noticed a gradual reduction in activity on Facebook over the last few years, which reflects its changing audience, and the move towards newer mobile applications. Nonetheless, Facebook still provides a good opportunity to interact with end users of LibreOffice, and every day we checked in to answer questions, get feedback, and post announcements/tips about the software.

YouTube channel

Our YouTube channel grew from 18,108 subscribers and 2,886,284 video views in January 2023 to 20,504 subscribers and 3,217,282 video views by the end of the year. The “LibreOffice 7.5: New Features” video (a fantastic production by the Indonesian community) had almost 60,000 views – while the video for LibreOffice 7.6 had over 60,000. We also added videos of talks, presentations and workshops from the LibreOffice Conference 2023.

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.

Meanwhile, our community helped out with tutorial videos – in particular Harald Berger of the German community, who continued to produce a series of professional-looking step-by-step guides to installing and using LibreOffice.

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

Older blog entries ->