The Document Foundation Planet


May 24, 2017

Florian Effenberger

LibreOffice-Projektwochenende im Juni 2017 in Berlin

Im deutschsprachigen LibreOffice-Projekt ist es bewährte Tradition, mindestens ein Projektwochenende im Jahr abzuhalten. Ort und Termin stehen nun fest: Wir treffen uns vom 23. bis 25. Juni in Berlin und eines der Hauptthemen wird LibreOffice online sein.

Ein LibreOffice-Projektwochenende
Ein LibreOffice-Projektwochenende

Dieses Jahr treffen wir uns von Freitagnachmittag, 23. Juni bis Sonntagmittag, 25. Juni in Berlin. Vielen Dank an Endocode für die Unterstützung!

Alle Details und die Anmeldemöglichkeit findest du auf der offiziellen Wiki-Seite.

Wenn du Lust hast, in eines der großen Open-Source-Projekte hineinzuschnuppern, die „Macher“ hinter dem Programm kennen zu lernen und selbst bei uns mitzumachen, dann ist das die ideale Gelegenheit dazu! Ich freu mich auf dich!

by Florian Effenberger at May 24, 2017 10:07 AM

May 23, 2017

Official TDF Blog

LibreOffice leverages Google’s OSS-Fuzz to improve quality of office suite

Berlin, May 23, 2017 – For the last five months, The Document Foundation has made use of OSS-Fuzz, Google’s effort to make open source software more secure and stable, to further improve the quality and reliability of LibreOffice’s source code. Developers have used the continuous and automated fuzzing process, which often catches issues just hours after they appear in the upstream code repository, to solve bugs – and potential security issues – before the next binary release.…

The post LibreOffice leverages Google’s OSS-Fuzz to improve quality of office suite appeared first on The Document Foundation Blog.

by Italo Vignoli at May 23, 2017 11:13 AM

Florian Effenberger

Interview zu meiner Arbeit bei LibreOffice und The Document Foundation

Während der diesjährigen FOSDEM hat mein Kollege Mike Saunders viele Mitwirkende an LibreOffice zu ihren Beiträgen im Projekt interviewt. Ich freue mich sehr, dass ich mit ihm über meine Arbeit als Geschäftsführer der Stiftung The Document Foundation und meine Erlebnisse mit der Community sprechen durfte.

Das Video steht nun auch in deutscher Sprache online.

Ich hatte während der FOSDEM leider mit einer starken Erkältung zu kämpfen, hoffe aber, dass ich trotzdem verständlich bin. 😉

by Florian Effenberger at May 23, 2017 10:22 AM

May 22, 2017

TDF Infrastructure Status

pootle maintenance on Wednesday (2017-05-24)

(17-05-22) Pootle will undergo maintenance on Wednesday and thus will not be available for translators for most of the day.

by The Document Foundation at May 22, 2017 10:00 PM

May 21, 2017

LibreOffice Design Blog

Please participate in a survey about page margins

Margins specify the amount of space to leave between the edges of the page and the document text. You can define it for the left/inner, right/outer, top and bottom side individually. Page margins are defined by default at 0.79″ respectively 2cm on each side in LibreOffice Writer (located under Format > Page). These default values are under close scrutiny now.

Figure 1: Page settings in LibreOffice Writer

In order to prove that the default settings are what users apply in most cases we prepared a short survey and ask you to answer the few questions at

The survey will take only a few minutes and help us to make LibreOffice even better.

Of course we are interested in your ideas. So please feel free to comment.

The post Please participate in a survey about page margins appeared first on LibreOffice Design Team.

by The LibreOffice Design Team at May 21, 2017 09:37 PM

May 18, 2017

Florian Reisinger

LibreOffice can open XLSX files Excel cannot

Just a quick heads up. I just created and saved an Excel file using Excel 2016, which cannot be opened again with it. Glad our swiss army knife LibreOffice can 😉

It’s funny to see Excel can open the ODS I created using LibreOffice (as source I used the XLSX file) better than it’s “native” format….

Here is a short “proof” video:

Tagged: Excel 2016, file open, fileopen, LibreOffice, problems

by Florian Reisinger at May 18, 2017 07:54 AM

May 17, 2017

Official TDF Blog

Month of LibreOffice, May 2017: Printed stickers are here!

We’re 17 days into the Month of LibreOffice, May 2017 – and we’ve just gone over the 200 stickers mark. Yes, that’s 200 community members who’ve helped out with code, QA, translations, documentation, user support and marketing – and each one will receive a cool sticker for their laptops and other kit. Thanks everyone for your help!…

The post Month of LibreOffice, May 2017: Printed stickers are here! appeared first on The Document Foundation Blog.

by Mike Saunders at May 17, 2017 03:02 PM

Miklos Vajna

xmlsec improvements in LibreOffice 5.4

