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:

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!