Google Summer of Code’18: Project Description

Ekansh Jha
2 min readMay 25, 2018

--

Project Motivation

SmartArt is a nice feature that allows users to quickly add charts/diagrams to presentations. LibreOffice has a partial implementation as an experimental feature, I plan to add some of the features in SmartArt by the end of GSoC period and keep fixing bugs reported during the GSoC period.

At the moment, we are able to import SmartArt as a stream of shapes that is available in the pptx presentations generated by Microsoft Office 2010 and later, but not compatible with Microsoft Office 2007.

Unfortunately:
● The rendering of such shapes is not correct

● We are unable to edit the imported SmartArt.

Below is the example of the smartart which is not rendered correctly in Libreoffice:

SmartArt in Microsoft Office 2007
SmartArt in Libreoffice

Brief Description

As a result of last year GSoC, there are few implementations of SmartArts which contain smartarts like composite, cycle and line etc. This year task will be to extend the list. The main implementation of the smartart resides in, ​ oox/source/diagramml/diagram/*​ .

➔ Improving the rendering of the shapes
There are many smartarts which are made in Microsoft office are not rendered correctly in LibreOffice and that’s where the problem arises.

Unit Testing Details

This task will focus on testing and implementing the correct rendering of the shapes of smart arts which can be achieved by : The deliverables for the task is to generate test documents in MSO, each document for one diagram type, and create unit tests that assert that each document lays out the same in LibreOffice as it does in Microsoft Office.

Basic Implementing of Unit test

The file that will be created in Microsoft Office will be Copied in
s​d/qa/unit/data/pptx/* . This will be followed by creating a unit test for that smartart shape in sd/qa/unit/import-tests-smartart.cxx​ .

Prototype of writing Unit test

If I complete correct rendering of enough SmartArts, I’ll be adding more exciting features in the SmartArt import.

Apart from fixing some smartarts, I’ll be fixing some errors which are reported during the GSoC period.

Looking forward to a great Summer:)

--

--

Ekansh Jha

Software Developer • IIT Roorkee • Research Assistant at University of Hong Kong • Google Summer of Code'18