LibreOffice Conference 2026: The Bookshelf Project for Quick LibreOffice Documentation Access
Watch on YouTubeVideo summary
The Bookshelf project represents an initiative within LibreOffice aimed at providing users with rapid and reliable access to comprehensive documentation guides. These guides serve a dual purpose as both reference materials for specific features and step-by-step tutorials for tasks such as creating templates or building pivot tables. A key design principle of the project is ensuring consistency across different platforms; by linking the static guide pages directly into LibreOffice's online and local help systems, users can seamlessly navigate between application help pages and detailed documentation without encountering conflicting content based on their media source.
To achieve this seamless integration, the project team developed a method to transform standard OpenDocument Format (ODF) files into optimized web pages using a specialized extension called Writer to XHTML. This process involves repositioning chapter elements like logos, titles, and tables of contents into HTML sections that can be styled with CSS grids, which are not native to ODF definitions. The resulting static pages are lightweight, relying only on minimal JavaScript, which allows organizations to clone the repository and host the documentation locally within their own facilities or on the internet without dependency on external databases or services.
The Bookshelf platform offers these resources in multiple formats, including downloadable PDFs, source code, printed copies, and online reading versions, catering to diverse user preferences. The interface includes a header with the guide name, a dedicated donation section for the foundation, and a global table of contents that allows users to search across all available books. By providing direct links at the bottom of every help page, the system ensures that whether a user is accessing local help or the online service, they can quickly jump to the relevant chapter in the Bookshelf, effectively bridging the gap between quick application tips and deep-dive documentation.
Regarding user engagement, the project team has begun analyzing traffic data to understand how users prefer to access this literature. Initial statistics indicate a significant daily volume of visits, with an average session duration of about one minute, suggesting that users are actively searching for specific information rather than just browsing passively. While exact preferences between downloading PDFs and reading online are still being gathered by the infrastructure team, the current setup demonstrates high utility, particularly when social media inquiries or specific feature needs arise, allowing users to instantly locate solutions like master document guides through the unified Bookshelf interface.
Read the full video transcript
[music]
Hello everybody.
That's me again. Let's talk about uh a
project that I am conducting within the
documentation which I call uh the
bookshelf or Libra office guides. And u
the idea of this um u project is to make
all the guides available quickly for oh
for uh the um users. So what happens is
the guides are also a reference for
Libra office users. Yeah. So it's
important for them to have quick access
on the topic. It's also important to
make a search in the chapter uh to
search also in the book. Uh the guides
are also tutorial for features. For
example, if you want to create a
template, so you have all the
instructions in the guides to create a
template, you if you want to open a or
create a pivot table, then uh everything
is explained there. So it's important
that the guides are talk took as
tutorial also and also the howto and uh
the guides are linked in the libri help
and sometimes you have an overlap of the
help contents and the guides. Uh this is
on purpose. We don't want to to have uh
different contents uh depending on the
the media that you are using. And uh the
advantage also is that uh we created the
guides as a static pages. It's not
connected to any service specifically
such as database. It's just a uh a set
of uh at best JavaScript uh inside the
pages. So uh you can also if you want
you can clone the uh the repository of
the guides and install in your in in
your facility or your internet. This is
perfectly possible. Okay. Uh what uh we
did uh we
we have a challenge in our guides. This
is the structure of a chapter. We have a
logo. We have a guide name. We have a
chapter title. We have a subtitle,
copyright, a table of contents, and the
contents of the chapter. And the
challenge is to transform that into
a web page. Okay. So uh just to make
sure this this uh the logo uh is mapped
here, the uh guide name is mapped here.
Uh the chapter and subtitle, the
copyright,
the table of contents and the the area
where all the contents is is displayed.
So this is the structure of the chapter
and we need to transform that into a
different layout. So the layout that we
have in usually in pages in web pages we
have a header here and we have a table
of contents here a copyright is over
there and the contents are uh displayed
here. So this the the the challenge is
to transform that structure of the chap
chapter in the previous slides to this
one. We did it in the past and we added
some further sections. Uh one is for
donation for the foundation. The other
one here is to have the table of
contents of all the book the books. uh
here an imprint of the content of the
foundation and a search uh mechanism to
uh search within all the databases.
Right? So how do you transform an ODF
file into a web page? Um this was done
by the trick is to reposition the
chapter parts we use with sections. So I
saw with the arrows all the sections
that we had to create and the sections
hopefully uh was mapped into a a tag div
in HTML.
Uh so also we uh the div can be handled
in HTML by uh the CSS and the grid and
uh we have to introduce the grid because
the grid does not exist in the ODF
definition. So this is something we had
to add into the export of our um uh
contents. uh and also we use a very
small script to add the CSS to the
exported HTML. So that for example in
ODF you have a section with name XYZ.
Internally this section is named XYZ
region and in HTML you can have this
this uh tag and of course then it
becomes very easy to position all the
contents of the chapter. Okay. Uh then
of course the tool that we use to export
we use an extension name it writer to h
[snorts] x x to xhtml.
This is a extension that has been
developed in uh long some time ago. Um
and uh it uses Java through um as a
mechanism as a language and it's very
flexible and it produces as a less
cluttered HTML page. So you can have
this extension here in the extension
websites and we applied this uh this
thing. So the bookshelf was designed by
um in the beginning of course by myself
but then Juan Jose helped me to create
this page. So you have all the guides
available here and the guides you can
download it from um PDF. You can
download the source code the ODF. You
can uh buy a printed copy. Sometimes we
we made some of these guides available
for as a printed copy and you can read
it online. So
the idea is to have a quick access to
all this literature and also what is
important for us and I saw that in
several uh social media people asking
some guidance on how to do uh for
example a master document then I can go
to the bookshelf to the chapter of of um
um master documents and get the link and
publish for the people. All right. So,
it's a very fast access. Um
that each chapter has a table of
contents. You can navigate by chapters
right there. Okay. So, this is for the
car guide and it's very quick.
And this is the results that we have. Uh
here is the header with the logo, the
guide uh uh name, the chapter, the
donation. This is the book uh the table
of contents of the book. This is the
contents of the chapter. And then you
can navigate and scroll down here u the
u all the contents of your chapter. For
example, in that case, the introduction.
Okay, I will explain in another um um
presentation how do we transform that in
more details but this is the result that
we have in this project and we are doing
that for all the available guides that
we publish. So that's basically my
presentation.
Um
yeah I'm ready to take some questions.
It's quite quick but uh the results is
there and we are uh working actively to
make all those the books available in
the bookshelf. So yes please
you mentioned you did mention that the
online help is linked to to those pages.
>> Uh yes
>> whether it's local or online.
>> Yes. the uh if you open the health in
the application you will see on each
health page you have a link to this uh
book. So if you if you are looking for
information about uh say uh um something
related to inress then you will be able
to in the help pages to to be able to
>> you navigate from the help
>> yeah but it's just a link
>> local
either
>> no you you have the help online which is
a service that we offer. We you have the
lo the help locally and both of them you
you have on the bottom of the page you
have a link to the bookshelf. So if you
want if you read the help page and it
wants more information, you just have a
simple link between the two services.
>> Yeah.
>> Yeah. Yeah. Yeah.
>> They don't have to be simultaneously.
>> No, no, no. It's [clears throat] it's
simple. Let me just try to show it.
>> Um let me just uh here open my
navigator.
I hope that it's connected.
Okay.
Uh then we have for example this this is
a page and uh uh online. Let's put on
English. Let's put this now right now in
and then you have on the bottom you have
uh these links. Okay. It goes to the
bookshelf directly. So very simple and
effective. Thank you.
>> One more question.
>> Yes.
>> Uh
yes. So, I was just wondering uh since
we have the guides available in a
variety of formats and I feel like I'm
just asking you for uh statistics today,
but um do we have uh statistics on how
most people are uh accessing the guides
these days? Um do people prefer uh to
download the PDF and uh access it as a
book? Um, do people prefer to what
search online and uh access it that way?
Is it an even split? Yeah, we we have um
the infra um uh the infra team has a um
uh I don't know exactly what's the name
it's the name is Matmo and uh it
collects information on the traffic that
we have in our facility. Maybe uh Kilam
can give me more information. But uh I
can show you some traffic uh
information. Let's it's it will be quite
interesting to see how it works. Let me
just um
uh find in my bookmarks.
I have tons of uh
Yeah.
Let's see uh if we can let's see
something here.
Let me just try to get the right
the right
books liberty office.org.
So, what do we have?
Let me try to see if we can
increase visits over time.
Um,
we have
uh about 100
visits. Uh, no. Yeah.
What's that?
What? Uh, we have a a peak here. Um, and
the the average duration is uh 1 minute
here. And we have about let's see about
1,000 visits a day.