Our new extensions and templates page is getting ready!

Our old Extensions and Templates Website has worked well over the years. It is one of the key and most frequented websites of the LibreOffice project, as it enables users to enhance the functionality of LibreOffice with add-ons and plug-ins, while providing an easy way for authors to improve LibreOffice.

We’d like to express a special thanks to Andreas Mantke for implementing, designing and maintaining it in first place! It was his initiative to come up with such a website and he has spent countless hours over the past years to maintain the site to the benefit of our community. Kudos and thank you so much for your help and dedication!

As we look forward, we’ve been thinking about how to progress, while building on some of the other technologies we use.

After research and evaluation of various options, we’ve made the decision to update the website and base it on SilverStripe, the content management system we use for the main LibreOffice website. Our goals include:

  • Streamlined design
  • Improved usability for authors and users
  • Make extensions very prominent
  • Make it easy to localise in many languages

In the last few months, we’ve been working on a new site and workflow, and today we’d like to share the current progress, and provide some information on what’s going on under the hood. Christian Lohmaier talks about the new website, which will be available soon…


Initial setup

We decided to use a much more reduced and simplified setup for this. With fewer tools to maintain, the easier it is to add improvements along the way.

We’ve made the decision to go with SilverStripe, since that is a CMS we are already familiar with since we are already using it for our main website. It has a Model View Controller design that is easy to grasp and extend by anyone who knows some PHP and html and CSS.

The separate backend (administrative interface) and frontend (what a visitor using the site sees) allows us to streamline the workflow and improve error handling.

Having the data completely decoupled from the representation will allow us to revamp the site as new ideas come along or potential problems will surface. One of our goals is to simplify the user interface and also allow for translation and localization of both the extensions as well as the whole site from the very beginning. Extension maintainers can translate their listing into the language of their main target language.

Discoverability

Similarly, users told us that they wanted their extensions to be even easier to discover, so for this we decided to go with a curated list of tags as the main categorization/classification. We learned from other tag-using systems (like ask) that freeform tags would require a high level of discipline from content creators to not create too specific or too similar tags to make for a useful search tool.

Having a curated list of tags also allows for translation of the tags, further improving the experience for our non-English speaking endusers. This also will allow us to get rid of the rather arbitrary split into templates and extensions, but rather have a more targeted listings.

And since we’re already using SilverStripe in combination with TDF’s Single Sign-On solution, current users of our SSO can easily access the new site.

Creating and editing

To illustrate the keep-it-simple approach, here is what an extension maintainer would see once logged in to edit or create an extension entry:

And here’s what creation of a new entry would look like:

While some people might think that this is not the most exciting user interface, and that it also boxes the user in, well: that is the whole point about it!

Just like on the current site, we kept the concept of having a main extension entry along with individual releases that might be limited to a certain language or a specific operating system:

Moderation

The new sites provides some features also for extension moderators with a more expansive admin interface in which they would have access to reports and where they can add and maintain the list of available tags, and do other similar tasks.

In the next post we’ll dig a little deeper into the more technical stuff like the data model and templating systems. That will then provide the required knowledge to not just give feedback on the current design (both visual as well as from a low-level perspective), but already provide concrete improvements in form of patches.

As we’re a volunteer-driven, community project, we really appreciate any help – so if you want to give us a hand, join our website mailing list and drop us a line. We look forward to hearing from you!

10 great LibreOffice-only features

LibreOffice is the successor project to OpenOffice, which had its last major release (4.1) back in 2014, as you can see in this timeline – click to enlarge. And, of course, it’s still free and open source:

We release a new major version every six months – so let’s check out some of the great features our community and certified developers have added in recent years!


1. Improved compatibility – .docx export

LibreOffice Writer, the word processor, can export documents in .docx format (OOXML), as used by Microsoft Office. Many other compatibility improvements have been added too.


2. NotebookBar user interface

Since LibreOffice 6.2, we have an alternative user interface option called the NotebookBar. To activate it, go to View > User Interface > Tabbed.


3. EPUB export

Want to create e-books from your documents? With LibreOffice, you can! Click File > Export and choose EPUB, which can be read on many e-book devices.


4. Document signing

For improved security, you can use OpenPGP keys to sign and encrypt ODF, OOXML and PDF documents. (ODF is the OpenDocument Format, the native format of LibreOffice.)


5. Pivot charts

Calc, LibreOffice’s spreadsheet, lets you create charts from pivot tables. This helps you to summarise data sets in complex spreadsheets.


6. Document watermarks

