Improvements in LibreOffice’s PowerPoint presentation support

LibreOffice’s native file format is OpenDocument, a fully open and standardised format that’s great for sharing documents and long-term data storage. Of course, LibreOffice does its best to open files made by other office software as well, even if they’re stored in pseudo-“standards” with cryptic and obfuscated contents. Compatibility with PowerPoint PPT(X) presentations is therefore a challenge, but developers are working hard on improvements…

In September 2019, we announced an initiative to improve the support of PPT and PPTX files in LibreOffice. A year has passed since the last review and it is time to summarise achievements again.

Everyone is invited to participate in the PowerPoint support initiative, either in development or testing. If you are interested in joining, please send an email to ilmari.lauhakangas@libreoffice.org.

Audio

Miklos Vajna (Collabora):
Added import and export support for slide narrations and their icons

Borders and fills

Miklos Vajna (Collabora):
Handle stroke properties of image shapes
Improve import of transparency in multi-step gradients

Before screenshot of bug 134183
Slide before Miklos’s fix

After screenshot of bug 134183
Slide after Miklos’s fix

Regina Henschel:
PPTX: transparency gradient on solid fill is not considered in export
Add fill to fontwork in export to PPTX

Charts

Zhenhua Fong (PPT/X team):
Chart background is white instead of Automatic/No fill plot area

Custom shapes

Gülşah Köse (Collabora):
Handle greyscale effect on bitmap filled custom shapes (blog post)
Apply mirror property to custom cropped graphic (blog post)
Import support for custom stretch values (blog post)
Import crop position of bitmap filled shape (blog post)
Import graphics cropped into custom geometry as custom shapes (blog post)

Mark Hung (PPT/X team):
Export names of custom shapes

Miklos Vajna (Collabora):
Handle adjust values from both the custom shape and its placeholder

Tünde Tóth (NISZ):
Fix lost arcTo shape

Xisco Faulí (TDF):
PPT: export custom shapes as Bitmap

Hyperlinks

Tibor Nagy (NISZ):
Fix internal hyperlink to slide in PPTX
Fix lost direct hyperlink colors
Fix internal hyperlinks with PPTX export

Zhenhua Fong (PPT/X team):
Import hyperlinks from PPT

Tables

Gülşah Köse (Collabora):
Table row height improvement in Impress (blog post)

Miklos Vajna (Collabora):
Shadow for tables from PPTX in Impress (blog post)

Tibor Nagy (NISZ):
Fix vertical alignment in exported table

Text boxes

Attila Bakos (NISZ):
Fix exporting of placeholders

Gülşah Köse (Collabora):
Fix the placeholders priority order
Text box gets displaced by text coming from master page

Text in shapes

Gülşah Köse (Collabora):
Camera Rotation Improvement (blog post)

Miklos Vajna (Collabora):
SmartArt improvements in Impress, part 5 (blog post)
SmartArt improvements in Impress, part 6 (blog post)

Regina Henschel:
Text transformation “Deflate” is wrongly imported as “Inflate”
Wordart 3D is lost on round trip

Serge Krot (CIB):
Top-aligned text in imported PPTX becomes bottom-aligned

Various

Ahmad Ganzouri:
OOXML support for shadow blur

Bartosz Kosiorek (PPT/X team):
OOXML Fix storage of date in Custom Properties

Dániel Arató (NISZ):
Fix missing chart in exported PPTX

Gülşah Köse (Collabora):
Protect aspect ratio of graphic bullets
Import shadow size

Luboš Luňák (Collabora):
Load images in parallel
Implement PowerPoint ‘flash’ slide transition

Mike Kaganski (Collabora):
Support for transparency attribute of glow effect

Miklos Vajna (Collabora):
Crash fix for pyramid SmartArt import
Detecting 0-byte files based on extension in Impress and elsewhere (blog post)

Samuel Mehrbrodt (allotropia) and Piet van Oostrum:
Tab positions not being retained in PPT and being lost in PPTX

Tibor Nagy (NISZ):
Fix duplicated slide name with PPTX import

Vasily Melenchuk (CIB):
Support API-based MS-CRYPTO algorithms

Zhenhua Fong (PPT/X team):
Correct positions for group shapes
SmartArt caption text location is wrong

From left to right: PowerPoint, LibreOffice before Zhenhua’s fix, LibreOffice after the fix

LibreOffice Macro Team: progress report

Macros help users to automate common tasks in LibreOffice. In September 2019 we announced a new team in our community to work on macro support. The last progress report was published in April 2020, so it is high time to look into what has happened since then.

If you are interested in contributing to the macro team (development, testing or documentation), we’d love to hear from you – please send an email to ilmari.lauhakangas@libreoffice.org and we’ll get in touch.

ScriptForge Libraries

The biggest single event was the introduction of ScriptForge Libraries in LibreOffice 7.1. ScriptForge and its documentation is a collaboration betwen Jean-Pierre Ledure, Alain Romedenne and Rafael Lima. You can read more about it in the January 2021 blog post and the work-in-progress Help content.

