LibreOffice and Google Summer of Code 2017: The results

The Google Summer of Code (GSoC) takes place every year, and provides university students with funding to work on free and open source software. For 2017, nine LibreOffice projects were accepted into GSoC, and as developers finish their work, let’s take a look at some of their achievements…

Grzegorz Araminowicz – Improve SmartArt import

SmartArt graphics are used in Microsoft Office to “easily make a visual representation of your information”. LibreOffice already had the ability to import SmartArt, with file parsing code and basic layout features, but Grzegorz started to extend it, taking Office 2007 test files one-by-one and implementing missing features to load them correctly.

Throughout GSoC, Grzegorz worked on many fixes and improvements, as described in this mailing list post. At the end, he summarised his results:

I am happy with project results. Now LibreOffice is able to load and correctly render many types of basic diagrams. However, there is still much to be done to support more complex SmartArts. If anyone would be interested in contributing in this area, feel free to contact me for any help.

Muhammet Kara – Revamp the customization dialog

LibreOffice’s “Customize” dialog box, under the Tools menu, is very versatile but could also be improved in terms of design and user friendliness. Muhammet started his work by adding a search feature for the Functions pane of the Keyboard tab, as search was described as “the killer feature” by the design team.

He then started cleaning up the source code (most of the dialog was implemented in a single file with over 5,000 lines of code), before moving on to layout and design improvements. In the end, he had 19 patches integrated into LibreOffice, and made a video demonstrating the updated dialog in action:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Aditya Dewan – LibreOffice online

Aditya is a third-year undergraduate student at the Indian Institute of Information Technology in Allahabad, specialising in Information Technology. Throughout GSoC he worked on LibreOffice Online, the cloud-based version of the suite. He started with small features and fixes to get familiar with the codebase, such as compression on startup and extra graphs in the admin console.

Then he moved on to a bigger job: adding an interactive horizontal ruler, as seen in the desktop version of the suite. Here’s Aditya’s demonstration of the new feature:

With that done, he extended the current WOPI implementation to support “Save as” functionality. Summarising GSoC, he said:

It was a very good experience for me. I have done a lot, and learned a lot this summer. Thank you to all LibreOffice developers, especially my mentors, for your support.

Gautam Prajapati, Alex Pantechovskis, Mohammed Abdul Azeem, Ximeng Zu, Akshay Deep and Varun Dhall – various improvements

Meanwhile, other GSoC developers did great work fixing bugs, adding new features and boosting compatibility. Gautam Prajapati made significant improvements to the Android Viewer build system, as described in his report, while Alex Pantechovskis helped to create a QuarkXPress import filter for the Document Liberation Project (see our recent blog post).

Mohammed Abdul Azeem produced many patches for migrating from the legacy parser to FastParser, and Ximeng Zu fixed various “most annoying bugs” in the Android Viewer (see here). Finally, Akshay Deep worked on updates for the special characters dialog, while Varun Dhall replaced the EditEngine binary clipboard with an ODF filter.

Wrapping up

So 2017’s Google Summer of Code was a terrific success, and has helped to improve LibreOffice in many different areas. We’ll all get to enjoy these changes and new features in LibreOffice 6.0, due early next year. Thanks to all of the developers for their excellent work – and thanks to Google for their support and initiative. We look forward to GSoC 2018!

Updates from the Document Liberation Project


The Document Liberation Project (aka DLP) is working to free users and content creators from vendor lock-in. To achieve this, it develops and maintains libraries for reading documents in many different formats – including those generated by proprietary software. To learn more about the DLP, check our our short video.

In recent months, DLP developers have been working on updates and new features, so read on for all the details.

QuarkXPress import filter

Lithuanian coder Aleksas Pantechovskis (who we interviewed last year) has been working with David Tardon on a filter to read documents generated by the QuarkXPress desktop publishing application. He was doing this as a Google Summer of Code project, and added code for importing text boxes, shapes and other objects.

The image below shows an original QuarkXPress document on the left, and how it is converted into the open and standardised OpenDocument Format for use in LibreOffice and other software:

Aleksas and David have implemented the filter in a new library, libqxp – it supports QuarkXPress 3.1 – 4.1 documents at the moment.

PowerPoint and StarOffice

Meanwhile, Laurent Alonso has been improving a number of libraries for better compatibility with legacy documents. For instance, in libmwaw he has implemented an import filter for presentations created in Microsoft PowerPoint 2 (Windows), PowerPoint 4 (Mac and Windows) and PowerPoint for Windows 95. If you have old presentations in this format and need to retrieve the main contents, this filter will help you out.

In addition, he has updated libstaroffice, which is a library used to read files generated by StarOffice (which later became OpenOffice.org and then LibreOffice – see our timeline for the full history). Thanks to Laurent’s work, .sdc spreadsheet files preserve more of their formatting when imported, while .sda files created with StarOffice Impress are now converted as presentations.

Give us a hand!

As you’ve seen, DLP is helping users and content creators to free their data from old, legacy and proprietary formats. DLP libraries are used by many well-known applications such as LibreOffice, Inkscape and Scribus, so your contributions can help millions of people around the world.

