Two ODF Toolkit releases in a row!

ODF is the Open Document Format, the native format used by LibreOffice (and supported by many other apps too). Then there’s the ODF Toolkit, a set of Java modules that allow programmatic creation, scanning and manipulation of ODF files. Svante Schubert writes with some updates:

We are happy to announce that there have been recently two ODF Toolkit releases in a row. These were our first releases at The Document Foundation (TDF), after the migration of the project to TDF in 2019:

  • With the 0.9.0 release, we have our last JDK 8 release (due to a switch of the Java Doc Taglet API we are using). After this release, we dropped the so-called “Simple API” (which was once forked from our ODFDOM doc Java Package by IBM, but not merged back, leaving lots of duplicated code that was unable to embrace our new change API). And the XSLT Runner Ant plugin will be removed in a future release, as we are no longer using Ant but Maven (to avoid maintenance of untested functionality).
  • With the 0.10.0 release, we support the next JDK 11 LTS version and our new change API that was implemented by myself for Open-XChange’s web office OX Documents – thanks to them, especially Malte Timmermann and Rafael Laguna for keeping the Apache License 2. Unfortunately, OX forked before I started there and it took me several months – and some sponsorship from a PrototypeFund project – to merge manually every file and enable all tests again (which some OX colleagues had disabled as they took too long…). (Please check out the PrototypeFund: Any German taxpayer may apply with an open-source project/idea!).

I would like to thank also all those numerous folks assisting us to make this work – especially recently in pushing this forward!

Especially, I would like to congratulate Michael Stahl for officially becoming the co-maintainer of this project. Michael has been my long term colleague (from StarOffice Hamburg times) and helps me constantly drop procrastination and/or fix issues I am no longer capable to realize as I looked too long at them. In addition, Michael and I also serve as editors of the OASIS ODF TC. There at the ODF TC, we envision having a faster turn-around of ODF spec deliveries and making their information set more readable for downstream software as we are. Thanks to allotropia software GmbH, Michael’s employer, for providing him with the time for working on these tasks!

So what’s next? Obviously, it’s more than time to release an ODF Toolkit 1.0.0.

Personally, I would like to get the code generation right, but keep as much compatibility to prior releases as possible. Michael and my aim is to work from the end of January on this release (any helping hand is most welcome) 😊

There is also ODF 1.3, to be embraced by a release in the near future.

In February, I will likely have an online talk at FOSDEM, at the LibreOffice dev room about our project and what I intend to do next year.

In a nutshell, I was able to receive some NGI Search funding for this project to enable search in ODF documents.

Aside from the obvious search API – focusing on one higher-level based on user semantic and likely having also one lower-level based on XML, I would like to refactor my “spaghetti feature code” in the SAX parser that made the implementation of the changes hard to maintain. Sorry for that, not my first and likely not my last mistake – but I am learning! 🙂

We’re going to work out a more elaborate picture for the FOSDEM presentation.

Until then, have fun with the ODF Toolkit!

