LibreOffice Conference 2018 – Talks from Collabora

We are looking forward to the LibreOffice Conference 2018, starting on September 25 in Tirana, Albania! Just like at the previous LibreOffice conferences, there will be talks from people that work at Collabora Productivity, talking about LibreOffice desktop and Online development, new features, security, testing, use cases and a lot more!

You can find more detailed info on the talks from Collabora, ordered by date and time, below:

Reducing Build Time

The LibreOffice code base is large, complex and takes a long time to build. The aim of his talk is to present the various ways developers can use to reduce the time spent building, ranging from usage of various build tools like icecream and ccache to somewhat dirty but definitely working tricks. Aimed primarily at less experienced developers but there should be some tricks for the advanced ones as well.

Speaker: Luboš Luňák
Room: Track Room 2
Day: Wednesday, September 26
Start: 14:30
End: 15:00

Improving LibreOffice as a MSO replacement for Automation and VB Clients

LibreOffice has for a long time contained support for clients on Windows connecting through Automation (previously known as ‘OLE Automation’). However, there were several missing features in that functionality. Also, in real life, the common use case would probably be a client written to work against Microsoft Office, that a customer would want to use unchanged against LibreOffice instead. That requires LibreOffice to provide an interoperable API to the extent that client needs. Much of such API is already present in LibreOffice, as VBA compatibility for Basic macros. Collabora Productivity has worked on improvements to the Automation support in LibreOffice and implemented a tool called COLEAT (for Collabora OLE Automation Translator) that goes in-between for instance a VB6 client and LibreOffice. It translates the client’s use of MSO APIs, that was fixed when the client was compiled, into the more dynamic late binding approach that LibreOffice supports. The tool can also be used to trace the APIs used by the client against an actual MSO instance, to find out what needs to be added to LibreOffice.

Speaker: Tor Lillqvist
Room: Track Room 2
Day: Wednesday, September 26
Start: 15:00
End: 15:30

Image Handling Rework

The life-cycle of images in LibreOffice had a flaw which could potentially lead to image loss. This flaw was fixed in LibreOffice 6.1, so that at any time it is known if the image is used somewhere in the system or not with a standard reference counting technique. At the same time, it was also necessary to change certain algorithms as the life-cycle change completely changed how certain aspects of image handling (swapping in particular). In this talk, he will describe the life-cycle problem in details, how this was solved and eventually implemented. He will also explain what enhancements can be done in the future to make handling of images even better, faster and consume less memory.

Speaker: Tomaž Vajngerl
Room: Main Room
Day: Wednesday, September 26
Start: 16:30
End: 17:00

New features in the Online since the last conference

Come and hear what has happened in the Online since the last conference! The dialog routing has been implemented, bringing in a lot of existing dialogs, new functionality in the toolbar, new translation mechanism saving work of the l10n team, scripting of the Online from Python and more.

Speaker: Jan Holesovsky
Room: Track Room 2
Day: Wednesday, September 26
Start: 16:30
End: 17:00

PDFium for better PDF rendering and editing

PDFs are complex documents. Rendering them accurately, let alone editing them, can be quite challenging. PDFium is a world-class PDF rendering and parsing library. With it, LibreOffice will render PDFs far more accurately than before and allow for improved editing experience for the user. This is an overview of the first steps towards that end and the challenges met and those outstanding.

Speaker: Ashod Nakashian
Room: Main Room
Day: Wednesday, September 26
Start: 17:00
End: 17:30

Improving Calc parallel calculations

Last year Calc gained a fourth method of calculation in addition to OpenCL, so-called software interpreter and the normal single-threaded calculation: Multithreaded formula group calculation. This talk will present progress of this method, the challenges and problems of this approach, ways to handle them and the resulting improvements in Calc performance.

Speaker: Luboš Luňák
Room: Main Room
Day: Wednesday, September 26
Start: 17:30
End: 18:00

Interoperability challenges: working with tables in Word and Writer

In Writer, the experience of working with documents containing tables originating from Word is often less than ideal, especially when certain table property settings are involved, one of the most problematic ones being the Wext wrapping: Around property. The talk will go over the differences in table handling between Word and Writer, what the current pain points are, what has been done to mitigate them, and what could be done to further improve the situation. The target audience is QA/end users with some technical inclination.

Speaker: Aron Budea
Room: Track Room 1
Day: Wednesday, September 26
Start: 17:30
End: 18:00

Central Configuration Management for LibreOffice in Windows networks

This talk is dedicated to different aspects of administering LibreOffice deployments to multiple boxes in corporate environments, where administrators face needs of doing company-wide changes to configurations, or maintaining different configurations for different teams across the company; and they need doing that efficiently both in terms of their effort, and of users’ experience (and without noticeable downtimes).

Speaker: Mike Kaganski
Room: Track Room 2
Day: Wednesday, September 26
Start: 17:30
End: 18:00

Database migration in LibreOffice

LibreOffice Base can store HSQL database files inside its file structure.
However, this feature is deprecated. The talk will walk through the steps of creating a library capable of converting HSQLDB databases into Firebird or any other formats supported by LibreOffice. Further possibilities for improvement, the most painful problems, and upcoming bugs will also be discussed.