This post summarizes the plumbing work around ODF/OOXML digital signatures that I did on LibreOffice master after the 5.3 branch-off up to now. The big thing is the integration of the libxmlsec 1.2.24 release. Among other things, this contains 2 larger changes that I contributed upstream triggered by the needs of LibreOffice:

  • The ECDSA-SHA256 feature is something I already mentioned, but I did not bother to backport the SHA1 and the SHA256 part, so those now arrived to LibreOffice as well.

  • xmlsec’s XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS flag (while verifying signatures) was there, but its behavior was not clear (neither for nss nor for mscrypto). I’ve changed it to be in sync what you have in other commands to avoid certificate validation (like wget -k or curl -k), which means as a next step there will be one less xmlsec patch in LibreOffice that prevents us from using xmlsec from the system on Linux. (Adding tests also detected that in the nss case not using that flag also didn’t do verification by accident, this is now fixed as well.)

After the release I also noticed that creating signatures on Windows was broken, this is now fixed on xmlsec master and also backported to LibreOffice.

All this is available in LibreOffice master, towards 5.4.

May 17, 2017 07:09 AM

May 15, 2017

Florian Effenberger

Interview on my role at The Document Foundation

During this year’s FOSDEM, my colleague Mike Saunders has interviewed many LibreOffice contributors on their work and activities inside the project.

I’m proud of having been interviewed as well and I try to give some insight into my work as Executive Director of The Document Foundation.

Find the full video here.

I was heavily fighting with a flu during recording, but I hope I’m still understandable. 😉

by Florian Effenberger at May 15, 2017 11:38 AM

Official TDF Blog

Video interview: Florian Effenberger, Executive Director at TDF

Florian is one of the founders of The Document Foundation (TDF), the charitable entity behind LibreOffice. He’s also TDF’s Executive Director, overseeing a small team that works on release building, documentation, QA, design and marketing for LibreOffice. In this interview, he explains how TDF is structured, how it’s funded, and how the money is used.

(Update: we also interviewed Florian in German, and have now uploaded the video.)…

The post Video interview: Florian Effenberger, Executive Director at TDF appeared first on The Document Foundation Blog.

by Mike Saunders at May 15, 2017 11:33 AM

May 13, 2017

Andreas Mantke

Further Work With Theming

