Announcing the ODF Toolkit 0.12.0 release

Open Document Format logo

ODF is the Open Document Format, the native format used by LibreOffice (and supported by many other apps too). It has various sub-formats such as .odt for text files, .ods for spreadsheets, and .odp for presentations.

Meanwhile, the ODF Toolkit is a set of Java modules that allow programmatic creation, scanning and manipulation of ODF files. And at the end of last month, the developers announced a new version: 0.12.0!

Big changes include a new ODF 1.3 mimetype “Text master template”, while the API for Text Selection was completely refactored. In addition, there were many fixes to improve reliability and security.

Check out the full announcement and link to the release notes here

Custom Shape Tutorial

Have you ever tried to draw special and complex shapes beyond the basic offerings of LibreOffice? A custom shape of the Fibonacci spiral defined by its equation and properties with handles to reshape size? Thanks to Regina Henschel, now you have a tutorial for drawing custom shapes of your own and use them in LibreOffice.

Currently, LibreOffice provides a lot of predefined custom shapes. They are grouped to the sets ‘Basic Shapes’, ‘Block Arrows’, ‘Symbol Shapes’, ‘Stars and Banners’, ‘Callouts’, and ‘Flowchart’. And all shapes from the ‘Fontwork Gallery’ are custom shapes too. But you can do more, much more.

Custom Shapes Tutorial

(more…)

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!

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

Free software becomes a standard in Dortmund, Germany

LibreOffice is free and open source software, which means that it’s much more than zero-cost. Anyone can study how it works, modify it, and share those modifications with other users. (So the “free” is more about freedom than price.)

There are many other well-known free software projects, such as the GNU/Linux operating system, Firefox web browser, and Thunderbird email client. Free software helps companies, organisations and governments to reduce costs, improve reliability and free themselves from dependence on a single vendor.

Now, the Council of the German city of Dortmund has announced that it’s moving to free and open source software, where possible. Here’s a translation of the original German blog post:


Memorandum – Digitalisation 2020 to 2025

The Dortmund Council has declared digitalisation to be a political leadership task in its Memorandum 2020 to 2025. In the course of this, two central resolutions for free software were passed on February 11, 2021, for which the minutes were published on March 30:

  • “Use of open source software where possible.”
  • “Software developed by the administration or commissioned for development is made available to the general public.”

Open source wherever possible

With this resolution, city policy takes on the shaping of municipal digital sovereignty and digital participation. The resolution means a reversal of the burden of proof in favor of open source software – and at the expense of proprietary software. In the future, the administration will have to justify why open source software cannot be used for every proprietary software application. Based on the report of the Dortmund city administration on the investigation of the potentials of free software and open standards, open source software is understood in the sense of free software.

Public Money? Public Code!

So, the Council’s decision is in line with the concerns of the campaign Public Money, Public Code. What is financed with public money should be available to the general public for use. For software, this is achieved by means of a corresponding free license. With this resolution, local politicians ensure that the city of Dortmund not only draws from the free software community, but also contributes to it. In this way, inter-communal synergies can be achieved true to the motto develop together, use individually.

Support for open standards

Through the Digital Dortmund Charter 2018-2030, among other things, Open Standards were established as a requirement for further digitalisation.

Politically unanimous in favor of Free Software

The resolution for free software is supported by a broad political base. The motion was passed unanimously by the City Council of Dortmund. The digitalisation motion was jointly introduced by the following parliamentary groups: CDU, SPD, Die Grünen (Greens) and Die Linke (The Left).

Conclusion

The city of Dortmund has ushered in the political turning point and begun the exit from the proprietary era. Now it is important that the city finds the appropriate means to implement this process practically, by means of a proprietary exit strategy and to dissolve existing vendor lock-in. For Do-FOSS, the decision of the Memorandum 2020 to 2025 is the result of a functioning democratic local discourse. The practical management work for Free Software has the necessary political backing to succeed.

Google Seasons of Doc 2020: Extensive Calc Functions Description is there.

The Calc Guide for LibreOffice release 6.2 contained a lengthy appendix (70 pages) devoted to the 500+ functions available in Calc, providing a shallow list of the functions and their arguments. During the update of the document for release 6.4 in 2019, the Documentation Team agreed that it would be better to move this list to an online service, and as part of this move, to enhance the function descriptions by adding more examples, use cases and collateral information on standards, compatibility and more.

That situation provided an opportunity for us to create a documentation project to submit to Google Season of Documents 2020 (https://developers.google.com/season-of-docs), an initiative by Google to create, enhance and extend the documentation of open source projects worldwide such as LibreOffice.

The Document Foundation applied to the program on behalf of the LibreOffice Community and submitted several ideas for documentation, which included the Extensive Calc Functions Wiki pages. The Foundation received several applications, containing important information including the technical writer’s resumés, proposals for project schedule and suggested deliverables. After a careful evaluation by the project mentors, the Foundation retained the application of Ronnie Gandhi (@Krezhairo) a computer science undergraduate student enrolled at IIT Roorkee, India.

The project was targeted for three months work and ended in early December 2020. Steve Fanning, who had already worked as coordinator of the Calc Guide, served as mentor with Olivier Hallot as second mentor. Ilmari Lauhakangas and Olivier managed the administrative aspects of the project on behalf of The Document Foundation.

Monitoring the project was an important part of the task. There was frequent correspondence on the Documentation Team’s mailing list to discuss the detailed technical aspects of the work. In addition, Ronnie, Steve and Olivier met online once each week for follow-up discussions and resolution of any issues. To maximize the benefit of the opportunity provided by Google, it was decided to improve the wiki page contents with

  • Statements describing each function’s compliance with the Open Document Format for Office Applications (OpenDocument) Version 1.2 specification
  • Extra use cases and examples
  • Illustrations when applicable
  • External references for further reading
  • Identification of equivalent functions in other spreadsheet software

A useful side-effect of the project was the identification of several potential areas of improvement for Calc’s help files and the exposure of a software issue in two rarely used functions! In addition, Ronnie was able to present his work at the openSUSE + LibreOffice Virtual Conference in October 2020 and hopefully gained some insights into the role of a Technical Writer.

We are grateful for the work that Ronnie was able to carry out during this task. As all documentation related to software development, the Extensive Calc Functions Wiki is open for further improvements. If you would be interested in helping, please get it touch through the Documentation Team’s mailing list.

Access the Extensive Calc Functions Description in the Document Foundation wiki at https://wiki.documentfoundation.org/Documentation/Calc_Functions.

Happy documenting!