LibreOffice Conference 2026: Slide sections in Impress
Watch on YouTubeVideo summary
The video introduces a new feature in LibreOffice Impress called "slide sections," presented by Pranam Lashkari from Collabora, which aims to bring order to long and complex presentations. Without this feature, slides often appear disorganized and difficult to navigate, but slide sections allow users to group related slides into named categories that significantly improve clarity and structure. The presenter demonstrates how these sections can be used to organize content by topic, assign specific parts of a deck to different presenters in collaborative environments, or simply collapse irrelevant groups to focus on the current section being edited. This organizational capability makes managing large presentations much easier by allowing users to move entire blocks of slides at once rather than dragging individual slides one by one.
Under the hood, the feature relies on a streamlined data structure that stores only the section name, a unique GUID identifier, and a starting index, rather than listing every slide within each section. The system automatically determines the range of slides for a section based on where it starts and where the next section begins, extending to the end of the deck if no subsequent section is defined. This design simplifies the underlying code and makes undo operations more efficient by storing the complete state of sections rather than just changes. Furthermore, the implementation ensures that any modifications to sections are instantly reflected in collaborative online views, maintaining real-time synchronization for teams working together on the same document.
The technical discussion also addresses interoperability with Microsoft PowerPoint, noting that while PowerPoint uses a fixed string identifier for sections, LibreOffice utilizes a flexible GUID system that maps bidirectionally between slides and section data. Although the raw XML representation of these sections might look intimidating to users unfamiliar with ODF file formats, it remains readable and manageable within the software's architecture. The user interface allows for easy management through right-click menus where users can add, rename, remove, or collapse sections, while also supporting a new maximized view in Collabora Online and Kood that displays more slides simultaneously. This enhanced viewing mode further leverages sectioning to help users visualize the overall flow of their presentation without getting lost in excessive detail.
In conclusion, the slide sections feature represents a significant improvement for anyone creating lengthy or multi-author presentations by providing robust tools for organization and collaboration. The presenter emphasizes that despite the complex-looking XML behind the scenes, the functionality is straightforward and stable, encouraging users to adopt this feature to streamline their workflow. By enabling precise control over large groups of slides and supporting seamless teamwork, LibreOffice Impress now offers capabilities that rival proprietary software while maintaining its open-source flexibility. The presentation ends with an invitation for users to try out these new features immediately, highlighting how they make the task of building professional presentations less tedious and more efficient.
Read the full video transcript
start.
>> So I'm Pranam Lashkari as you can read
from there. I'm a software engineer and
uh work for Collabora and my today's
topic is slid section in impress.
Another very boring presentation is
going to be but I'll try to keep you
awake.
First of all, why you need slide
sections?
Because your presentations without it
looks like this. It's all mess
everywhere.
Not the kids. They are not the mess. And
with section, it looks amazing and clean
and organized like this thing.
So for again very boring text, why do
you need it?
You can name your sections as as as let
me just give you a demo why I'm showing
you this thing. If you can see here I
have sections here organized. First
section is hi with my name there and
then there is all this slide group
there. Why?
So now I exactly know what I'm going to
talk about how I organized. I can go
into flow there.
So what are the slide section? You can
group sections and then you can name it
and everything there. So how does it
work? That's the main focus I'm going to
keep here. And why do we need that? Just
in case if you have very long decks, you
can group them and then collapse and
focus on only slides which you are
working on right now on this one
particular group. Then there are some
presentations which are done by multiple
people because multiple people are
presenting. So you can make sections for
each person. So one person works on just
one section and doesn't mess up uh
someone else's slide. And um this also
helps because with sections you can
select entire section and move entire
section to a different completely
different position. So it makes your
life a little bit easier when moving a
dozen of slide at a time.
Under the hood, what do we have there?
So if we focus on the coding part, we
have one slide section manager per
document. And there is this one
structure which just stores very simple
information. the name of the section and
the section identified by GU ID and we
also store index there. So how we we
don't store what slides are in the slide
section. We just store the starting
index and that section continues until
the next section is specified. So if uh
one section starts at slide two, if
there is no section specified after that
uh then it goes up to the end of the uh
slide deck. If there is another section
specified at slide 10, then that section
ends at slide 10.
And you can perform simple uh group
actions add, remove, rename, move. And
uh we we done this uh using Uno API uh
for the online.
And uh for for the undo part we store
the entire uh entire uh section data not
just uh what you have changed in the
section but entire list of section with
a start index name. Uh so it makes uh
our life as a developer a little bit
easier than maintaining just the delta.
And if you change anything in the slide
section, it instantly updates all the
view if you are in a collaborative view
in your collabor online.
How does it look? It looks scary.
>> Very very scary. Uh so first of all uh
it started because uh this feature
[clears throat] was already part in in
the PPT and we wanted to uh do the
interop thing. So if we are bringing the
PPT features uh to support the
interopability why not to have it also
in the ODF. So first of all uh in PPT
they already had this this scary line is
not so scary because it's always fixed.
If you type this uh PPT knows that uh
this is this entire section is about
sections and then they are identified by
this uh again huge number and uh
[clears throat] and based on all this
interop stuff we did something similar
but we don't need a section identifier
that fixed long string like this one
here. This one is fixed always. But in
our case, we we can just write this
section to make life a little bit easier
in our case. And then we have this long
identifier. It's a go ID, but uh
basically if you don't know what go I
is, it's just a simple identifier, an ID
and in that ID we store which slides are
there and they are mapappable both ways.
So slide has the data that which section
they belong to and the section
information has which slide they belong
to. So you can map it either way and um
basically that's it. It's it just looks
scary when you see it the first time but
otherwise it's just simple nested uh XML
which is very readable in ODF files but
uh not so readable in uh PPT
uh and uh
I'm just reading it right now. ODF ODF
speak slide PBTX slide ID uh whatever I
just said it's summarized there but um
apart from that how does the UI look in
the editor I have some screenshots there
because I would have done the live demo
but I have an extraordinary ability to
uh make a perfectly stable software
unworkable during the presentation so
this time I'm just uh showing you the uh
screenshots so if you want uh add a
section. You just right click on it and
you get this option. And if you click on
the sections, you again get all these
options of uh moving, renaming, remove
just this section or slides and the
section all together. And um you can
rename it, you can collapse all all
together to see what you are uh doing
and the road map and stuff. And apart
from that, another amazing feature we
have in collabor online and kod is that
you can now maximize the entire slide
deck to see more slides all together and
it also supports sections there.
Isn't it beautiful?
And I have worked on it.
And basically this slide says that we
have done our work and it works
perfectly fine. Feel free to use it.
And how does it work from uh core to
browser? We have uno command slide
sections and we just write uh all this
detail in JSON form if you want name ID
start index slide count if you want to
uh play around with it and uh mostly
that's it. Thank you.
[applause]