I worked a bit further on the WordPress theme for a local organisation and got some nice pictures for the header of the site. I cropped them a bit with Gimp and combined them together with the logo in a new banner. We have some great places in Duisburg, like the ‚Landschaftspark Duisburg-Nord‘ (an former ironwork with a great light show) (, Tiger and Turtle (a Magic Moutan / a walkable sculpture on top of a hill) ( and the ‚Innenhafen‘ (a former part of the inner harbor) (

It’s always easy and fun to work with free software tools on nice pictures 😉

by andreasma at May 13, 2017 08:22 PM

May 12, 2017

Andreas Mantke

Working With WordPress Theming

I currently looking into the theme development of WordPress. I already started with the work on a first version of a theme proposal for a local organisation in Duisburg. I’ll continue this work for the next weeks and it will consume a lot of my spare time.

by andreasma at May 12, 2017 10:12 PM

Official TDF Blog

LibreOffice on social media: stats for June 2016 – April 2017

To help spread the word about LibreOffice and get feedback from users (and contributors), The Document Foundation operates various social media accounts. Some of these have been running since the start of the project – while others are relatively new. We’ve been collecting statistics about our social media accounts for a while, so let’s share them with the world.…

The post LibreOffice on social media: stats for June 2016 – April 2017 appeared first on The Document Foundation Blog.

by Mike Saunders at May 12, 2017 09:17 AM

May 11, 2017

Michael Meeks

2017-05-11 Thursday.

  • Mail, more admin, testing, chat with Thorsten.
  • Annoyed to see that Ahok goes to jail in Indonesia for two years for blasphemy, despite no prosecution case or real offence; pleased to see that Stephen Fry walks free, although he is beyond utterly wrong about God who as Psalm 89 tells us has Righteousness and justice as the foundation of his throne. Not a fan of blasphemy laws, discussing all things is important.
  • Poked at improving online unit tests.

May 11, 2017 09:00 PM

Official TDF Blog

The Document Foundation announces LibreOffice 5.3.3

Berlin, May 11, 2017 – The Document Foundation (TDF) announces LibreOffice 5.3.3, focused on bleeding edge features, and as such targeted at technology enthusiasts, early adopters, and power users. LibreOffice 5.3.3 integrates over 70 patches, with an update of the Sifr monochrome icon set and several fixes for interoperability with Microsoft Office documents.

For all other users and enterprise deployments, TDF suggests LibreOffice 5.2.7, with the backing of professional support by certified professionals (updated list available at:…

The post The Document Foundation announces LibreOffice 5.3.3 appeared first on The Document Foundation Blog.

by Italo Vignoli at May 11, 2017 10:59 AM

Tor Lillqvist

Tracing IDispatch::Invoke calls in COM applications

At Collabora Productivity we recently encountered the need to investigate calls in a third-party application to COM services offered by one or more other applications. In particular, calls through the IDispatch mechanism.

In practice, it is use of the services that Microsoft Office offers to third-party applications that we want to trace and dump symbolically.

We looked around for existing tools but did not find anything immediately suitable, especially not anything available under an Open Source license. So we decided to hack a bit on one of the closest matches we found, which is Deviare-InProc. It is on GitHub,

Deviare-InProc already includes code for much of the hardest things needed, like injecting a DLL into a target process, and hooking function calls. What we needed to do was to hook COM object creation calls and have the hook functions notice when objects that implement IDispatch are created, and then hook their Invoke implementations.

The DLL injection functionality is actually "just" part of the sample code included with Deviare-InProc. The COM tracing functionality that we wrote is based on the sample DLL to be injected.

One problem we encountered was that in some cases, we would need to trace IDispatch::Invoke calls that are made in a process that has already been started (through some unclear mechanism out of our control). The InjectDLL functionality in Deviare-InProc does have the functionality to inject the DLL into an existing process. But in that case, the process might already have performed its creation of IDispatch implementing COM objects, so it is too late to get anything useful from hooking CoGetClassObject().

We solved that with a hack that works nicely in many cases, by having the injected DLL itself create an object known to implement IDispatch, and hoping its Invoke implementation is the same as that used by the interesting things we want to trace.

Here is a snippet of a sample VBScript file:

     Set objExcel = CreateObject("Excel.application")
     set objExcelBook = objExcel.Workbooks.Open(FullName)

     objExcelBook.SaveAs replace(FileName, actualFileName, prefix & actualFileName) & "csv", 23


And here is the corresponding output from tracing cscript executing that file. (In an actual use case, no VBScript source would obviously be available to inspect directly.)

Process #10104 successfully launched with dll injected!
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

# CoGetClassObject({00024500-0000-0000-C000-000000000046}) (Excel.Application.15)
#   riid={00000001-0000-0000-C000-000000000046}
#   CoCreateInstance({0000032A-0000-0000-C000-000000000046}) (unknown)
#     riid={00000149-0000-0000-C000-000000000046}
#     result:95c668
#   CoCreateInstance({00000339-0000-0000-C000-000000000046}) (unknown)
#     riid={00000003-0000-0000-C000-000000000046}
#     result:98aad8
#   result:95dd8c
# Hooked Invoke 0 of 95de1c (old: 487001d) (orig: 76bafec0)
95de1c:Workbooks() -> IDispatch:98ed74
98ed74:Open({"c:\temp\b1.xls"}) : ({"c:\temp\b1.xls"}) -> IDispatch:98ea14
95de1c:Application() -> IDispatch:95de1c
95de1c:Application() -> IDispatch:95de1c
95de1c:Application() -> IDispatch:95de1c

Our work on top of Deviare-InProc is available at

Binaries are available at (for 32-bit applications) and (64-bit). The zip archive contains an executable, injectdll.exe (injectdll64.exe in the 64-bit case) and a DLL.

Unpack the zip archive somewhere. Then go there in Command Prompt, and in case the program you want to trace the IDispatch::Invoke use of is something you know how to start from the command line, you can enter this command:

injectdll.exe x:\path\to\program.exe “program arg1 arg2 …”

where program.exe is the executable you want to run, and arg1 arg2 … are command-line parameters it takes, if any.

If program.exe is a 64-bit program, instead download, and run injectdll64.exe, otherwise similar.

if you can’t start the program you want to investigate from the command line, but you need to inspect it after it has already started, just pass only the process id of the program to injectdll.exe instead. (Or injectdll64.exe) This is somewhat less likely to succeed, depending on how the program uses IDispatch.

In any case, the output (symbolic trace) will go to the standard output of the program being traced, which typically is nowhere at all, and not useful. It will not go to the standard output of the injectdll.exe program.

In order to redirect the output to a file, set an environment variable DEVIARE_LOGFILE that contains the full pathname to the log file to produce. This environment variable must be visible in the program that is being traced; it is not enough to set it in the Command Prompt window where you run injectdll.exe.

Obviously all this is a work in progress, and as needed will be hacked on further. For instance, the name "injectdll" is just the name of the original sample program in upstream Deviare-InProc; we should really rename it to something specific for this use case.

by Tor Lillqvist ( at May 11, 2017 10:10 AM

May 10, 2017

Michael Meeks

2017-05-10 Wednesday.

  • Took E. to Addenbrooks in the morning; back, mail, built ESC stats, call, plugged through the task backlog. Read Firefox & Chrome's seccomp-bpf usage - which are not particularly obvious.

May 10, 2017 09:00 PM

May 09, 2017

Michael Meeks

2017-05-09 Tuesday.

  • Admin, commercial call; Board calls; call later, revised Biology with H.

May 09, 2017 09:00 PM

May 08, 2017

LibreOffice Design Blog

Results from table styles survey

Table styles have been introduced in LibreOffice Writer 5.3 as the successor to the AutoFormat feature. The table designs from this old feature were used as the initial set of table styles, so we asked on the design mailing list to submit proposals for new table designs and finally ran a survey to include the entire community in the process.


The survey comprised of all designs with a standardized table of data presented in a randomized order. Participants were asked to report their preference/liking or disliking to each design on a Likert scale. The analysis was done with a stacked bar plot, where positive replies of like or strong like are displayed right of the center and negative replies are displayed to the left of the center.

User responses (see this image for an overview of the designs; raw data and R scripts are available here).

Figure 1: User responses (see this image for an overview of the designs; raw data and R scripts are available here).

In total, we received 534 responses. The results in figure 1 clearly demonstrate the preference for clean and simple table designs, ideally with only horizontal lines. It also shows that the legacy designs, marked with an asterisk, are outdated.

In the survey, it was also possible for participants to comment on the designs. Many comments criticised the outdated designs, bad contrast, and inappropriate alignment. Suggestions regarding colors ranged from avoiding colors at all, over using pastel tones, to vivid and “tropical” colors. It was recommended to provide a flat design with no lines but good spacing between cells and alternating row colors. Another topic was the justification where headers are often requested to be aligned with the content, i.e. right aligned for numbers, but also centered titles was prefered.


We take this result as a clear agreement to remove most of the legacy styles, which was was one of the main questions of the survey. As we intentionally do not design by committee, but involve the community as a true Open Source development, we need your agreement from time to time to remove parts that are not zeitgeisty anymore. Diversity of opinions and independence of a particular person is crucial to us.

The updated styles will consist of simple and plain layouts in black and white, but also of some colored variants. Here are more recent variations based on the survey results:

New proposal for colored tables.

Figure 2: New proposal for colored tables.

As discussed in the blog post Style your Table, the function is limited to the properties first/last column/row, alternative row/column, and the base style with paragraph style for each of these elements. Of course we are still open to include your proposals for new table styles, so feel free to submit your suggestions here, attach it to the ticket tdf#101349 on Bugzilla, or add a link to it in the comments.

In addition to the table styles that will be bundled by LibreOffice by default, it’s in the user’s hands to make their tables beautiful. Here are some useful references:

To cut a long story short: “Less is more”.

The post Results from table styles survey appeared first on LibreOffice Design Team.

by The LibreOffice Design Team at May 08, 2017 09:26 PM

Michael Meeks

2017-05-08 Monday.

  • Up early, M.'s SATs start today - music practise, Bible study etc. Mail chew, consultancy call, sync. with Tamas. Lunch, more calls & admin.

May 08, 2017 09:00 PM

May 07, 2017

Michael Meeks

2017-05-07 Sunday.

  • Up earlyish, practice & played at NCC; Julie over for fine roast chicken lunch; tidied up; played some games. Snoozed, finished cupboard side kick-board. Out to play running games nearby the statue of the Queen, racing, so walked through the graveyard rather than the heath; such a lot of hopeless tombstones. Tea, read stories to babes.

May 07, 2017 09:00 PM

May 06, 2017

LibreOffice Design Blog

Welcome, GSoC’17 students!

Google Summer of Code (GSoC) is a global program focused on bringing more student developers into open source software development during their holiday break. The Document Foundation and LibreOffice participate every year, and we are happy to announce three accepted projects aimed to improve usability.

Usability of Special Characters

Special Characters are an important feature in LibreOffice. However, some enhancements are required to make the Special Characters dialog competitive. In particular, it’s very tedious today to find the right character, which should be solved by a dedicated search field. The UI will follow proposals that have been made some time ago. Welcome, Akshay Deep!

Current state and planned result.

Figure 1: Current state and planned result.

Improvements to Notebookbar

The Notebookbar was introduced last year as an alternative to the classic toolbar. Since than, many improvements have been made, but some functionality is still missing. In this project, it is planned to complete the window resize implementation to handle cropped content, to fix theming issues, to add missing UI controls, to support mouse gestures, and other missing features. Welcome, Gökhan Gurbetoğlu!

Different variants of the Notebookbar.

Figure 2: Different variants of the Notebookbar.

Revamp the Customization dialog

The Customization dialog allows users to customize toolbars and menus, and currently lacks a number of features. For instance, it is not possible to search for a particular function. It also has an interface that focuses more on technical facts rather than ease of use. With a redesign following this proposal, users will have a better user experience as they customize the program to their needs. Welcome, Muhammet Kara!

Planned improvement to the customization dialog.

Figure 3: Planned improvement to the customization dialog.

Last words

Of course, the mockups as shown here are not definite. We start now with the work and in case of inconsistencies or an unclear state, the design may change accordingly.

Finally many thanks also to the honorable mentors Katarina Behrens, Thorsten Behrens, Jan Holesovsky, Szymon Kłos, Samuel Mehrbrodt, Yousuf Philips, and Heiko Tietze.

The post Welcome, GSoC’17 students! appeared first on LibreOffice Design Team.

by The LibreOffice Design Team at May 06, 2017 01:32 PM

May 05, 2017

Gülşah Köse

Code Reviewers

In my opinion code reviewing has lower motivation than writing code but important necessary for good/correct upsteram. At this stage, person who write the code, can learn new things and see different perspectives but we can not talk about such a situation for the code reviewer. She/He has to understand what you are trying to do from the very beginning. And most probably code reviewer will not learn a new thing from that.

Gerrit is perfect code reviewing tool used by LibreOffice. But more perfect thing are code reviewers who spare their time for code reviewing and write your mistake. Every effort is valuable for keeping alive a free software but I also want to thank to code reviewers.

by Gülşah Köse ( at May 05, 2017 09:03 AM

May 04, 2017

>Szymon Kłos

AutoText import from .dotx and .dotm files

In the LibreOffice Writer user can prepare some pieces of documents which can be reused later. That feature is called AutoText and is accessible using menubar (Tools - AutoText). In the AutoText dialog it is possible to manage existing entries and also import new ones from files.
So far only *.dot and *.doc file formats were supported for importing AutoText. Here was my first task at Collabora: to add .dotx and .dotm format support.

One template document can contain multiple AutoText entires. Each entry has own name and can consist of formatted text, text with graphics, tables or fields. To import new templates user need to open AutoText dialog (Tools - AutoText), select according category and from the "AutoText" menubutton choose "Import". File explorer will appear. In the file format listbox new entries were introduced: "Microsoft Word 2007-2013 XML" and "Microsoft Word 2007-2013 XML Template" for *.docx and *.dotx or *.dotm.

AutoText has own long name and shortcut. It is possible to insert AutoText after typing shortcut name into document and pressing F3.

Following GIF shows *.dotx import with complex content (table, shape, formatted text and fields):

by Szymon Kłos ( at May 04, 2017 04:29 PM

May 02, 2017

TDF Infrastructure Status

Disruption in CI and related services (internal router not reachable)

(17-05-03) Right now one of our internal routers has connectivity/routing issues. This causes problems with non-public-facing services not being reachable, and this includes various tinderboxes for CI use and intranet traffic used by jenkins. (So bottom line is that right now now gerrit builds are processed) We try to solve this issue with our hosting provider.

by The Document Foundation at May 02, 2017 10:00 PM

Markus Mohrhard

LibreOffice crash reporting – An update

Nearly a year ago I wrote a blog post describing the LibreOffice crash reporting setup and how the crash reporting code works. Since then we have released two minor versions with the crash reporter enabled (5.2 and 5.3) including many bug fix releases and release candidates. According to the crash reporting server a total of 27 versions are recognized and it is time to list some of the statistics surrounding the crash reporter.

During the one year of operation we had about 900,000 uploaded crash reports with around 152,000 of them reported in the last 30 days. The number of crash reports might sound like a lot, but a huge amount (around 430,000) have been reported for the release. We introduced a regression in the shutdown code during the development window which resulted in a crash if the clipboard was not empty during shutdown. Due to the crash reporter we were able to fix the crash quickly and release a fixed 5.2.5 version ahead of schedule. Without the crash reporter we would not have noticed the problem that quickly.

During the early 5.3 releases we saw a spike of random crashes in the window generation code that we could not really explain. After some careful analysis, it was concluded that these crashes happen as a result of GDI resource leaks. Amazingly, on windows you are only able to hold references to 10,000 GDI handles (fonts, bitmaps, …). Some of the GDI leaks have been fixed ([1][2]) already but we are still chasing some more. At the time of writing, running out of GDI handles is still the number one source of crashes in the 5.3 releases. In an attempt to make it easier to spot these crashes the number of open GDI handles are now reported as part of the metadata by the crash reporter (example in a recent crash). Starting with the 5.3 release the metadata also contains the localization of the installation as we found a few crashes that appear to be locale dependent.

As the transformation from a stack and memory dump to a human readable stacktrace happens on the server we need symbol information to map stack information to source code files, method names and line numbers. These symbol information currently occupy 97GB of data on the server with many of the symbol information being for system libraries. Despite this large amount of symbol information we have still recorded around 100,000 libraries without associated symbol information. These range from system libraries without corresponding debug information, libraries for multimedia codecs, OpenGL and OpenCL drivers to antivirus solutions that inject code into LibreOffice. As part of the symbolization we received around 11,000 different signatures for crash reports. However many of them are actually crashes caused by the same problem and just crash in different places. As an example the crash during shutdown is known with many dozens if not even hundreds of different crash signatures.

Additionally, 179 bug reports have been connected to the crash reporter and 42 commits to the LibreOffice master branch reference the crash reporter. Most of these are attempts to fix reported crashes. Sadly we don’t have a common way to reference the crash reporter yet so there are surely more commits that I could not find with a quick search.

With the next minor release (5.4), it is expected that the Linux version of our signal handler allows crash report generation even when the LibreOffice signal handler overwrites our crash reporting signal handler. All in all the crash reporter works amazingly well and we have been able to fix a number of of serious crashes already. With more time we hope to be able to fix more of the reported crashes and therefore improve the quality of LibreOffice even more.


As always, help in fixing and researching some of the reported crashes is highly appreciated. Especially the more obscure crash reports require detective work to trace them back to their cause.

Additionally help with the crash reporting server is always welcome. The server is written in python with django and some javascript. No C++ or LibreOffice code knowledge required 😉

by Markus Mohrhard at May 02, 2017 06:23 PM

May 01, 2017

Andreas Mantke

Anleitung zum Erstellen von LibreOffice Extensions

Meine Freizeit in den letzten Wochen habe ich häufig dazu genutzt, eine Anleitung für das Erstellen von LibreOffice Extensions (Erweiterungen) zu schreiben. Eine erste Version dieser Anleitung, die zunächst die grundsätzliche Struktur und den Bau von Extensions behandelt, die weitere Inhalte LibreOffice hinzufügen, beispielsweise weitere Vorlagen oder AutoTexte (Textbausteine). Die Anleitung wird in den nächsten Wochen um weitere Abschnitte ergänzt werden. Sie können die erste Version von meiner Homepage hier  herunterladen. Die Anleitung steht unter der Creative Commons Lizenz 4.0 ohne kommerzielle Nutzung.

by andreasma at May 01, 2017 08:13 PM

Markus Mohrhard

cppunit 1.14 released

It has been quite some time since the last cppunit release – about 3.5 years according to wikipedia – despite having enough changes for quite some time. After seeing some recent LibreOffice commits that would have benefited from the existing unreleased commits I finished the work. Here is a short summary of the changes to cppunit 1.14:

Removed features and platform support

  • Removed special support for BeOS
  • Removed QT test runner
  • Removed MSVC6 test runner
  • Removed MSVC6 plugin
  • Removed support for pre-C++11 compilers
  • Removed support for compilers that don’t support RTTI and default template arguments in standard containers


New features

  • Support for enum class in template<typename T> CppUnit::assertEquals, and therefore in CPPUNIT_ASSERT_EQUAL
    • An example can be found in the internal examples directory
    • Examples for the new assertion macros can be found in the internal examples directory
    • Note that the first argument is always the reference value, so CPPUNIT_ASSERT_LESS(x, y) will check that y is less than x. Sadly this confusing behavior is required to keep compatibility with CPPUNIT_ASSERT_EQUAL.
  • TestCaller now takes as a constructor argument any callable that can be put into std::function<void()>
  • Based on the TestCaller change, CPPUNIT_TEST_PARAMETERIZED has been added that works similar to CPPUNIT_TEST but takes as a second argument an iteratable whose items can be passed to the test function. std::bind of the test method with each element of the iteratable needs to result in an object that can be stored in std::function<void()>.
    • An example can be seen in the examples directory.
  • Various warning and bug fixes
  • New and improved build system (thanks to Tomas Chvatal and David Tardon)


With the removal of the old features the code now much smaller and the next release will most likely move into the directory of modernizing the code base. Thanks to all contributors who provided patches for this release.

As always bug reports are welcome at the LibreOffice bug tracker.


by Markus Mohrhard at May 01, 2017 06:46 PM

April 27, 2017

LibreOffice Design Blog

Please participate in a survey about table styles

Some users were desperately Waiting for LibreOffice Table Styles, so this feature was implemented in one of the last year’s GSoC projects and released with version 5.3 as announced in the release notes and release videos. Although not all features have been implemented yet and, for instance, the editing dialog is missing, we want to continue with the design work and revise the inbuilt table styles.


Please vote

Please vote to make this not happen.

For this purpose we asked on the mailinglist for proposals and received a number of nice ideas. Together with the existing styles we want to bring these now up to your decision. Please rate the images on a scale from strongly disagree, over disagree, neither agree nor disagree, agree, to strongly agree.

(Edit: Survey close, results reported at

Of course we are interested in your first impressions. So feel free to comment here, or at the second page at the survey.

The post Please participate in a survey about table styles appeared first on LibreOffice Design Team.

by The LibreOffice Design Team at April 27, 2017 10:38 PM

April 26, 2017

>Marius Popa Adrian

HSQLDB binary format import

Tender approved in the budget by the TDF board In order to remove the legacy Java / HSQLDB database completely, and move fully to Firebird in LibreOffice 5.4 it is necessary to be able to import old document data with high fidelity from the HSQLDB binary file format which we have used (for performance) inside so many of our existing ODB files. This task involves reading the existing (reasonably

by Adrian Marius Popa ( at April 26, 2017 11:46 AM

April 25, 2017

Eike Rathke

LibreOffice in The Matrix [m]

If you use the Riot App (or any other) to connect to the Matrix and communicate, there's now a LibreOffice room that is bridged with the #libreoffice IRC channel on IRC channels are bridged to the matrix already for some time, but so far you had to type
in your matrix mobile app, or in the browser app know the bridge exists and select from the list, now you can just search in the available matrix rooms for LibreOffice and join. This should be a convenient method to join a chat with other LibreOffice users for people who otherwise don't use IRC or don't want to install an IRC app just for this on their mobile, smartphone, tablet..

The #libreoffice IRC channel and thus the LibreOffice matrix room is dedicated to user questions around all LibreOffice applications. Join and enjoy, get help and help others.

by erAck (23@ at April 25, 2017 08:45 PM

April 22, 2017

Eike Rathke

Tooting with Mastodon

Trying Mastodon at with my usual username, also on,, and, no idea yet if or where I'll stay. It has potential. Will it survive longer than
Pick your instance.

by erAck (23@ at April 22, 2017 04:30 PM

April 21, 2017

LibreOffice Design Blog

New branding for LibreOffice 6.0

The next release cycle of LibreOffice is scheduled for Q1/2018. And as known from past updates we want to introduce a unique branding for the release. This time it is planned to collaborate with the Open Source Design group.

Open Source Design

This group is a community of designers and developers pushing more open design processes and improving the user experience and interface design of open source software. They provide a job board where projects can ask for support, and that’s what we did for the new branding at Branding for LibreOffice 6.0.

While the job has been announced at the Open Source Design board that does not mean your contribution is not possible or not required. On the contrary, we want you to submit proposals – and maybe also to join the community of designers.

Banner used in LibreOffice 5

Figure 1: Banner used in LibreOffice 5.


The task is to create a new motif that will be used at the splash screen, the about dialog, the Windows installer, and for banners/flyers/stickers outside the program. We like to get variants of the design with and without the sub-line according the logo policy (the logo itself must not change). And nice to have are variations with labels for alpha/beta/daily builds. The design can be based on the metaphors transparency, sustainability, freedom, community, MUFFIN, green, hexagon, circular. But we are open for creative ideas. Ideally we get some interesting proposals and let the community decide which one to use finally.

As a community-driven Open Source project we have a few prerequisites:

  • Deliverables must be done in an Open Source license, e.g. CC-by-SA
  • The concept should work globally
  • The design process has to be fully transparent and the community should get involved
  • Task should be finished until end of July 2017 so that we can run a survey with the proposals


We have several resources to start off:

Now it’s your time to be creative. We are looking forward your ideas.

The post New branding for LibreOffice 6.0 appeared first on LibreOffice Design Team.

by The LibreOffice Design Team at April 21, 2017 09:31 AM

April 20, 2017

>Marius Popa Adrian

LibreOffice bug #106866 is now fixed : When I change the field length of the result is multiplied by 4 each time (firebird, varchar)

Bunth Tamás committed a patch related to issue #106866: query character size instead of bytesIt has been pushed to "master": It will be available in 5.4.0. The patch should be included in the daily builds available at in the next 24-48 hours. More information about daily builds can be found at:

by Adrian Marius Popa ( at April 20, 2017 12:58 PM

April 18, 2017

Miklos Vajna

Improved rountrip of PDF images in LibreOffice

This is a follow-up to the previous post that described how it is now possible to insert a PDF file as an image in LibreOffice and export that back to PDF, while keeping the original PDF contents. I’ve recently improved this feature so the resulting file is smaller and the vector image can be viewed in more viewers. First, thanks to PMG who made this work possible.

Let’s look at the previously mentioned front page of a magazine sample when it’s viewed in okular. (A KDE pdf viewer, i.e. something that’s not Adobe Acrobat). The previously used reference XObject PDF markup is not handled by it, so the bitmap fallback was displayed:

Compare it with the new result:

Notice the sharp text in the first line.

Also the size of this sample is smaller now, since we don’t write a large bitmap, and the not shown second page of the PDF image: 2 385 984 → 1 605 558 bytes (about one third of the output is avoided).

Both techniques have pros and cons, here is a summary:

  • The reference XObject approach allows you to preserve the full PDF data of the image: if it was of multiple pages, even that. Also, the LibreOffice code for this is simple: we just preserve a byte array — that can hardly go wrong. The problem is that no non-Acrobat PDF viewer implements this, including e.g. your printer most probably.

  • The new approach uses the tokenizer I originally wrote for PDF signature verification purposes — it extracts the page stream of the first page from the original file and uses it as a form XObject in the export result — this is the same as how e.g. pdfcrop works. This markup is handled by almost all PDF viewers and also the resulting size is smaller, since the data of other pages is dropped and there is no fallback bitmap. The problem may be that this is a much more complex scenario, so it may go wrong (as usual, bugreports are welcome).

Nevertheless, the new approach seems like a much better default, so LibreOffice no longer writes the reference XObject approach unless you explicitly request it in the PDF export dialog.

Some perhaps interesting details:

  • PDF page streams may be provided by multiple objects, but form XObjects must have a single stream, so it we handle the case when different parts of the page stream are compressed in different ways.

  • LibreOffice writes PDF-1.4 by default, in case you insert a PDF image that uses PDF-1.5+, we use pdfium to downgrade that markup to 1.4, and only then insert it.

  • Copying the page stream of the image is not enough, we also recursively copy all referenced objects from the source PDF, while rewriting all contained references, since the objects IDs in the old and new files differ. We also take care of proper scoping of named references in the resource dictionary, so you can use this feature recursively (insert a document as a PDF image, even if that document itself contains PDF images already). :-)

All this is available in LibreOffice master, towards 5.4.

April 18, 2017 07:13 AM

April 17, 2017

TDF Infrastructure Status

Odfauthors currently unavailable

(17-04-28) We're moving odfauthors site to a new hosts and thus it is unavailable at the moment. Sorry for the short notice and inconvenience.

by The Document Foundation at April 17, 2017 10:00 PM

April 16, 2017

Dennis Roczek

Nabble interface…

Since a few months I’m also an administrator of our Nabble archives. I started to check the posts and removing spam and banning the spammer. Slowly I get one archive cleaned after another.

From time to time I realize that the interface is missing some bits, so I change the interface in the Nabble’s “NAML macro language”. I added access keys to places where I think it is useful or where I use it on my own.

This weekend I had my fight with the NAML to get web feeds placed to the html head-tag for a few hours as their macro language is not documented and not really intuitive. 😦


If you have any improvement requests, simply drop me a line. 😉


by dennisroczek at April 16, 2017 10:31 AM

April 12, 2017

Andreas Mantke

LibreOffice Extensions and Templates Site: New Plone Add-On Releases

The LibreOffice extensions and templates site runs on the Content Management System Plone 5 with some add-ons. I added together with our service provider some fixes and improvements to this add-ons during the last weeks. I made new releases of this Plone add-ons and uploaded them to the Python Cheeseshop:

by andreasma at April 12, 2017 06:32 PM

April 09, 2017

Andreas Mantke

LibreOffice Extensions and Templates Site: Fix For Listing Releases

The listing of LibreOffice extension and templates releases and linked releases had an issue. The newest final release was not shown to the user. This issue was caused from the custom URL for the releases. The new releases and linked releases get an URL that placed them at the top of a list, which lead in the reverse order to getting them to the bottom of the list.

I fixed this issue with a new sorting key. The releases are listed in reverse order by the date they were created. The current final release is choosen by its release date in reverse order.

I contributed this fix to the TDF Github repository and delivered it to the LibreOffice extensions and templates website today.


by andreasma at April 09, 2017 03:55 PM

April 04, 2017

Florian Effenberger

LibreOffice-Projektwochenende 2017 – Terminfindung

Im deutschsprachigen LibreOffice-Projekt ist es bewährte Tradition, mindestens ein Projektwochenende im Jahr abzuhalten. Derzeit laufen die Planungen für das erste Treffen in 2017 – und du kannst dabei sein!

Neben den regelmäßigen Telefonkonferenzen sind persönliche Treffen durch nichts zu ersetzen, ermöglichen sie uns doch, gemeinsame Aktionen, Projekte und Veranstaltungen zu koordinieren, uns gegenseitig besser kennenzulernen – und natürlich auch neue Projektmitglieder und Interessierte herzlich willkommen zu heißen.

Ein LibreOffice-Projektwochenende
Ein LibreOffice-Projektwochenende

Für gewöhnlich treffen wir uns von Freitagnachmittag bis Sonntagmittag. Um die Terminplanung zu erleichtern, haben wir eine Umfrage aufgesetzt. Schreib in den Kommentar auch gerne dazu, aus welcher Gegend (nächst größere Stadt) du kommst, damit wir einen idealen Treffpunkt finden können. Bislang waren wir unter anderem im Linuxhotel in Essen und an der Fachhochschule für öffentliche Verwaltung in Hof.

Wenn du Lust hast, in eines der großen Open-Source-Projekte hineinzuschnuppern, die „Macher“ hinter dem Programm kennen zu lernen und selbst bei uns mitzumachen, dann ist das die ideale Gelegenheit dazu! Anhand der Umfrage bestimmen wir den Termin und auch die Örtlichkeit.

by Florian Effenberger at April 04, 2017 07:47 AM