Wiki docs

Nathan Ullberg continued working on Impress macro articles.

Celia Palacios improved the Python guide and added new macro tutorials, such as populating spreadsheets with data from an SQL database.

Alain Romedenne continued adding syntax diagrams and improved and expanded the Python guide and macro articles.

Mauricio Baeza improved and expanded articles and added new ones, such as Insert a comment with custom presets, Copy content cell from Spreadsheet to other and Charts in Calc.

Steve Fanning added several new examples of Calc macros.

Code contributions from macro team members

Alain Romedenne:

Andreas Heinisch:

George Bateman:

Tomoyuki Kubota:

Code contributions from honorary associate members

Compatibility fixes for Python 3.8 to 3.12 done by David Ostrovsky, Dante Doménech, Noel Grandin (Collabora) and Stephan Bergmann (Red Hat).

Anshu Khare:

Arnaud Versini:

  • Many cleanups and optimisations in Basic handling code

Arpit Bandejiya:

Caolán McNamara (Red Hat):

John Turpish:

Maxim Monastirsky:

Michael Stahl (allotropia):

Mike Kaganski (Collabora):

Noel Grandin (Collabora):

Serge Krot (CIB):

Shubham Jain:

Stephan Bergmann (Red Hat):

Tushar Kumar Rai:

Xisco Fauli (TDF):

Help content

Improved by Alain Romedenne:

Added by Alain Romedenne:

Improved by Rafael Lima:

Improved by Olivier Hallot (TDF):

Added by Olivier Hallot (TDF):

LibreOffice in the Google Summer of Code 2021

New features in LibreOffice are made by volunteers, certified developers, and – during the summer – participants in the Google Summer of Code programme. This is focused on introducing students to open source software development, and last year LibreOffice received a bunch of new features thanks to the work of several students.

Well, we’re happy to announce that LibreOffice is part of this year’s Summer of Code (GSoC). If you’re a student, want to improve your programming skills and receive a financial stipend to implement new features in LibreOffice, take a look. Get in contact with us, show us that you’ve learnt the basics by working on an Easy Hack, and then propose your project(s). We look forward to meeting you!

Click here to get started

And to learn more about GSoC, check out this interview with Gautam Prajapati, who was part of the programme a few years ago:

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.

Update on tender for a built-in UNO object inspection tool in LibreOffice

In July last year, we launched a tender to implement a dedicated, built-in UNO object inspection tool in LibreOffice. UNO refers to Unified Network Objects, the component model used by the software.

Tomaž Vajngerl was assigned to work on the tender, and has blogged about his progress. He discusses the point-and-click functionality to inspect selected objects in the document, and his next steps.

If you’re interested in the technology “under the hood” in LibreOffice, check it out!