Speaker: Tamas Bunth
Room: Main Track
Day: Wednesday, September 26
Start: 18:00
End: 18:30

Meet the Engineering Steering Committee

LibreOffice’s more significant engineering decisions are made each week
during a conference-call packed with engineering talent and experience. The meetings are public, and minutes and agendas posted to the project lists. Come and meet the people who show up there, raise whatever topic you like. They will discuss how they can get more people involved in what they do,
and any hot topics of the day.

Speaker: Michael Meeks
Room: Main Track
Day: Thursday, September 27
Start: 09:30
End: 10:30

Shrink and Load: Optimizing for speed and footprint

Responsive loading of documents is key to the best user experience. With larger documents, this can become challenging. Even when the amount of data to load is large, being responsive and giving the user the initial glimpse of the is often critical. In addition, scalability is vital to integrator and hosts, who want their cloud solutions to serve more users with more documents on a given hardware. To that end reducing the memory consumption improves both scalability and, often, performance in general. This talk is about improvements on both fronts.

Speaker: Ashod Nakashian
Room: Main Track
Day: Thursday, September 27
Start: 11:00
End: 11:30

Economics, Marketing & LibreOffice

How can we make LibreOffice a fun and rewarding place for volunteers, and companies? How can we explain how things work easily to our millions of users and hundreds of contributors to set the right expectation and to build the best office suite ever together. Come and hear an outline sketch of several models, some strengths and weaknesses of how the LibreOffice model works currently, and how we can improve that.

Speaker: Michael Meeks
Room: Track Room 1
Day: Thursday, September 27
Start: 12:00
End: 12:30

Level 3 support case studies

TDF recommends deploying LibreOffice in production environments with the backing of certified professionals, providing development, migration and training support. Having a Level 3 support contract (for fixes at the source code level) is truly beneficial not only for the organization who pays for new features or bug fixes but for the entire community. In the talk, a few examples of the benefit of real support will be demonstrated.

Speaker: Andras Timar
Room: Track Room 1
Day: Thursday, September 27
Start: 15:30
End: 16:00

Profiling with Callgrind

Callgrind is a Valgrind tool for profiling that records call history among functions in a program’s run. This data can be viewed and analyzed in the KCachegrind application. The talk will focus on explaining how to use the tool and how to understand the information they provide and practical examples of how it can be used to identify bottlenecks in LibreOffice code.

Speaker: Luboš Luňák
Room: Main Track
Day: Thursday, September 27
Start: 16:30
End: 17:00

Latest improvements in PPTX support

Szymon will present changes made since the last year in fields like: document theming, animations support and providing better quality of exported files without broken content.

Speaker: Szymon Klos
Room: Main Track
Day: Friday, September 28
Start: 11:00
End: 11:30

Editing ReqIF-XHTML fragments with Writer

The LibreOffice Writer HTML filter is one of Writer’s oldest import/export filters, created long before XHTML was invented. There was an earlier effort to create a separate XHTML export based on XSLT, but that has a number of limitations. A new approach is to add XHTML mode to the HTML import and export that works with XHTML files, including its Requirements Interchange Format (ReqIF) subset. The talk will walk through a number of situations where improvements have been done and present the results. Come and see where we are, what still needs to be done, and how you can help.

Speaker: Miklos Vajna
Room: Main Track
Day: Friday, September 28
Start: 11:30
End: 12:00

Adding support for grouping header entries in Calc Online

The goal of providing to the user the ability of grouping rows or columns in Calc Online required several changes. On the core side that meant to add group information to the usual headers data fetched by the client. We switched from a data entry for each displayed row/column header entry to a single data entry for each range of rows/columns of the same size and belonging to the same group. This feature improves both document loading time and minimizes data traffic between the core and the client. On the client side instead of creating row/column header entries and group tree-like structure as HTML elements, we render them through Canvas drawing primitives. This solution provides us with more flexibility and better performance.

Speaker: Marco Ceccheti
Room: Main Track
Day: Friday, September 28
Start: 12:00
End: 12:30

Async dialog execution – what is that and why it’s needed

The last year, we started routing dialogs from the LibreOffice core to Online, extending the Online’s functionality dramatically. It all worked fine, with one exception – when multiple users have opened the same dialog concurrently, the changes couldn’t be applied to the
document until after all the users have closed the dialog. The solution to this problem is asynchronous dialog execution. This talk will summarize the general concept, several dialog conversions to async, and the caveats of such conversions.

Speaker: Jan Holesovsky
Room: Main Track
Day: Friday, September 28
Start: 12:30
End: 13:00

Recent Mac-specific bug fixing and possible future Mac-specific work

Using proceeds from the sales of LibreOffice Vanilla on the Mac App Store, Collabora has been able to spend some time on fixing Mac-specific bugs in LibreOffice. This talk will provide a brief overview of some of those, and Tor will also look into some potential areas for Mac specific work in the future.

Speaker: Tor Lillqvist
Room: Main Track
Day: Friday, September 28
Start: 14:30
End: 15:00

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.