LibreOffice 5.4 introduced custom watermarks, which can be added to page backgrounds.


7. Major spreadsheet performance boosts

Calc has benefited from multi-threading support, dramatically boosting performance on computers with multi-core CPUs.


8. Attractive presentation templates

Impress, LibreOffice’s presentation tool, includes a selection of hand-crafted templates, so you can focus on content rather than design.


9. Documentation improvements

LibreOffice’s help system has been improved to be more user-friendly, while many guidebooks have been updated too.


10. Safe Mode

To improve reliability, LibreOffice 5.3 introduced a Safe Mode, which temporarily disables your user configuration and extensions. This helps you to pinpoint any issues which may affect your setup.


Like what you see? Download LibreOffice and try it out – it’s free!


Those are just some of the features – but of course, our community has grown, we’ve started the Document Liberation Project and we have professional support options for using LibreOffice in businesses. And there’s much more still to come – join us!

LibreOffice presentations at FOSDEM 2020 – learn about the technology behind the software

FOSDEM is the biggest European get-together of free and open source software (aka FOSS). And, of course, the LibreOffice community and certified developers were there!

Indeed, many developers and community members gave talks about their recent work – check out these links for the videos and slides…

Main track

Open Document Editors devroom

Collaborative Information and Content Management Applications

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…

A few months ago, we announced an initiative to improve the support of PPT and PPTX files in LibreOffice. Lots of great work happened since then and the results are collected below!

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.

Import/export

Stephan Bergmann (Red Hat):

Speed up loading a PPT file with equation objects


Noel Grandin (Collabora):

Speed up loading a PPT file with equation objects


Miklos Vajna (Collabora):

Add PPTX import/export for semi-transparent shape text

Transparent text before Miklos’s implementation
Transparent text before Miklos’s implementation
Transparent text after Miklos’s implementation
Transparent text after Miklos’s implementation

PPTX import: don’t set shape fill from the style in case the background fill is already set

Shape fill before Miklos’s fix
Shape fill before Miklos’s fix
Shape fill after Miklos’s fix
Shape fill after Miklos’s fix

PPTX import: fixed duplication of math objects

Math objects before Miklos’s fix
Math objects before Miklos’s fix
Math objects after Miklos’s fix
Math objects after Miklos’s fix

Tamás Zolnai (Collabora):

PPTX export: don’t change shape’s background transparency

Background transparency before Tamás’s fix
Background transparency before Tamás’s fix
Background transparency after Tamás’s fix
Background transparency after Tamás’s fix

PPTX export: don’t lose the gradient background fill of a slide

Gradient fill after Tamás’s fix
Gradient fill after Tamás’s fix

Xisco Faulí (TDF):

PPTX import: display shapes with washout mode

Shapes not displayed before Xisco’s fix
Shapes not displayed before Xisco’s fix
Shapes displayed after Xisco’s fix
Shapes displayed after Xisco’s fix

PPTX export: handle image colour/graphics modes correctly

Colour modes handled incorrectly before Xisco’s fix
Colour modes handled incorrectly before Xisco’s fix
Colour modes handled correctly after Xisco’s fix
Colour modes handled correctly after Xisco’s fix

PPTX import: don’t lose text highlighting in table cells

Text highlighting not displayed before Xisco’s fix
Text highlighting not displayed before Xisco’s fix
Text highlighting displayed after Xisco’s fix
Text highlighting displayed after Xisco’s fix

PPTX export: save text highlighting

No highlighting before Xisco’s fix
No highlighting before Xisco’s fix
Highlighting after Xisco’s fix
Highlighting after Xisco’s fix

PPTX import: respect no fill colour for text

Text visible before Xisco’s fix
Text visible before Xisco’s fix
Text invisible after Xisco’s fix
Text invisible after Xisco’s fix

Gülşah Köse (Collabora):

PPTX import: implement z-rotation of 3D text transformation

Text not rotated before Gülşah’s implementation
Text not rotated before Gülşah’s implementation
Text rotated after Gülşah’s implementation
Text rotated after Gülşah’s implementation

PPTX export: preserve textbox rotation attribute

Text goes bonkers before Gülşah’s fix
Text goes bonkers before Gülşah’s fix
Text stays put after Gülşah’s fix
Text stays put after Gülşah’s fix

Tamás Bunth (Collabora):

PPTX import: custom date as custom XTextField

Dates before Tamás’s fix
Dates before Tamás’s fix
Dates after Tamás’s fix
Dates after Tamás’s fix