Join the LibreOffice Team as a Developer Community Architect (m/f/d), 20-40h per week, remote (#202101-01)

The Document Foundation (TDF) is the non-profit entity behind the world’s leading open source office suite, LibreOffice. We are truly passionate about free software, the open source culture and about bringing new companies and people with fresh ideas into our community, especially as we are about to enter the second decade of our project.

To grow the LibreOffice community and to enlarge the associated ecosystem, together working on office productivity for over 200 million users around the globe 🌎, we’re searching for a Developer Community Architect (m/f/d) to start work as soon as possible.

As our future Developer Community Architect, you work with a great team of currently eleven to:

  • Attract new contributors by promoting the LibreOffice project

  • Identify and onboard them, by building relationships between new coders and the community

  • Introduce them to our communication channels where they meet fellow co-hackers

  • Affirm and encourage everyone’s contribution and show community members ways to grow

  • Bring skilled contributors in contact with existing experts in the various fields for even deeper learning

To succeed in this new role, you ideally already have some of the following skills:

  • Previous experience in remote work

  • Self-driven and an excellent team player, who is interested in working as part of our team

  • Patience and kindness to work with potential contributors of various skill levels

  • Been a long-time contributor to one or more FLOSS communities, with coding experience in at least one FLOSS code base – ideally LibreOffice, of course! 🙂

  • Demonstrable C++ coding experience of at least five years, or a comparable language like C#, plus active knowledge of at least one more language used in LibreOffice, like Python or Java

  • Excellent communication abilities, that help you transport your enthusiasm for LibreOffice and our community

  • A quick learner with good self-starting capabilities (demonstrable quick learning is a good compensation for immediate lack of LibreOffice knowledge!)

  • Experience in web development and/or mobile technologies is a plus

  • When possible again, willingness to regularly travel to Hackfests and conferences in Europe and globally. In the meantime, you are excited to create virtual events on a regular basis, with the excellent infrastructure offered by TDF.

  • Fluent written English for e-mail and chat, with good speaking and comprehension is a mandatory requirement. Fluency in another widely-used language like e.g. Spanish or Mandarin would be considered an advantage.

Here’s how a typical day in your new role might look like:

You start your day by looking in Gerrit for unreviewed patches. There, you help to onboard new contributors, by positively reviewing their code contributions, which also involves syncing the coding style of their patches with LibreOffice’s. Your goal is to work with them and help them grow their skills where needed, like C++ programming, design and coding, and encourage them to bring up their own ideas how to implement a new feature or fix a bug in the codebase – in short, you are their guide to make their ideas become a reality. Especially for new contributors, you will introduce them not only to our community culture, but also to our variety of tools, which you regularly review and make proposals to improve or unify them.

One way to attract new contributors is to lower the entry barriers. You design and define easy tasks (“Easy Hacks”) for coders, that help them to learn about the code, our toolchain, the LibreOffice build system and leads them step by step into growing mature in the repository, so that they can ideally work on more advanced tasks.

Apart from the individual mentoring, an important part of your role is about knowledge sharing with the general public by writing and updating our technical documentation, like the developer guide, our wiki articles and also code comments. You master that thanks to your ability to write comprehensive texts for technical people.

The role you will fill gives you a lot of freedom and flexibility to shape our mentoring program. That requires you to work goals-oriented and with a laser-sharp focus to grow excellent LibreOffice core contributors. As our successful Developer Community Architect, you will come up with creative ways of finding and attracting volunteers who will stay in the community!

All jobs at The Document Foundation are remote jobs 🌟, where you can work from your home office or a coworking space. The work time during the day is flexible, apart from very few fixed meetings. The role is offered both as part- or fulltime, with the option to grow the hours later, just as you grow into your role.

Are you interested? Get in touch! We aim to schedule the first interview within two weeks of your application. You can also approach us anytime for an informal chat to learn about the role or in case of questions – and you can directly join our virtual FOSDEM DevRoom on February 7 to see what’s going on in the community!

TDF welcomes applications from all suitably qualified persons regardless of their race, gender, disability, religion/belief, sexual orientation or age. Don’t be afraid to be different, and stay true to yourself. We like you that way!

We are looking forward to receiving your application, including information about you, when you are available for the job, and of course your salary expectations. Please send us an e-mail to mentor.application@documentfoundation.org by February 18, 2021. A final decision for the role will be made by March 18, 2021.

Note: We do not accept agency resumes. Please do not forward resumes to any recruiting alias or employee.

Community Member Monday: Sarper Akdemir

Today we’re talking to Sarper Akdemir, who is a passionate supporter of free software and is helping to add new features to LibreOffice…

Tell us a bit about yourself!

I live in Istanbul, where I am pursuing a bachelor’s degree in Electronics and Communication Engineering at Istanbul Technical University. I like to hack code, cook, play bass, and rice some desktops in my free time. My primary computer is a Thinkpad X220 – such a cutie – and I use Emacs to hack on it.

On April 28 2018, Istanbul Technical University Software Freedom Club (ITUGnu) organized an event called “Free Software Summit”, which introduced me to free software. After that event, I decided to join and be an active member of the club, in the hope of learning more about free software and the hacker culture.

People in ITUGnu informed me about a summer camp called “Mustafa Akgül Free Software Camp”, which is a non-profit organization where people all around Turkey volunteer to teach attendees about free software, with courses ranging from GNU/Linux system administration to IT law.

I took a workshop there that Muhammet Kara gave called “LibreOffice Development Workshop” which got me started hacking on LibreOffice.

After the workshop, I decided to keep contributing to LibreOffice and apply to the Google Summer of Code. And I was lucky enough to get selected as a Google Summer of Code student in the past summer.

Why did you decide to become a member of The Document Foundation?

Throughout the Google Summer of Code period, hacking on LibreOffice daily was a lot of fun and at times challenging. While doing so, I got to interact and learn from the community of developers, especially my mentor Thorsten Behrens (CIB). Since being in the LibreOffice community is so rewarding, I wanted it to be official with a TDF membership – and having a say in what the future holds for LibreOffice is, of course, a plus.

What are you working on in the LibreOffice project right now?

I finished my Google Summer of Code project that introduced physics-based animation effects to LibreOffice Impress. And right now, I’m looking forward to fixing some bugs, starting from the ones related to animation effects.

Anything else you plan to do in the future? What does LibreOffice really need?

Since LibreOffice is one of the core utility pieces that the end user looks for in a computer, I think it is also an important piece for end users to achieve freedom. Therefore, I think LibreOffice can always use more robustness, so I will be fixing as many bugs as I can in the future.

Other than that, in the near future I’m trying to organize an event under ITUGnu to help some fellow students to contributing to LibreOffice and other free software projects.

Huge thanks to Sarper for his work on the new Impress animations, and Thorsten, his mentor, for supporting him. We hope to be in the next Google Summer of Code, but in the meantime, everyone with some C++ knowledge is welcome to explore the LibreOffice source code and try some EasyHacks. We’ll be there if you need help!