The Document Foundation Planet


July 29, 2016

Official TDF Blog

Tender to redesign and implement the download and donate pages on the LibreOffice website (#201607-01)

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks for companies or individuals to

redesign and implement the download and donate pages on the LibreOffice website

to start work as soon as possible.

The combination of the download and the donation pages is the largest source of income for The Document Foundation. It is implemented into the Silverstripe CMS with donation mechanism integration to PayPal, ConCardis, BitPay and Flattr. We seek to optimize user experience by a redesign and update of both pages including technical implementation.

TDF is looking for an individual or company to, as a turnkey project, design and implement the following:

  • redesign and optimization of both the download and the donate page based on the proposals in the appendix (click here to download)
  • design of new graphics and icons to improve visual appearance
  • integration of TDF-provided images and texts
  • adaption of the design to match the current website CI/theme
  • for the donate page
    • A/B testing with frameworks such as Sixpack (
      • evaluation of odd numbers, e.g. have 9, 14, 21, 99 USD as options, with 14 as default
      • varying of donation amount options and preselection on a regular basis
      • tracking of how many users change the default
      • providing means of collecting and displaying results
    • adaption and update of design based on the result of the A/B testing
      -> all changes to the page should be done in an incremental fashion and evaluated against the existing page
    • implementation of recurring donations at least via PayPal, optionally for other mechanisms
    • recording of successful payments in a database (e.g. via callback URL) for analysis
    • integration of automated e-mail confirmations after successful donations
    • automatic detection of user’s currency based on GeoIP

The source code for both pages can be found at

Required Skills

  • knowledge of the SilverStripe CMS
  • experience with integration of PayPal, ConCardis, BitPay and Flattr
  • expertise with development of PHP and CSS

We exclusively use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Creative Commons Attribution-Share Alike 3.0 License.

Other Skills

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

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

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to 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.

TDF is looking forward to receiving your applications, your financial expectations (name the final price for the turnkey project), and the earliest date of your availability, via e-mail to Florian Effenberger at no later than September 1, 2016. You can encrypt your message via PGP/GnuPG.

Applicants who have not received feedback by October 1, 2016 should consider that their application, after careful review, was not accepted.

Click here to download the appendix

by Florian Effenberger at July 29, 2016 09:24 AM

July 28, 2016

Jan Iversen

Infra meetup in Kaufbeuren

At LibreOffice and DocumentFoundation we work hard to make life easier for our many volunteers.


This week is dedicated to a meetup in Kaufbeuren (Germany), where we go through the infrastructure, spreading the knowledge as well as discussing future posibilities.

Our infrastructure is actually quite big, with a lot of services to help Developers/Documenters/Testers and other volunteers.

devcentral gives a nice (but not complete) overview of the developer resources.

Our tinderboxes runs continuously building/testing LibreOffice while our CI system builds every patch submitted, to control the quality before actually integrating the patch into master.

Infra is like the rest of the community, very lively, friendly to new people, so do not be afraid to join us. We have many small and big sysadmin tasks open, so it can be a way for you to get experience.

We all work toward a common goal:


Make sure it continues to be the opensource office suite of high quality and usability.

Tomorrow I go back to spain again for at (in my opinion a well deserved weekend).

Jan I.

by jan at July 28, 2016 01:39 PM

July 26, 2016

Official TDF Blog

The Document Foundation welcomes Canonical to the project Advisory Board

canonical-logo3Berlin, July 26, 2016 – The Document Foundation (TDF) today announced Canonical, the company behind the Ubuntu GNU/Linux operating system, has joined the project Advisory Board.

Canonical is the company behind Ubuntu, the leading operating system for cloud and the Internet of Things. Most public cloud workloads, new smart gateways, self-driving cars and advanced humanoid robots are running on Ubuntu. Additionally, Canonical leads the development of the snap universal Linux packaging system for secure, transactional device updates and app stores.

Since its first release in early 2011, LibreOffice has been the default office suite of the Ubuntu operating system. With the announcement of LibreOffice 5.2 in August 2016, it will be one of the first applications to be available as a snap package which will make LibreOffice easier and simpler for The Document Foundation to maintain.

“Canonical has been an active member of the LibreOffice community since the early days, and one of the most frequent sponsors of the LibreOffice Conference. By becoming a member of the project Advisory Board, Canonical will provide the experience and the insights necessary to improve the presence of free software – and LibreOffice – inside enterprises and public administrations worldwide”, says Marina Latini, Chairwoman of The Document Foundation.

“We are extremely pleased to become a member of the LibreOffice Project Advisory Board and having the opportunity to provide our guidance and insights to help improve LibreOffice for users around the world,” said Will Cooke, Desktop Engineering Manager for Canonical. “At Canonical, we believe in the power of open source software. We are committed to developing it, and will support projects and initiatives that help to promote its benefits to a wider audience.”

The Advisory Board’s (AB) primary function is to represent The Document Foundation’s Sponsors, and to provide the Board of Directors (BoD) with advice, guidance and proposals. In addition, the AB is at the kernel of the LibreOffice ecosystem, and as such is key for the further development of the project.

by Italo Vignoli at July 26, 2016 02:28 PM

Elections of the next Membership Committee

Dear Community,

we hereby officially announce the upcoming elections for the next Membership Committee of The Document Foundation.

As per § 12 II of our statutes, [1] the Membership Committee’s term lasts two years. The current Membership Committee started its duty on September 19, 2014. Therefore, the old Membership Committee remains in charge until the end of September 18, 2016, so the new MC will be in charge the day after that, which is September 19, 2016.

As per § 6 III, only members of the Board of Trustees of The Document Foundation, as well as current members of any of its bodies, are eligible to be elected into the Membership Committee, and the election is overseen by the Board of Directors (§ 12 II).

The active electoral right is reserved to those who have been members of the Board of Trustees before this announcement (§ 12 II).

There is one more notable limitation: Per § 8 IV of the statutes, a maximum of 1/3 members of the Membership Committee is allowed to work on an employment basis for the same company, organization, entities, affiliates or subdivisions.

Nomination of candidates fulfilling the above requirements, as well as self nomination is welcome. In total, at least five members of the Membership Committee members are required, and given there are enough candidates, up to four deputies can be elected based on the board decision from June 6.

Re-election of current members of the Membership Committee is explicitly permitted (§ 12 II).

Please send nominations and self-nominations via e-mail to (which reaches the Board of Directors in private) and also (!) to (which is a public mailing list). We kindly ask nominees who would like to stand for elections to provide a statement of up to 75 words on their candidacy as continuous text (so no bullet lists or multiple paragraphs). In addition, please also provide your full name, e-mail address and your corporate affiliation, if any, and please announce that you will provide information on all future changes as soon as possible.

Discussions with the candidates and questions to them as well as questions about the elections should take place on the public mailing list. For details on how to use the mailing list, see

Eligible voters will receive further details via e-mail prior to the start of elections, including a summary of the candidates, details on how to access the voting system, and instructions on how to independently verify the vote count. Please ensure we have your recent and correct e-mail address on file. For questions, you can reach the Board of Directors in private at

Following the time line set forth in § 12 II, requiring a 45 day advance notice, we hereby announce the following time line for the elections:

  1. 2016-07-25: announcement of the elections (this e-mail); and start of the nomination phase
  2. 2016-08-31, 24:00 CET/UTC+2: end of the nomination phase (one week before the election starts, as per § 12 II)
  3. 2016-09-08, 00:00 CET/UTC+2: official start of the elections (at least 45 days after #1, as per § 12 II)
  4. 2016-09-14, 24:00 CET/UTC+2: end of the elections
  5. 2016-09-15: announcement of the preliminary results; and start of the challenging phase
  6. 2016-09-17, 24:00 CET/UTC+2: end of the challenging phase
  7. 2016-09-18: official announcement of the final results
  8. 2016-09-19: new Membership Committee officially in charge

Be advised that the newly elected Membership Committee will only be in charge beginning from September 19, 2016.

Challenges to this election announcement with respect to the deadlines outlined have to happen no later than seven (7) days after this announcement, via e-mail to (which reaches the Board of Directors in private).

Challenges to the preliminary results of the election have to happen until the deadline set forth above, via e-mail to (which reaches the Board of Directors in private).

On behalf of the Board of Directors,
Marina Latini, Chairwoman of The Document Foundation

[1] (binding version) and (non-binding translation)

by Italo Vignoli at July 26, 2016 12:03 PM

July 25, 2016

TDF Infrastructure Status

Outage of Falco

Due to a massive disk failure on our hypervisor falco, the following services are offline at the moment:

  • Gerrit
  • CI
  • Bugzilla

Other services might be affected as well.

We will keep you up-to-date.

Update July 26, 0735UTC

Gerrit, Jenkins, Bugzilla are back up.

Update July 26, 0855UTC

Falco needs to be rebooted to rescue, as we ran into a Bug in Debian Jessie (

by The Document Foundation at July 25, 2016 10:00 PM

Miklos Vajna

A LibreOffice / AddressSanitizer setup

sanitizers (ASAN, UBSAN, etc.) is a collection of tools to detect memory corruption bugs, undefined behavior and more by instrumenting the code generated by the compiler. (That’s the main difference from valgrind.) From LibreOffice’s perspective one more important difference is that there is a Jenkins_Linux_Ubsan tinderbox that makes sure that the master branch is kept clean from errors detected by a given configuration.

So when the tinderbox failed after a commit of mine, I wanted to set up a similar environment locally, reproduce and fix the bug, and push the fix once I saw that the fix indeed solves the problem. You can set many options both at build and runtime, so while we have some documentation on the TDF wiki (and also Stephan was kind enough to share his config) on how to use these sanitizers, it wasn’t clear to me what to do step by step. So here is one possible setup that worked for me — in my case I wanted to reproduce a stack-use-after-return problem. If you haven’t ever built LibreOffice before, then go to the Development wiki page, first do a normal build, and if everything went fine, came back here.

Build options

My autogen.input looks like this:

CC=clang -fsanitize=address
CXX=clang++ -fsanitize=address

Which is a normal clang debug build, except:

  • you need to add -fsanitize=... to CXX (not to CXXFLAGS), as explained on the wiki

  • you need to explicitly disable Firebird integration for now


My first attempt failed at build time, as even the tools used only during the build are instrumented, and some memory leak was detected there, which means the build aborted before reaching the problem I was interested in. To disable leak detection during build, and disable parallelism (I needed this, as I did the build in the background while using the machine for something else):

make build-nocheck ASAN_OPTIONS=detect_leaks=0 PARALLELISM=1

This also means that I explicitly disabled running any tests, as I knew which is the single unit test I want to run for the purposes of reproducing and fixing the problem.


Once the build completed, it turns out that the stack-use-after-return detection is disabled at runtime by default, which means I could not see any problem locally. Here is the commandline to run one specific CppunitTest with this detection on:

cd sw; make -sr CppunitTest_sw_tiledrendering ASAN_OPTIONS=detect_leaks=0:detect_stack_use_after_return=1

Again, this is just one possible setup, you can use other -fsanitize=... options, other environment variables during build and during testing — but hopefully it helps in the future to avoid pushing fixes for such problems detected by sanitizers just blindly.

July 25, 2016 07:52 AM

July 23, 2016

>Akshay Deep

Redesigning the Template Manager

Midterms for GSoC 2016 have passed and my first project Redesigning the Template Manager is reaching completion. Therefore, I have decided to encapsulate all the modifications and enhancements that I (along with my mentors, Samuel Mehrbrodt and Yousuf Philips) have made to the Template Manager and some other UI components, namely Start Center, Presentation Wizard, etc. The idea behind the project can be seen here: Introduction: GSoC 2016 with Libreoffice

Template Manager

  • All Templates view replacing the previous Folder view
  • Search, Application and Category filters replacing Tab design

New Template Manager

  • Removal of Save as Template mode (since LibreOffice 5.2)
  • Context Menu for non-browse focused entries. (Open, Edit, Set as Default, etc..)       rnotes2
  • Controls for browse functions such as Import, Export, Move and Online Templates Link
  • Marking of default templates for each application
  • Dropdown control to create and remove categories, resetting the templates for specific applications and refresh the viewblog11
  • Inbuilt category selection dialog for importing and moving templatesblog12
  • Title and Category as tooltips when hovering over thumbnailsblog121.png
  • New ‘Selected + Hover’ state in thumbnail view
    • How to try it? Just select a template. Now hover over a selected template and an unselected template to see the difference.
  • Removal of remote files view (since LibreOffice 5.3)
    • dead and buggy code, created long time ago
    • hidden if experimental mode is not enabled, crashes frequently
    • no way to download previews for each remotely available template
    • LO has dedicated Remote Files Dialog since 5.1, which does the job much better


      Remote Files Add Service

  • Help, Open and Close controls added as HIG recommends

Save as Template

Template Selection (Impress)

  • Tools > Options > LibreOffice Impress > General > Start with Template Selectionblog_sel2
  • Enable users to select a template when Impress starts
  • Easy means to disable the dialog on Impress startup
  • Remove Presentation Wizard to push forth the Selection dialog
  • Dialog is Enabled by default


    Impress: Template Selection dialog

Template Menu

  • File > Templates > Open, Save as, Managetemplate_menu
  • Bug 61396 Possibility to edit a template not in Template Repositoryblog113.png

Start Center

  • All Templates view in Start Center with application filter
  • Context menu for templates in start center


    Start Center Template Selection

Other fixed bugs

Overall, my first project went smoothly, thanks to the help and guidance provided by my mentors, Samuel Mehrbrodt and Yousuf Philips. I had a lot of time remaining in the GSoC and hence, I picked up another project, Emoji Toolbar Control. It’s a new idea mentioned here: Bug 100100: Emoji Toolbar Control. I will also follow it with a blog about the enhancements I made and the problems and issues associated with the new feature.


by akkidevblog at July 23, 2016 09:38 AM

July 22, 2016

Michael Meeks

2016-07-22 Friday.

  • Up early, chat with Eloy, Tor, ownCloud Webinar practice with Lenny, Snezana & Cornelius.

July 22, 2016 10:42 AM

July 21, 2016

Michael Meeks

2016-07-21 Thursday.

  • J's birthday - presents at breakfast; dug through the mountainous admin-queue, synched with Andras & Kendy.

July 21, 2016 09:00 PM

July 20, 2016

Michael Meeks

2016-07-20 Wednesday.

  • Calls variously through the day; chased this & that, admin left & right.

July 20, 2016 09:00 PM

Jiri Eischmann

LIBOCon: get around Brno

Yesterday I added Get around Brno page to the LibreOffice Conference website. There you can find comprehensive information about public transport in Brno, how to buy tickets, how to get to the hotel/venue if you arrive by train/bus/car/plane etc. All accompanied with maps and pictures of described places. So hopefully no one will get lost on their way to the hotel or venue, or struggle purchasing tickets.

If you’re coming to LibreOffice Conference 2016, definitely check it out. You may also want to download the page for offline usage in case you won’t mobile data.


by eischmann at July 20, 2016 12:18 PM

July 19, 2016

Michael Meeks

2016-07-19 Tuesday.

  • A lamentable lack of blog authoring recently; just overwhelmed with a huge quantity of admin and sales work. Anyhow - good news - we've changed how CODE is distributed and updated to make it great for home use - and also announced an exciting partnership with Nextcloud - it is good to work with old friends on both sides of this situation. Thanks to Andras Timar for some extraordinary work here, with help from Lukas Reschke, great stuff.

July 19, 2016 09:00 PM

Official TDF Blog

LibreOffice developer interview: Winfried Donkers

Winfried Donkers LibreOffice developer

In this week’s developer interview, we talk to Winfried Donkers, a Dutch coder who has been using LibreOffice (and its predecessors) for almost two decades, and today works on Calc.

Where are you based, and do you work for a LibreOffice-related company or just code in your spare time?

I live in the Netherlands, in a small village in Zeeland, near the North Sea. My work is within cycling distance – I don’t drive cars any more. I contribute mostly in my spare time, but if people or companies want me to fix a bug in my ‘area of expertise’ I will spend some company time. The company I work for uses LibreOffice.

How did you get involved with LibreOffice?

I first used StarOffice in the 1990s, but that was just a short fling. I used since version 1.1, and the company I worked for at that time switched to somewhere between 2000 and 2002. The company I work for now used an old version of Microsoft Office and I managed to get the company to choose LibreOffice in October 2011 (I think). Around that time I personally chose to contribute to LibreOffice.

What areas of the code do you normally work on? Anything else you want to tackle?

I concentrate on Calc functions, both fixing bugs and adding new (missing) functions. I am happy with that; LibreOffice is quite complex and I would rather know one area well than many areas superficially. I am still learning a lot about Calc and its functions and I’m far from being an expert.

What is your vision for the future, or what would you most like to see improved in LibreOffice?

I would like LibreOffice to be one of the available, undisputed and fully-fledged office applications and not just a ‘cheap’ alternative to Microsoft Office. LibreOffice is much more than that. A better (more stable) Base would be welcome. I hardly use it because of hitches. But having said that, I cannot contribute to Base and the people working on Base are doing a great job, especially considering their limited time.

What do you do when you’re not working on LibreOffice?

In my spare time when I am not working on LibreOffice I like to sail. My wife and I have a sailing boat and I sail with my wife as well as alone a lot. Also I like to work on our boat, ‘restoring’ as it is a classic boat.

Thanks Winfried! And to any other interested developers reading this: join our community and help to make LibreOffice even better.

by Mike Saunders at July 19, 2016 12:38 PM

July 18, 2016

Björn Michaelsen

LibreOffice available in the snap store

‘Cause the players gonna play, play, play, play, play
And the haters gonna hate, hate, hate, hate, hate
— Taylor Swift, 1989, Shake It Off

The latest release candidate of the upcoming LibreOffice 5.2.0 feature release is available for installation from the snap store. This makes it very easy to install this prerelease of LibreOffice for testing out new features (an incomplete glimpse on what to look forward for can be found on the LibreOffice 5.2 release notes page, which is still under construction, go on #libreoffice-qa if you want to help with testing).

To install this build of LibreOffice on any snap supported platform just open a terminal and run:

sudo snap install --channel=beta libreoffice

To start this version of LibreOffice, you run:


The full path should only be needed, if you have another version of LibreOffice installed. If that is not the case a plain “libreoffice” should do.

Note that this version is still a prerelease and not for production use yet. That said, it is mostly a full-featured package including everything that would be packaged for end users of LibreOffice. While this package also includes a set of localizations to show that they work, their number has been restricted to English, French, German, Italian, Portuguese (Portugal/Brazil), Spanish for size considerations for now. This set is mostly the one Ubuntu provides on its installer images (removing those that might have issues as they need special fonts).

Another difference to prior downloads is that while LibreOffice still uses X11, now runs in confinement provided by snaps. Unlike previous releases on Ubuntu, this package defaults now to do so via the newer GTK3 backend: This has a lot of advantages, see details on Caolans Blog, but it is also a younger backend, that hasnt has that much time to be polished yet.

by bmichaelsen at July 18, 2016 01:23 PM

Miklos Vajna

On LibreOffice's ViewContact/ViewObjectContact/ObjectContact

I’ve recently fixed a missing-repaint problem in LibreOffice’s headless backend, but the root cause wasn’t close to the symptom I saw first. Part of the debugging process was to understand what’s the relation between sdr::contact::ViewContact, sdr::contact::ViewObjectContact and sdr::contact::ObjectContact.

See this old presentation and the review of my documentation update for the details, but the short version is that:

  • somewhat confusingly, sdr::contact::ViewContact is part of the model, and there is one sdr::contact::ViewContact object per shape

  • sdr::contact::ViewObjectContact is part of a view, and there is one sdr::contact::ViewObjectContact per shape, per view

  • finally sdr::contact::ObjectContact is part of a view, and there is one sdr::contact::ObjectContact per view

So the answer to my original Is it normal that I have two object contacts and a single view contact for a shape and two views? question is: yes, that’s expected. ;-) Hopefully the updated documentation is now more clear, the incorrect 1:N relation in the original class diagram first confused me.

July 18, 2016 08:17 AM

July 16, 2016

Michael Meeks

2016-07-16 Saturday.

  • Off to Aldeburgh, worked in the car on partner agreement pieces. Great to see B&A had a lovely relaxing time on the beach with them. Home late. More admin bits.

July 16, 2016 09:00 PM

July 12, 2016

Andreas Mantke

Adding New Member To The Templates Website

I had to work around an issue with user add form in the LibreOffice templates website and found a solution. I added the user within the Zope Management Interface (ZMI), edited the user, assigned him to a group and reset his password  in administration interface later. That takes some extra effort, but in the end it works for now.

by andreasma at July 12, 2016 08:37 PM

Jiri Eischmann

Libocon 2016: travel info

LibreOffice Conference 2016 is less than two months away and people are starting to look for information how to get to and around Brno. We’ve prepared a page with extensive information how to get to Brno.



If you go by plane, the best option is flying directly to Brno. You can get very cheap tickets from London-Stansted (Ryanair), London-Luton, Eindhoven (Wizz Air) and moderately cheap tickets from summer destinations (Spain, Greece, Italy,…) with SmartWings. There is also a daily Lufthansa flight to Munich which can connect you with dozens of destinations around the world (it’s particularly good for flights to the US, you can reach East Coast in 10 hours). But the line is rather oriented at business travelers, the plane is small and prices tend to be high.

The second best option is flying to Vienna which has flights to dozens of destinations in the world and prices are pretty good. RegioJet operates direct buses between the airport and Brno, so you can get conveniently to Brno in 2 hours. Another option is the airport in Prague, but it has fewer connected destinations and  it takes longer to get from there to Brno.


If you happen to live in Germany, Austria, Poland, Slovakia, or Hungary. Train may be the best option for you. Brno has direct trains to those countries.


You can also come by car. You can be prepared for delays because of many road reconstructions. There is a long-term reconstruction of D1 highway (between Prague and Brno) and there are five sections under reconstruction this season. There are also several more motorways which are partly or completely closed for the same reason. Most of the road work happens during summer holidays, but some of it will be going on in Sept, too. It’s hard to estimate which now. Traffic jams occur, so give yourself enough time if you go to Brno by car.


If you’d like to go by bus, we can recommend RegioJet. They connect Brno with many destinations in Europe, they have very comfortable buses with free hot drinks, cheap snacks, wifi, entertainment systems and for reasonable prices. Other bus companies are e.g. Flixbus or Eurolines.

And More

The LibreOffice community is truly global and attendees from further destinations may not know much about the Czech Republic. Maybe you wonder what’s the currency here, what’s the weather like in Sept etc. We’ve prepared a page with the basic information about the country. For more information we link CzechTurism website where you can learn much more information which is relevant to travelers to the Czech Republic.

Soon, we will also extend information about how to get around Brno (public transport system, how to buy tickets, where, how to get to the conference hotel, venue,…). Stay tuned😉

by eischmann at July 12, 2016 03:35 PM

Official TDF Blog

LibreOffice developer interview: Krishna Keshav

Krishna Keshav LibreOffice developer

In our next developer interview, we talk to Krishna Keshav, a new contributor to the LibreOffice project who is currently working on Easy Hacks and plans to expand into more complex bug-fixes in the future…

Where are you based, and do you work for a LibreOffice-related company or just code in your spare time?

I am currently pursuing my Bachelor’s in Computer Science and have just entered my final (fourth) year of study at PES College of Engineering. PESCE is located in the small town of Mandya in the state of Karnataka, India. I use LibreOffice for individual purposes. I mostly use Writer as my requirements are limited to it, but I also use Impress for creating presentations whenever needed. The best thing I like is its availability for every system, and it loads faster than its counterpart.

How did you get involved with LibreOffice?

Earlier I was just aware of open source software and used to see it in articles on the internet. So I decided to start with open source during the month of March 2016. Eventually, I found out that people here in India are not familiar with open source involvement and programs like the Google Summer of Code (GSoC). Anyway, getting back to how I started: I found LibreOffice as the most familiar organization while looking for open source organizations in the GSoC 2016 list.

Since the day I started with LibreOffice, the steps I took towards contributing to the software made me explore other open source software like Gerrit, Jenkins, GDB and much more. The LibreOffice community is very well organized and has appropriate documentation and a wiki page for every step, which helped me a lot while getting started. Additionally, I would like to say that LibreOffice has some very nice people on the IRC channels.

What areas of the code do you normally work on? Anything else you want to tackle?

So far I have worked on small bugs and tasks which LibreOffice refers to as Easy Hacks. You can visit my patches via this link. I am currently trying to tackle more complex bugs, and learning the user interface design of LibreOffice. In future, I would like to be involved as a more active and significant contributor to LibreOffice.

What is your vision for the future, or what would you most like to see improved in LibreOffice?

Libreoffice already seems to be a very stable product, with enough features for any end users. However, since things can always be better, I will definitely talk to the community if I find something to improve. Moreover, I would like to see LibreOffice replace its proprietary counterpart.

What do you do when you’re not working on LibreOffice?

Apart from looking for something to code, I like to read tech articles whenever I find time. I love bike rides, playing table tennis and sometimes exploring music. I can be found on Facebook, LinkedIn and GitHub.

Thanks Krishna! And to any other interested developers reading this: join our community and help to make LibreOffice even better.

by Mike Saunders at July 12, 2016 12:09 PM

July 11, 2016

Andreas Mantke

New Release Of TemplateUploadCenter

I added the necessary changes to the Plone add-on for the new LibreOffice template repository and created a new release out of it today. The new release is available in the ‚cheeseshop‘ at

by andreasma at July 11, 2016 08:18 PM

July 07, 2016

Caolán McNamara

crashtesting: now 92000 documents

crash testing, now 92000 documents continuously tested

Last August we had a collection of approximately 76000 documents. This July we have over 92000 documents. The corpus is mostly gathered from our bugzilla and other projects bugzillas via our get-bugzilla-attachments-by-mimetype script. For testing purposes we continuously import them all, and then export certain formats to multiple destination formats. For example odts are re-exported to odt, doc and docx and the results of what documents crashed (which includes asserts) are uploaded to the crashtest site
I like to imagine that these are typically the type of mean and bitter documents that try to eat innocent office software alive.
The get-bugzilla-attachments-by-mimetype script only downloads new attachments from its target bugzillas which are not already downloaded. The last run to refresh the corpus took over two days to complete. Refreshing isn't fast or cheap so it's fairly infrequent.
The regular crashtesting run to import and reexport the corpus is comparatively frequent, takes approximately 24 hours and typically gets run every two or three days on the latest 64bit Linux master in headless mode.

by Caolán McNamara ( at July 07, 2016 04:22 PM

July 05, 2016

Andreas Mantke

New Release For The ExtensionUploadCenter Plone Add-On

I added some changes and fixes to the tdf.extensionuploadcenter during the last weeks  and published a new release of this Plone add-on today in the ‚cheeseshop‘.

I’ll work on such fixes for the tdf.templateuploadcenter soonish and publish a release a new release of this add-on too.

by andreasma at July 05, 2016 07:09 PM

July 04, 2016

Stephan Bergmann

Clang in Fedora 24

I’m only ever using a bleeding edge Clang trunk build myself. So when Fedora enabled use of the GCC abi_tag attribute in libstdc++ (i.e., switched the _GLIBCXX_USE_CXX11_ABI macro to 1 by default), it was only a matter of applying a set of (evolving) patches to Clang to keep things working.

However, others who wanted to use the Clang version included in Fedora were in for more of a problem. The typical symptom being that what you compiled with Clang fails to link against system libraries, most notably libstdc++.

For Fedora 23, we included a somewhat slapdash early version of the relevant Clang patches, but that didn’t survive the split-out of Clang from the overall LLVM package in Fedora 24. But now that the Clang upstream patches are deemed stable (and have been integrated into trunk towards Clang 3.9), I backported them to the Clang 3.8 in Fedora 24 (and rawhide).

And a lot of thanks to all of those who created these patches!

by stbergmann at July 04, 2016 07:29 AM

July 03, 2016

Jan Iversen

Surprise, LibreOffice on my Television


I am building a multiroom audio system (do not have money to buy a Sonos system). The system is based on 3 Raspberry PI 3 (2 Rooms + Television) and a NAS.

I have installed Raspbian (Debian Linux) and Kodi (former XBMC) and was testing on my Television. Raspian comes with a simple graphic desktop, so of course I took a look around and found to my surprise LibreOffice.

This had to be tested, LibreOffice, which everybody says is a mammut chunk of software, on a small Raspberry PI 3, sounded impossible. But as you can it actually worked pretty well. Admitted using the remote control to write was kind of interesting:-)


This is the raspberry PI. It perform like a late PC from aroun 98, with a price of only 35 EUR.

So my multiroom audio is going to cost:

  • 3 raspberry PI 3 + IQAudio digiamp+, approx. 300,- EUR
  • 2 set Denon speakers, approx. 350,- EUR
  • 1 NAS, approx. 150,- EUR
  • Total 800,- for music in 3 rooms and videos on my Television.

And of course a free version of LibreOffice.

The LibreOffice community consist of all kinds of people, distributed around the globe and have experience in different fields. Anybody can help, Users can help test our new features, Developers can help to solve bug or add new exciting features.

Hoping to see you in our community.


by jan at July 03, 2016 11:25 AM

June 28, 2016

Stephan Bergmann

Plugin, Flamed

Just how much is our Clang plugin slowing down builds of LibreOffice? We are constantly adding more and more useful functionality to it, and some of it is well known to be written in a way that is likely performing not too well. But I never dared look at the performance implications too closely, for fear of being disappointed. The build always seemed to go along at more or less the same speed, so who cares for details?

Enter FlameGraph, generating beautiful and easy-to-digest graphs on top of the Linux perf tool’s (or others’) output. So I gathered data about half a minute of CPU activity during the LibreOffice build (randomly picked a time when all the cores were busy compiling .cxx files in the sw module, to keep noise contributed by other processes down to a minimum), and passed it through FlameGraph. And sobering set in:flamegraph98.56% of all the time was spent in the clang-3.9 process (i.e., there was almost no noise from unrelated processes). And 19.22% of all time was spent in our plugin. That is, the plugin slows down compilation by about 25%. Quite a number.

Zooming in and breaking this down further per individual plugin, the distribution is

  • 1.47% CommaOperator
  • 1.04% VCLWidgets
  • 0.91% BodyNotInBlock
  • 0.79% SalBool
  • 0.69% PtrVector
  • 0.65% RefCounting
  • 0.63% FailedDynCast
  • 0.62% ReservedId
  • 0.61% Nullptr
  • 0.59% RedundantCast
  • 0.56% StringConstant
  • 0.56% ImplicitBoolConversion
  • 0.55% ExternAndNotDefined
  • 0.50% PassStuffByRef
  • 0.47% DefaultParams
  • 0.46% StringConcat
  • 0.45% UnusedVariableCheck
  • 0.45% SalLogAreas
  • 0.45% LiteralToBoolConversion
  • 0.44% UnrefFun
  • 0.44% ReturnByRef
  • 0.43% StaticCall
  • 0.43% BadStatics
  • 0.42% Override
  • 0.41% StaticAnonymous
  • 0.41% InlineVisible
  • 0.38% SimplifyBool
  • 0.38% FpComparison
  • 0.37% SfxPoolItem
  • 0.35% StaticMethods
  • 0.35% PrivateBase
  • 0.35% BadVectorInit
  • 0.34% DerefNullPtr
  • 0.34% CStyleCast
  • 0.32% RangeForCopy
  • 0.32% LoopVarTooSmall
  • 0.29% OnceVar

The recursive nature of RecursiveASTVisitor makes it a bit hard to easily spot each individual plugin’s hotspots, but one thing sticks out: CommaOperator is a rather simple piece of code (that shouldn’t need much heavy computation), but does use lopluign::Pluign::parentStmt, which rebuilds the AST to determine a node’s parent, and is really, really expensive.

Room for improvement. Time to clean up.

(At first, the generated graph looked way less interesting. One thing that was necessary was to build both LLVM/Clang and our plugin with -fno-omit-frame-pointer. The other thing was to teach FlameGraph to support “(anonymous namespace)” in C++ function names.)

by stbergmann at June 28, 2016 09:13 AM

June 27, 2016

Miklos Vajna

RTF shape import: group scaling and flip in LibreOffice Writer

Some kind of simple logo was reported to be mis-imported in the RTF filter, it looked like this:

which is interesting, but the reference output is different:

With a bit of investigation, it turns out this was a flipped group shape with a few rectangles, so the mis-rendering of the logo was due to two independent problems. The first is that the child shapes inside a group shape were scaled incorrectly. See the commit for the exact details, after fixing scaling, it looked closer to the original:

The second problem was that the group itself was flipped, and this was again ignored on import. After fixing that problem:

the result is basically the same as the reference. Both fixes are not only on master (towards LibreOffice 5.3) but also backported to LibreOffice 5.2. :-)

June 27, 2016 07:41 AM

June 19, 2016

Markus Mohrhard

Crash reporting for LibreOffice

Starting with LibreOffice 5.2 the LibreOffice project will have an automated crash reporting tool with server side analysis of the reports. This has been active in the builds since and was really working since beta 2.

You can find some of the current results at the 5.2.0 beta result page. A typical report that provides a lot of useful information can be found here.

Client side

On the client we are using breakpad to generate a minidump whenever we are hitting a crash. As we are not wanting to do more than necessary in the crashing process we are checking for crash reports during the next start and ask the user if he wants to upload the crash report. Together with the minidump, which only contains a backtrace and some system information (OS, CPU, loaded modules and time) we are also collecting some information that are helpful in fixing crashes.

Currently this is limited to information about OpenGL with information whether our OpenGL backend was activated, which OpenGL driver, device and vendor where used and hopefully in a bit whether the crash happened in our OpenGL render path. These info will help to quickly detect broken drivers and put them onto our blacklist.

We might be collecting more information in the future but of course there always needs to be a balance between the privacy of the user and the necessary information to identify the causes for crashes.

Server side

Originally my plan was to use Socorro from the Mozilla project but the code is quite heavily connected to their release process. So back in December I naively decided to write an own small django web service that takes the ideas from Socorro and adapts them to the LibreOffice release process. It turned out to be a lot more work but we are finally at a place where the server is usable and provides all the information that we might need for now. There are still a number of open issues and there is still a lot of room for improvements (if you are interested in django web development and want to help the LibreOffice project please contact me).

Also the UX is horrible until now and my lacking skills in CSS are obvious while looking at the web site. Help in fixing many of these issues are greatly appreciated.

Despite these short comings we have already found a few nasty issues in the beta2builds  with the reported crashes and we hope to fix more in the future.


Other parts

Currently the crash reporting is only enabled and useful in official TDF builds but I hope to get a working master daily build with enabled crash reporting working at some point.

There is some initial connection support to LibreOffice’s bugzilla instance but we are working on improving this both on the Bugzilla side and on the crash reporting server side. Look forward to some improvements there.

Additionally as I have no Mac and nobody else stepped up there is currently only support for Windows and Linux. Together with support for Android this is something that should be implemented at some point in the future.


A special thanks to all the people who helped making this possible, especially Norbert Thiébaud who does an amazing job maintaining the LibreOffice development infrastructure and Christian Lohmaier who has the difficult task of producing the builds and uploading the symbols. Additionally Riccardo Magliocchetti and Aybüke Oezdemir have contributed to the server side.

Of course this would also not possibly without the amazing code produced by the Socorro developers who provided some valuable code and information around the Windows SEH exception handling (especially on 64 bit) and the server side development.

by Markus Mohrhard at June 19, 2016 05:01 PM

June 17, 2016

LibreOffice Design Blog

Easyhackers wanted!

LibreOffice is a community-driven product, meaning you don’t only help the development by filing bug reports and writing ideas for features. You can do even more. Quite a few of the tickets in the bug tracker have been identified as …

by The LibreOffice Design Team at June 17, 2016 01:54 PM

June 16, 2016

Björn Michaelsen

A third of a LibreOffice snap

Take your time, hurry up
The choice is yours, don’t be late
Take a rest as a friend
— Nirvana, Come As You Are

I have just updated the LibreOffice snap package. The size of the package available for download created some confusion. As LibreOffice 5.2 is still in beta, I built and packed it with full debug symbols to allow analysis of possible problems. Comparing this to the size of e.g. the default install from Ubuntu *.deb packages is misleading:

  • The Ubuntu default install misses LibreOffice Base and Java unless you explicitly install them
  • The Ubuntu default install misses debug symbols unless you install the package libreoffice-dbg too

As many people are just curious about running LibreOffice 5.2 without wanting to debug it right now, I replaced the snap package. The download and install instructions are still the same as noted here — but it is now 287MB instead of 1015MB (and it still contains Base, but no debug symbols).

The package file including full debug symbols — in case you are interested in that — has been renamed to libreoffice-debug.

(Note that if you downloaded the file while I moved files around, you might need to redo your download.)

by bmichaelsen at June 16, 2016 10:42 AM

Florian Reisinger

SI-GUI usage statistc + Github

Just 2 small hints:

A new usage statistic is available here.

And anyone with a GitHub account can change the list, which is used for the “Update list of versions” feature.



by Florian Reisinger at June 16, 2016 09:12 AM

June 14, 2016

Björn Michaelsen

LibreOffice 5.2.0 beta2 as a snap package

What’s been happening in your world?
What have you been up to?
— Arctic Monkeys, Snap out of it

So — here is what I have been up to:

<figure class="wp-caption aligncenter" data-shortcode="caption" id="attachment_1187" style="width: 749px">LibreOffice 5.2.0 beta2 installed as a snap on Ubuntu 16.04<figcaption class="wp-caption-text">LibreOffice 5.2.0 beta2 installed as a snap on Ubuntu 16.04</figcaption></figure>

The upcoming LibreOffice 5.2 packaged as a nice new snap package. This:

  • is pretty much a vanilla build of LibreOffice 5.2 beta2, using snapcraft, which is making packaging quite easy
  • contains all the applications: Writer, Calc, Impress, Draw, Math, Base
  • installs easily on the released current LTS version of Ubuntu: 16.04
  • allows you to test and play with the upcoming LibreOffice version to your hearts delight without having to switch to a development version of Ubuntu

So — how can you “test and play with the upcoming LibreOffice version to your hearts delight” with this on Ubuntu 16.04? Like this:

sha512sum -c libreoffice_5.2.0.0.beta2_amd64.snap.sha512sum && sudo snap install --devmode libreoffice_5.2.0.0.beta2_amd64.snap

and there you have a version of LibreOffice 5.2 running — for example, you can prepare yourself for the upcoming LibreOffice Bug Hunting Session. And its even quite easy to remove again:

sudo snap remove libreoffice

This is one of the things that snap packages will make a lot easier: upgrading or  downgrading versions of an application, having multiple installed in parallel and much more. Watch out as there are more exciting news about this coming up!

Update: As this has been asked a few times: Yes, snap packages are available on Ubuntu. No, snap packages are not only available on Ubuntu. This text has more details.

Update 2: The original download included debug symbols and thus was quite big. The download now has 287MB. This post has all the details.

by bmichaelsen at June 14, 2016 08:03 AM

Jan Iversen

Like to socialize while hacking on open source ?

In libreoffice we have a very active development (among others) community.

Captura de pantalla 2016-06-14 a las 9.40.32

source Active stat

259 people (or to be exact “nick”) visited our IRC development channel (#libreoffice-dev connect via web chat). A lot of these people are developers who want to help, and have questions about how to solve a problem.

Come and join us, except for the weekends, this is one of the best places to get your development questions answered (remark, we only exceptionally answer user questions on this channel).

If you are new, and want help to get started, have a look at: Get involved


by jan at June 14, 2016 07:55 AM

June 09, 2016

Italo Vignoli

Support Post with Official Mugshot

italo-wantedToday, I have added another amazing title to my open source CV: persona non grata. This morning, while entering the hotel where a company is hosting an event focused on open source software (I am a member of Open Source Initiative board of directors), with a couple of presentations about LibreOffice (I am one of the founders of the LibreOffice project, and I am handling marketing and communications for The Document Foundation), I have been called by first name by the hotel security and I have been invited to stay away from the event. I suppose they have used a mugshot selecting one of the many pictures shot at events where I have been able to participate, sometimes even as a special guest (unlike what happened this morning).

Since I have my own reputation, even photographic, I make available to all those who will want to report me as persona non gratain the future, an official and approved mugshot, released under CC-BY license (true, this represents an obligation of assignment, but in the case of a mugshot it also takes away the embarrassment of the associating the name to the picture, which could represent an intrusion into my privacy).

by italovignoli at June 09, 2016 10:11 AM

June 08, 2016

Caolán McNamara

spellchecking calendar/calender

A short 2009 article about Microsoft's group with responsibility for spellchecking that mentions the calendar/calender masking problem. Sometimes you probably do want correctly spelled words to be flagged.

by Caolán McNamara ( at June 08, 2016 12:08 PM

June 06, 2016

Jiri Eischmann

Flatpak is gaining momentum

The Xdg App project has been renamed to Flatpak to get an easy-to-remember name and reflect that after almost two years of development it’s finally ready for broader adoption.


It has also got a brand-new official website –

Since then the project has gained momentum. Last week, LibreOffice for Flatpak was announced. This is something Stephan Bergmann of the Red Hat team of LibreOffice has been working on for the last couple of months (read his blogpost about it). You can now easily install the latest LibreOffice (5.2 Beta) directly from The Document Foundation to your system and use is side by side with the system version.


LibreOffice 5.2 Beta in F24 via Flatpak

There are nightly builds of 23 GNOME apps, Darktable, GIMP, Inkscape, MyPaint.

The KDE community has prepared a testing version of KDE runtime, so now you can also easily build KDE/Qt apps for Flatpak. Dan Vrátil worked on the KDE runtime when he was in my team. Dan has not been with Red Hat for half a year, but it’s great to see that his initial work stirred some interest in the KDE community.

Aleix Pol tweeted that he was working on Krita for Flatpak.

Mario Sanchez Prada is working on Chromium for Flatpak.

Flatpak finds its way to distributions, too. Simon McVittie wrote a blogpost about adopting Flatpak in Debian.

Installing Flatpak applications currently requires a couple of commands. Easy to do, but not the best UX. That is going to change soon, too. GNOME Software 3.21 already supports and associates with .flatpak files, so you’ll just double-click the file and everything necessary for installation will be taken care of.

2016 may not be the Year of Linux Desktop, but perhaps it will be remembered as the year when distribution of Linux desktop apps was redefined.

by eischmann at June 06, 2016 01:48 PM

June 03, 2016

Andreas Mantke

Change To New Multilanguage Framework

I did the the next step to migrate the current LibreOffice extensions and templates site to a new Plone environment. I changed the multilanguage framework from LinguaPlone to the new with Archetype support. The content of the site was reindexed after the change.

by andreasma at June 03, 2016 06:51 PM

Jan Iversen

Good news for me from the document foundation.

This morning I received a nice email  welcoming me as member of the document foundation.

What an amazing organization, even though I am also staff and therefore paid to help new people, the Membership Committee deemed my work (assuming they looked on my voluntary work) interesting enough to invite me as member.

I am also an Apache Software Foundation member and proud of being that.

It is interesting to see the difference between the two foundations, which both are fantastic and both in general have the same aims. I find that The Document Foundation not only focusses on the people in the community, but also follows it trough in a grass root manner. Just an example, the wast majority of the donations to the project have an average of less the 10,- USD showing support from real people.

If you want to be part of a never sleeping, positive community, come and join us:

Hoping to see you soon.

Jan Iversen

by jan at June 03, 2016 06:28 AM

June 02, 2016

Miklos Vajna

Classification toolbar in LibreOffice: Multiple Categories

I explained the concept of the classification toolbar appearing in LibreOffice 5.2 in a previous post. One incremental update on top of that is support for multiple categories, which I’m describing here.

TSCP in its BAILSv1 spec defines 3 different policy types (IntellectualProperty, NationalSecurity and ExportControl), and you can set different classification categories for different policy types. Giving a practical example, if you’re communicating with someone, then you can declare what policy type will you be using for that communication, and tag a single document multiple times, once for all used policy types.

This multiple-categories feature wasn’t supported by LibreOffice previously, we simply read the IntellectualProperty type from the document, and also only wrote that. Now the user interface still reacts to the IntellectualProperty policy type (since in case there are multiple policies and each of them wants a different e.g. watermark, the UI has to pick one in some way), but other than that we read all types from the document, all values are shown on the toolbar and of course you can also set all of them.

All internal APIs and the .uno command that can be used from macros take a type parameter to get/set a given type of category, if wanted. As usual, you can try this right now with a 5.2 or 5.3 daily build. :-)

June 02, 2016 06:27 AM

June 01, 2016

Stephan Bergmann

LibreOffice 5.2 Beta Flatpak

Flatpak (formerly known under its working title “xdg-app”) is a cool new way of distributing images of Linux applications that run on a wide range of different distros, and run there in a secure way. I have blogged and spoken about making LibreOffice available in this format before in various places (see, e.g., these two previous blog posts and this conference talk).

Now is the time to announce availability of a LibreOffice.flatpak bundle of LibreOffice 5.2 Beta at!

To try it out, do the following:

  • First, you need to install Flatpak itself. See here for details.
  • Second, you need to add the Flatpak repository that contains the GNOME runtime (on which the LibreOffice.flatpak depends; see here for details):
      $ wget
      $ flatpak remote-add --user --gpg-import=gnome-sdk.gpg gnome
      $ flatpak install --user gnome org.gnome.Platform 3.20

    Update: If you use another locale than en-US, and want LibreOffice to automatically come up with a matching UI localization, additionally

      $ flatpak install --user gnome org.gnome.Platform.Locale 3.20
  • Then, with the LibreOffice.flatpak file downloaded from the link above, do
      $ flatpak install --user --bundle LibreOffice.flatpak

    to install it. (Don’t worry, it does not interfere with any other LibreOffice you might already have installed on your machine, like the one shipped with your Linux distro.)

  • And now you can run it, either from the command line
      $ flatpak run org.libreoffice.LibreOffice

    or by clicking on one of its icons (LibreOffice Start Center, Writer, etc.) in your distro’s application launcher.

(And if you happen to have an older version of xdg-app installed, installing the LibreOffice.flatpak bundle into it should work, too.)

Behind the scenes, the LibreOffice.flatpak links to a repository on the server that will get updated with later versions of LibreOffice Fresh. So once a new version of LibreOffice Fresh is released (starting with LibreOffice 5.2 proper), you can simply update your installation with

  $ flatpak update --user org.libreoffice.LibreOffice

A few items to note:

  • LibreOffice.flatpak is based on the GNOME 3.20 runtime, using LibreOffice’s much-improved GTK3 backend. This should offer the most complete set of features in LibreOffice, paving the way to Wayland etc.
  • The single bundle contains all localizations available for LibreOffice (as it doesn’t really affect the bundle’s overall size that much).
  • Flatpak-based apps are not yet able to reach out to other applications installed on the machine (like browsers) to e.g. open URLs through them. That means that e.g. clicking on a hyperlink in a LibreOffice Writer document might not work yet. And since the LibreOffice.flatpak does not contain all the help documentation (for all the localizations!), but instead wants to use the online help through a browser, pressing F1 does not yet work, either.
  • The LibreOffice.flatpak does not include a Java Runtime Environment (JRE). That means that some LibreOffice functionality that requires a JRE will not work.
  • At this time, there is no Flatpak version of the LibreOffice Software Development Kit (SDK).

by stbergmann at June 01, 2016 09:53 AM

May 31, 2016

Andreas Mantke

Upgrade Of The Extensions-Templates-Sites

I worked on some test environment for an upgrade of the LibreOffice extensions and templates websites to the latest Plone 4 version during the last week. I had to find solutions for some issues. In the end the upgrade in my test instance were successful.

I worked on the current LibreOffice extensions and templates instance with my experience, that I got from the test instance today. I upgraded the Plone buildout from version 4.2.6 to 4.3.9. I had to fix an unexpected error during the upgrade of the instance zope database. Apart from this the upgrade runs smoothly. The LibreOffice extensions and templates websites are up again, running on Plone 4.3.9 for now.

The next step will be the change of the multilanguage framework to a newer Plone add-on.

by andreasma at May 31, 2016 07:42 PM