Mark Hung (PPT/X team):

PPTX import/export: handle complex text properly

PPTX import: reset font settings, if necessary

Text before Mark’s fix
Text before Mark’s fix
Text after Mark’s fix
Text after Mark’s fix

Luke Deller (PPT/X team):

PPTX import: Fix IsTransparent() for unloaded graphics

Blue line not displayed before Luke’s fix
Blue line not displayed before Luke’s fix
Blue line displayed after Luke’s fix
Blue line displayed after Luke’s fix

Housekeeping

Julien Nabet:

Save/restore locking properly in ImplSdPPTImport::Import

sd: prefix members of SdrPowerPointImport

cppcheck: fix 2 funcArgOrderDifferent


Various

Mike Kaganski (Collabora):

PPTX export: disable undo during save

Thanks to everyone for their great work!

LibreOffice Macro Team: progress report

Macros help users to automate common tasks in LibreOffice, and in September, we announced a new team in our community to work on macro support.

So, what has happened in the meantime? This article is a collection of the work done by the LibreOffice Macro Team in the past few months, as well as any other macro-related things in the project. 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.

Quality assurance work

Tomoyuki Kubota and Alain Romedenne reorganised the macro meta bug, creating several subcategories for macro issues and feature requests.

Wiki docs

Soon after the announcement of the macro team in early September, we were contacted by Nathan Ullberg, who promptly started contributing to the wiki documentation. Nathan is keeping notes on the progress of his work on his wiki user page. Alain is collaborating with Nathan on the wiki effort, which includes creating new articles with example macros, reviewing old ones and translating them from French to English.

Code contributions from macro team members

Tomoyuki Kubota:

Andreas Heinisch:

Alain Romedenne:

Code contributions from honorary associate members

Mike Kaganski (Collabora):

Stephan Bergmann (Red Hat):

Samuel Mehrbrodt (CIB):

Help content

Improved by Alain Romedenne:

Improved by Olivier Hallot (TDF):

Added by Olivier Hallot (TDF):

Finally, we have to highlight Alain’s presentation from the LibreOffice Conference 2019: Scripting LibreOffice Python macros, aka “Macros Well Kept Secrets”:

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.

Big thanks to everyone for their contributions and special thanks to Alain for coordinating things and being a tireless macro educator! As mentioned, everyone is welcome to join our efforts to improve macro support in LibreOffice – you don’t need to be a developer. Help us with documentation, bug reports and more – and gain valuable experience on the way!

LibreOffice and Google Summer of Code 2019: The results

This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC) a global programme focused on bringing more student developers into free and open source software development. We ran six projects – and all were finished successfully. Both students and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 6.4 in early February!

Generating QR Codes in LibreOffice – by Shubham Goyal

The ability to print and display hyperlinks as quick response (QR) codes has been requested for many years (bug 62168), and eventually Shubham Goyal implemented this feature. You can insert a QR code at the current cursor position or the table cell per Insert > Object > QR Code… or edit the inserted object with the context menu. Learn more in the final report.

NotebookBar improvements – by Sumit Chauhan

LibreOffice introduced the optional NotebookBar user interface in version 6.2. Now, thanks to Sumit, users can customise the NotebookBar by changing the visibility of buttons, as shown here:

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.

Users will be able to access this dialog from the menu: Tools > Customize, then go to the NotebookBar tab. Sumit explains some of the technical work behind this on his blog.

Another project Sumit worked on is extension support, which allows users to add extensions in the NotebookBar. There is an extension tab in all the NotebookBar interfaces where the added extension will be available (technical details here).

LibreOffice for Android (Online) – by Kaishu Sahu

In the last few years, LibreOffice for Android was lagging behind development of LibreOffice Online, because all the new features had to be re-implemented in Java. This year, a new approach to the LibreOffice Android app took place, reusing the Online work directly in the app. Kaishu Sahu’s code was important part of this effort – he has implemented features like inserting images, slideshows, save as, printing, sharing a document, dimming when inactive, and more.

Implement Chart Styles – by Gagandeep Singh

Previously, all chart formatting was directly applied. Chart styles allow users to quickly apply the same formatting presets to different charts and therefore make it easier to change them.

Wrapping up

Many thanks to all students who spent their summer time improving LibreOffice. You are awesome! And special thanks also to the mentors who always put some much love and energy into these tasks. That‘s what makes LibreOffice rock.

Now we are looking forward to next year’s GsoC. If you are interested, why not prepare early? Learn more at out wiki page where some ideas are listed.