And you don’t have to be a developer! While code contributions are always welcome, you can help us by reverse-engineering and documenting file formats, or sending us sample documents to analyse and test against the DLP libraries. Any help can really make a big difference, so see this page to learn more. We look forward to meeting you!

TDF Dashboard: an open window on LibreOffice development

Berlin, August 2nd, 2017 – Effective immediately, The Document Foundation offers a transparent overview of LibreOffice development with the announcement of a Dashboard, available at http://dashboard.documentfoundation.org, which provides a visual representation of the activity on the source code.

LibreOffice Dashboard: activities during the last 30 days

Developed by Bitergia, the Dashboard is based on information retrieved from publicly available data sources, such as Git, Gerrit and Bugzilla repositories, or mailing lists archives. All tools used to retrieve, store, analyse and visualize data from repositories are based on free, open source software. The key component is GrimoireLab, a software development analytics toolset.

“The Dashboard shows the key information about LibreOffice development in several panels, each one including different visualizations, with many actionable elements”, says Bjoern Michaelsen, one of TDF BoD members who has managed the project. “When the user interacts with the actionable elements, the information in the whole panel (or in the whole dashboard) are reconfigured, by filtering in or out some data. Following our transparency guidelines, we are therefore offering an open window on LibreOffice development”.

“Bitergia was founded by a group of Spanish FLOSS enthusiasts, with a large experience in development, research and consultancy”, says company co-founder Jesus Gonzalez-Barahona. “We are very happy to see our software deployed by The Document Foundation for LibreOffice, one of the largest and most successful free software projects”.

Other key software used to produce the Dashboard are Python (to develop most of the retrieval and analytics programs), ElasticSearch (for data storage) and Kibitter, a fork of Kibana contributed back upstream (for data visualization).

Taming the LibreOffice Help System

LibreOffice’s help system needs to evolve and be more effective for users.

LibreOffice’s help system was designed in 2003-2004 and released in 2005. Since then it has not evolved, except for the introduction of an online version hosted in a wiki server (and accessible from LibreOffice when the local help is not installed).

I worked recently to transform our ancient help system into a modern browser-based version. The partial result is available in the (temporary) website at https://helponline.libreoffice.org – please be advised that this is still work in progress.

The XML help pages are transformed into pure, almost static and responsive HTML. This approach has some advantages:

  • Works in every browser
  • Provides the current functionality of the help system
  • Preserves the current development, help authoring, release engineering and translation process as it is
  • You can read the help pages in your mobile phone or tablet
  • It’s easy to add extra markup for better search engine indexing

The disadvantage is an increase in disk storage on the server.

Transforming XML into HTML for every browser

The help pages were designed when the minimal standard HTML was version 3.2 and, since then, many developments have brought us HTML5 in all major browsers. There is little advantage now to keep the current XML, and all of its designed functionality can be replaced and improved by HTML, CSS and JavaScript, for example, adding better navigation and multimedia contents.

The new Help page layout benefits of many modern technologies

(more…)

LibreOffice and Google Summer of Code 2017 – get involved!

Google Summer of Code (GSoC) is a yearly programme in which Google funds university students to work on free and open source software projects. LibreOffice has benefited from this – last year 11 students were accepted into GSoC to do various programming jobs, helping to improve the software.

GSoC students are assisted by experienced “mentors” in the LibreOffice community, as 2016 student Jaskaran Veer Singh explains:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

For 2017, LibreOffice is once again an organisation in the GSoC programme, so if you’re a university student and want to get experience working on a well-known free software project, while also being paid for your efforts, get involved! But don’t delay: the application period runs from March 20 to April 3, so it’s not far off.

To get started, check out some ideas for projects you can work on. Each project describes what’s involved, the skills required, and the mentor you can contact to get help. If you see something you’d like to work on, contact the mentor as soon as possible! Then you can discuss how to proceed.

After that, read the general GSoC 2017 page on our wiki, which provides more information on the GSoC programme and tells you how to apply. You will have to complete an Easy Hack (simple programming challenge) to be accepted, which demonstrates that you’re comfortable modifying the LibreOffice source code, building it, and submitting a patch.

So, check out the ideas, talk to the mentors, and good luck with your projects!

LibreOffice has a new Extensions & Templates website

Berlin, December 14, 2016 – The Document Foundation announces the new Extensions & Templates website, which offers an improved user experience to both developers and end users: https://extensions.libreoffice.org. The resource is now based on the latest version of the Plone open source Content Management System, and has been both coordinated and developed by Andreas Mantke, deputy member of the board at The Document Foundation.

“Two of LibreOffice’s most distinctive characteristics are the possibility of adding features through extensions, and improving quality and consistency of documents thanks to templates”, says Andreas Mantke. “After six years, we decided to refresh the existing resource, to make it easier for developers to upload their files, and for end users to search and download them. I’d love to see an increasing number of contributors uploading extensions and templates”.

extensionsLibreOffice Extensions & Templates website offers 304 extensions, with 678 different releases, and 339 templates, with 376 releases. The three most popular extensions are: “Clipart gallery of danger signs”, “Copy only visible cells” and “LanguageTool”. The three most popular templates are: “Personal Budget Template”, “Simple FAX Template” and “LibreOffice Presentation Templates”. A large number of available resources have been contributed by end users.

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation at http://donate.libreoffice.org.