Tender to optimize text layout performance for print and PDF export (#202112-01)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to optimize text layout performance for print and PDF export.

The text layout performance as currently implemented in LibreOffice has lots of issues. All over the codebase text shaping is done over and over again, although it consumes quite some compute cycles. Text shaping is done each time for measuring the text, measuring parts of text, finding line breaks, drawing text on screen. Especially for more involved scripts than Latin, this is problematic. The above issues are especially problematic for printing or PDF export. The time to export a PDF or print a Latin text has doubled since the Harfbuzz implementation.

It’s up to the bidder how to solve the problem. Some possible solutions could be:

  • retaining shaping results much longer
  • improving the wasteful OutputDevice API
  • implement caching

The scope of this tender is to fix at least the following issues:

Further reference can be found at:

All technology standards of relevance, as well as their targeted versions for this tender should be declared or defined in the offer’s description of implementation.

A key item of the deliverables for this tender, and therefore also a decision criteria – besides qualification, references, price, and completness of fullfilment – is extensive documentation about the approach chosen to implement the above items, covering more than just the pure implementation. We expect bidders to provide documentation on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects.

The Document Foundation will publish this under a free and open source license and make it available to the general public.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before. For such developers, who have not yet been part of a successful tender bid, we aim on a best-effort basis, but without any guarantees whatsoever, to provide some mentoring in understanding the code base and the process in contributing to the code. We expect that time and efforts on the bidder’s side should not be part of the paid work for this tender. Please mention such need of LibreOffice development mentoring in your offer.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 30 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications, your financial expectations offer in form of a fixed time fixed budget approach and the duration period for the implementation in calender weeks after the final reward of the tender, via e-mail to a committee at tender20211201@documentfoundation.org no later than January 21, 2022.

Applicants who have not received feedback by February 18, 2022 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until January 14, 2022. Questions and answers will be made public in a collected and anonymized form.

Open Letter to Members of EU Parliament

Today, the Coalition for Competitive Digital Markets (https://competitivedigitalmarkets.eu/), a group of more than 50 technology companies from 16 different European countries, sent an open letter to members of the European Parliament to raise awareness about interoperability and to impose stricter rules on big companies – the so-called ‘big tech’ companies – that act as gatekeepers and prevent transparency and openness in digital markets.

Open Letter 6 December

LibreOffice Technology DevRoom Call for Papers

FOSDEM 2022 will be a virtual event, taking place online on Saturday, February 5, and Sunday, February 6. The LibreOffice DevRoom is scheduled for Sunday, February 6, from 9AM to 7PM (times to be confirmed). If we will get more interesting talk proposals than the maximum number we can fit in one day, we will have the opportunity to extend the DevRoom to Saturday, February 5, in the afternoon.

NEW RULES FOR 2022

  • The reference time will be Brussels local time (CET).
  • Talks will be pre-recorded in advance, and streamed during the event
  • Q/A session will be live
  • A facility will be provided for people watching to chat between themselves
  • A facility will be provided for people watching to submit questions

IMPORTANT DATES TO REMEMBER

  • December 26: Submission deadline
  • December 28: Announcement of selected talks
  • December 31: Publication of DevRoom final schedule
  • January 16: Availability of pre-recordings for review
  • January 23: Deadline for upload of presentations

CALL FOR PAPERS

We are inviting proposals for talks about LibreOffice Technology, including ODF standard document format, on topics such as code, localization, QA, UX, documentation, tools, extensions, migrations and general advocacy. Please keep in mind that product pitches are not allowed at FOSDEM.

The length of talks is limited to a maximum of 25 minutes, as we would like to have some minutes for questions after each presentation, and to fit as many presenters as possible in the schedule. Exceptions must be explicitly requested and justified. You may be assigned LESS time than you have requested.

IMPORTANT INFORMATIONS

  • Presentations have to be pre-recorded and tested for streaming before the event.
  • Once your talk is pre-recorded, and approved by a reviewer in term of quality for streaming, it will have to be uploaded by January 23, to be prepared and ready for broadcast (the deadline cannot be moved further).
  • During the stream of talks, speakers must be available online for the Q/A session.

TALK SUBMISSIONS

All talk submissions have to be made in the Pentabarf event planning tool: https://penta.fosdem.org/submission/FOSDEM22.

While filing the proposal, please provide the title of your talk, a short abstract (one or two paragraphs), some information about yourself (name, bio and photo, but please do remember that your profile might be already stored in Pentabarf). To submit your talk, click on “Create Event” and select the “LibreOffice Technology” DevRoom as the “Track”. Otherwise, your talk will not be even considered for any devroom at all.

If you already have a Pentabarf account from a previous year, even if your talk was not accepted, please reuse it. Create an account if, and only if, you don’t have one from a previous year. If you have any issues with Pentabarf, please get in touch with the DevRoom manager.

DEVROOM MANAGER

Italo Vignoli: italo@libreoffice.org

Nine more videos from the LibreOffice Conference 2021

Here are some more videos from the LibreOffice Conference 2021! Check out the playlist, using the button in the top-right – or scroll down for links to individual videos:

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.

Individual links

Note: many of these are also available on PeerTube, and more will be added…

There are just a few videos remaining – we’ll post them very soon!

LibreOffice extension to remove blank cells – Help to improve it!

Rafael Lima from the Brazilian LibreOffice community is working on an extension to remove blank cells in LibreOffice Calc. It has four modes (single column, single row, blank rows and blank columns). Here’s a quick animation of it in action:

So far, the main functionality is there, but Rafael would like to improve it. We asked him for some more info…

What does the extension do?

The main purpose of this extension is to remove blank cells to easily compact data. For instance, suppose you have a table with data and then you delete the contents of some rows. The next thing you might want to do is remove these blank rows to compact your table. By using the Remove Blank Cells extension this can be done with a single click.

Currently the extension supports four modes to remove blank cells. The simplest one is when you select a single row or column, then the extension will detect the selection and compact the data removing all blank cells. However, if a matrix is selected, then a message will be displayed and you can choose if blank rows or blank columns are to be removed.

When did you start making it?

I started writing the extension in February this year and finished the first version in less than one month. Then I kept testing it and working on improvements and the final version was finished in July.

At first the extension focused on my use case, because in my work with data analysis I often have to remove blank rows and columns. However, after seeing many people asking about how to remove blank cells in LibreOffice, I decided to pack it and make it available for everyone since it might be useful for other people.

What are the current limitations of it?

The main limitation of the extension is when the user wants to process very large tables (with tens of thousands of rows), which might take some time to finish. In these cases a progress bar is shown so the user can keep track of the data processing.

Moreover, the extension still does not support translations, so the user interface is only available in English. I plan to support translations in the next release.

How can people help to improve it?

Because this is the first released version of the extension, I would appreciate having more people testing it and reporting issues on the extension’s GitHub page.

I would also like to invite the community to create a better icon for the extension, so that it would be more in line with the default icon theme in LibreOffice.

In the future I will also need some assistance with translating the extension’s strings.

So, everyone is welcome to try out the extension – and if you have some technical knowledge, jump in and help Rafael and the community to improve it! Check out the wiki for more information on extension development.