The Document Foundation Planet

 

December 07, 2019

LibreOffice QA Blog

QA/Dev Report: November 2019

General Activities

  1. LibreOffice 6.4 Beta1 was announced on November 18
  2. A new version of LibreOffice Impress Remote for Android was announced
  3. The new LibreOffice Macro Team posted a progress report
  4. Julien Nabet improved the code quality based on cppcheck results
  5. Coverity’s defect density is back to 0
  6. Andreas Kainz continued improving dialog layout and the UI with nearly sixty commits
  7. Caolán McNamara made the customize dialog open quickly again
  8. Luboš Luňák and Tomaž Vajngerl (Collabora) introduced the Skia graphics engine into the codebase. It supports rendering the UI using GPU with Vulkan.
  9. Mike Kaganski (Collabora) fixed a long standing problem in basic’s syntax checker. He also added support for Windows Default apps settings
  10. Stephan Bergmann (Red Hat) started the work on replacing boost::optional with std::optional
  11. Justin Luth (Collabora) removed a bunch of obsolete hacks and fixed several issues related to styles and tables in Writer
  12. Eike Rathke (Red Hat) made it possible to use long passwords in OOXML documents
  13. Tamás Bunth (Collabora) added support for importing and exporting custom label text in DOCX documents
  14. Miklos Vajna (Collabora) improved the interoperability of math objects from PPTX
  15. Noel Grandin (Collabora) continued working on more than 1024 columns support for Calc, solved an acessibility-related performance issue with complex tables, made ODS documents with lots of countif functions load faster and changed various XML-handling code to use FasterParser
  16. Jan-Marek Glogowski (CIB), Michael Weghorn (LHM), Katarina Behrens (CIB) keep reducing the Kf5/Qt5 funtionality gap compared to other VCL backends
  17. Gülşah Köse and Tamas Bunth (Collabora) improved how PPTX rotated objects and text are imported and exported
  18. Balazs Varga (NISZ) fixed the position and size of custom chart legends and digits of percentages of data points when saving OOXML charts
  19. Jim Raykowski made it so list styles can be deleted in Custom Styles view
  20. Bartosz Kosiorek and Chris Sherlock added support for EMF+ custom line cap
  21. Michael Weghorn fixed loading printer settings with the document
  22. László Németh (NISZ) fixed the table line spacing in a certain DOCX document
  23. Szabolcs Toth (NISZ) fixed the displaying of table borders in a certain DOCX document
  24. Samuel Mehrbrodt (CIB) added API support for the infobar

Reported Bugs

585 bugs, 67 of which are enhancements, have been reported by 365 people.

Top 10 Reporters

  1. NISZ LibreOffice Team ( 28 )
  2. Xisco Faulí ( 23 )
  3. Mike Kaganski ( 12 )
  4. Roman Kuznetsov ( 9 )
  5. andreas_k ( 8 )
  6. Nicolas Christener ( 7 )
  7. ricky.tigg ( 7 )
  8. sdc.blanco ( 6 )
  9. Pablo ( 6 )
  10. Nukool Chompuparn ( 6 )

Triaged Bugs

652 bugs have been triaged by 76 people.

Top 10 Triagers

  1. Xisco Faulí ( 194 )
  2. Heiko Tietze ( 58 )
  3. Dieter Praas ( 50 )
  4. Timur ( 35 )
  5. Julien Nabet ( 30 )
  6. Oliver Brinzing ( 29 )
  7. Alex Thurgood ( 29 )
  8. V Stuart Foote ( 25 )
  9. Roman Kuznetsov ( 23 )
  10. raal ( 15 )

Resolution of resolved bugs

610 bugs have been set to RESOLVED.

Check the following sections for more information about bugs resolved as FIXED, WORKSFORME and DUPLICATE.

Fixed Bugs

236 bugs have been fixed by 43 people.

Top 10 Fixers

  1. Caolán McNamara ( 32 )
  2. Balazs Varga ( 12 )
  3. Mike Kaganski ( 11 )
  4. László Németh ( 9 )
  5. Samuel Mehrbrodt ( 9 )
  6. Miklos Vajna ( 8 )
  7. Justin Luth ( 7 )
  8. Jan-Marek Glogowski ( 7 )
  9. andreas kainz ( 6 )
  10. Olivier Hallot ( 6 )

List of critical bugs fixed

  1. tdf#118526 CRASH: Notebookbar crashes in read mode ( Thanks to Jim Raykowski )
  2. tdf#121963 button flashing – mouse wheel zooming breaks ( Thanks to Armin Le Grand )
  3. tdf#128659 Cannot add AutoCorrect entries once the user/autocorr/acor_xx-XX.dat file is created ( Thanks to Noel Grandin )

List of high severity bugs fixed

  1. tdf#118639 Editing password-protected non-ODF files creates multiple empty files in backup directory ( Thanks to Mike Kaganski )
  2. tdf#124270 Editing: Err:522 on copying of rows with “Calc: threaded” enabled ( steps in comment 6 ) ( Thanks to Dennis Francis )
  3. tdf#124708 CRASH: Selecting all and deleting ( Thanks to Muhammet Kara )
  4. tdf#127921 Presenter View of Impress 6.3.x doesn’t remember slide after Slides and Close, as it used to, but returns to 1 during presentation ( Thanks to Samuel Mehrbrodt )
  5. tdf#128538 Restart in safe mode: Open containig folder doesn’t work and Show user profile gets a error message ( Thanks to Stephan Bergmann )
  6. tdf#128562 Pressing F5 (Navigation) in Calc crashes document, corrupts user profile, and makes Calc impossible to use ( Thanks to Noel Grandin )
  7. tdf#128862 CRASH: Unable to open tables in HSQLDB odb-files with apostrophe ” ‘ ” character in table name ( Thanks to Julien Nabet )
  8. tdf#44462 Provide a proper ‘File Association Manager’ for the windows version of Libreoffice ( Thanks to Mike Kaganski )
  9. tdf#47490 CONFIGURATION: “Show overwrite warning when pasting data” setting is not honored when “Enter” is used to paste ( Thanks to Aditya )

List of crashes fixed

  1. tdf#118526 CRASH: Notebookbar crashes in read mode ( Thanks to Jim Raykowski )
  2. tdf#123851 Crash on start with KDE integration installed ( Thanks to Jan-Marek Glogowski )
  3. tdf#124708 CRASH: Selecting all and deleting ( Thanks to Muhammet Kara )
  4. tdf#128335 CRASH: cutting textboxes ( Thanks to Miklos Vajna )
  5. tdf#128375 CRASH: Closing LibreOffice after cutting content from document ( Thanks to Michael Stahl )
  6. tdf#128441 Crash in: mergedlo.dll (nvidia with device 0x2182 + Win10) ( Thanks to Julien Nabet )
  7. tdf#128562 Pressing F5 (Navigation) in Calc crashes document, corrupts user profile, and makes Calc impossible to use ( Thanks to Noel Grandin )
  8. tdf#128599 Crash when typing in the Authentication Required dialog ( Thanks to Caolán McNamara )
  9. tdf#128603 CRASH: Cutting a textbox in a reopened document ( Thanks to Miklos Vajna )
  10. tdf#128667 Crash when pasting text with line wrap ( Thanks to Caolán McNamara )
  11. tdf#128736 CRASH: Moving content to 2 page and undoing ( Thanks to Miklos Vajna )
  12. tdf#128737 CRASH: Importing a specific file ( Thanks to Michael Stahl )
  13. tdf#128739 CRASH: working with fields ( Thanks to Michael Stahl )
  14. tdf#128746 Opening table properties window causes crash in development build ( Thanks to Caolán McNamara )
  15. tdf#128753 CRASH: Closing LibreOffice after cutting content from document ( Thanks to Julien Nabet )
  16. tdf#128767 CRASH: Clicking on Export Directly to PDF (gen) ( Thanks to Caolán McNamara )
  17. tdf#128788 Crash when trying to put autovalue on a field of a table ( Thanks to Caolán McNamara )
  18. tdf#128802 customize toolbar with drag and drop causes crash ( Thanks to Caolán McNamara )
  19. tdf#128862 CRASH: Unable to open tables in HSQLDB odb-files with apostrophe ” ‘ ” character in table name ( Thanks to Julien Nabet )
  20. tdf#129025 CRASH: Closing LibreOffice while Options dialog is open ( gen ) ( Thanks to Caolán McNamara )

List of performance issues fixed

  1. tdf#108642 FILEOPEN: document with a complex table structure takes double the time to open when the sidebar is enabled (gtk3) ( Thanks to Noel Grandin )
  2. tdf#126043 Tools -> Customize has a nagging delay of 3 seconds on each opening ( Thanks to Caolán McNamara )
  3. tdf#128812 LibreOffice – calc – specific xlsx document (almost) any operation (FILEOPEN, FORMATTING) takes about 1 min ( Thanks to Noel Grandin )

List of old bugs ( more than 4 years old ) fixed

  1. tdf#38199 Writer EDITING: Why when I press tab in read-only mode, then the document scrolls to top? ( Thanks to Jim Raykowski )
  2. tdf#41205 PRINTING: clicking radio button “Pages” should select pane contents for page selection ( Thanks to Michael Weghorn )
  3. tdf#42112 EMF+ Fileopen: Embedded grouped diagram from particular DOC still doesn’t preview arrows correctly (diagram opens fine if extracted from MSO) ( Thanks to Bartosz Kosiorek )
  4. tdf#43021 Macros: FilePicker method setDisplayDirectory shows wrong folder with native dialog Win 7 (64-bit) ( Thanks to Jan-Marek Glogowski )
  5. tdf#44462 Provide a proper ‘File Association Manager’ for the windows version of Libreoffice ( Thanks to Mike Kaganski )
  6. tdf#47490 CONFIGURATION: “Show overwrite warning when pasting data” setting is not honored when “Enter” is used to paste ( Thanks to Aditya )
  7. tdf#54204 Hyperlinks between documents not works if link contains anchor at the end ( Thanks to Tünde Tóth )
  8. tdf#76586 FILEOPEN 2007 DOCX Column width of table within table not imported properly (OK if resaved in MSO) ( Thanks to László Németh )
  9. tdf#84183 [Infobar] Wrong appearance of clicked close button ( Thanks to Samuel Mehrbrodt )
  10. tdf#84929 EDITING: Clicking in the footer area brings focus/view to last cursor position on page ( Thanks to Justin Luth )
  11. tdf#88922 Resizing a chart legend makes the chart’s body rezise on top of it ( Thanks to Balazs Varga )
  12. tdf#94288 Entering chart mode doesnt show chart sidebar ( Thanks to Muhammet Kara )
  13. tdf#95374 FILEOPEN DOCX Margin import error. LibreOffice imports with -1cm margin that should be 0cm ( Thanks to László Németh )

WORKSFORME bugs

106 bugs have been retested by 40 people.

Top 10 testers

  1. Xisco Faulí ( 15 )
  2. Timur ( 11 )
  3. Buovjaga ( 9 )
  4. Julien Nabet ( 8 )
  5. eisa01 ( 7 )
  6. Robert Großkopf ( 5 )
  7. Heiko Tietze ( 5 )
  8. Roman Kuznetsov ( 4 )
  9. Dieter Praas ( 4 )
  10. Aron Budea ( 3 )

DUPLICATED bugs

131 bugs have been duplicated by 29 people.

Top 10 testers

  1. Xisco Faulí ( 29 )
  2. Timur ( 15 )
  3. V Stuart Foote ( 11 )
  4. Alex Thurgood ( 8 )
  5. Oliver Brinzing ( 8 )
  6. NISZ LibreOffice Team ( 7 )
  7. Roman Kuznetsov ( 5 )
  8. libreoffice.bak ( 4 )
  9. Heiko Tietze ( 4 )
  10. Dieter Praas ( 4 )

Verified bug fixes

104 bugs have been verified by 20 people.

Top 10 Verifiers

  1. Xisco Faulí ( 75 )
  2. Timur ( 6 )
  3. Dieter Praas ( 4 )
  4. Buovjaga ( 2 )
  5. BogdanB ( 2 )
  6. Michael Weghorn ( 2 )
  7. roland ( 2 )
  8. raal ( 1 )
  9. Patrick Jaap ( 1 )
  10. Eike Rathke ( 1 )

Categorized Bugs

241 bugs have been categorized with a metabug by 32 people.

Top 10 Categorizers

  1. Dieter Praas ( 51 )
  2. Roman Kuznetsov ( 32 )
  3. LibreOfficiant ( 29 )
  4. NISZ LibreOffice Team ( 27 )
  5. V Stuart Foote ( 19 )
  6. sdc.blanco ( 11 )
  7. Rizal Muttaqin ( 9 )
  8. Xisco Faulí ( 7 )
  9. Aron Budea ( 7 )
  10. Luke ( 5 )

Regression Bugs

114 bugs have been set as regressions by 24 people.

Top 10

  1. Xisco Faulí ( 52 )
  2. NISZ LibreOffice Team ( 10 )
  3. Alex Thurgood ( 8 )
  4. Timur ( 6 )
  5. Roman Kuznetsov ( 5 )
  6. Oliver Brinzing ( 5 )
  7. eisa01 ( 3 )
  8. Jan-Marek Glogowski ( 2 )
  9. Dieter Praas ( 2 )
  10. Julien Nabet ( 2 )

Bisected Bugs

99 bugs have been bisected by 13 people.

Top 10 Bisecters

  1. Xisco Faulí ( 66 )
  2. NISZ LibreOffice Team ( 9 )
  3. Aron Budea ( 6 )
  4. raal ( 6 )
  5. Oliver Brinzing ( 3 )
  6. Roman Kuznetsov ( 2 )
  7. writepaperforme2 ( 1 )
  8. Gabor Kelemen ( 1 )
  9. Buovjaga ( 1 )
  10. Michael Weghorn ( 1 )

Evolution of Unconfirmed Bugs

Check the current list of unconfirmed bugs here

Evolution of Open Regressions

Check the current list of open regressions here

Evolution of Open bibisectRequests

Check the current list of open bibisectrequests here

Evolution of Highest Priority Bugs

Check the current list of highest priority bugs here

Evolution of High Priority Bugs

Check the current list of high priority bugs here

Thank you all for making Libreoffice rock!
Join us and help to keep LibreOffice super reliable!
Check the Get Involved page out now!

by x1sc0 at December 07, 2019 11:34 AM

December 06, 2019

Official TDF Blog

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!

by Ilmari Lauhakangas at December 06, 2019 09:46 AM

December 05, 2019

Official TDF Blog

Celebrating International Volunteer Day

Today is International Volunteer Day. All around the world, volunteers give their time and energy to help many different causes – including free and open source software projects like LibreOffice.

Indeed, LibreOffice wouldn’t be where it is today, without the incredibly valuable help of hundreds of volunteers in the last decade. So to everyone who has contributed to our project and community over the years, we at The Document Foundation want to say a big thank you! Your work has helped many millions of LibreOffice users around the world benefit from powerful, open and multilingual productivity tools.

And to celebrate, here are some photos of volunteers from events this year:

by Mike Saunders at December 05, 2019 01:10 PM

Roman Kuznetsov

Fixed a terrible regression

There was a bug tdf#128133 about "muddy fonts in LibreOffice GUI with 125% scale in Windows". I have 125% scaled GUI on all my machines with Windows because I have a bad vision. And that bug was very terrible for me. 
The bug was a regression but we have couldn't to find a bad commit using bibisect process. We just have had wrong result.
And finally, Jan-Marek Glogowski have found a problem and yesterday he fixed it!
Thank you very much!

by Roman Kuznetsov (noreply@blogger.com) at December 05, 2019 10:04 AM

December 04, 2019

Official TDF Blog

Month of LibreOffice, November 2019: The winners!

At the beginning of November, we started a new Month of LibreOffice, celebrating community contributions all across the project. So how many people got sticker packs throughout the month? Check it out…

Congratulations to everyone who’s on that page – and thanks so much for your contributions. It’s great to see such a passionate community helping to bring powerful, free and open source software to the world.

Now, how can you claim your sticker pack? Click the 302 above, and if you see your name (or username) on that page, get in touch! Email mike.saunders@documentfoundation.org with your name (or username) from the wiki page so that we can check, along with your postal address, and we’ll send you these:

(Note: your address will only be used to post the stickers, and will be deleted immediately afterwards.) If you contributed to the project in November but you’re not on the wiki page, please let us know so that we can add you!

But there is one more thing…

And we have an extra bonus: 10 contributors have also been selected at random to get an exclusive LibreOffice glass mug! It looks like this:

And here are the winners:

  • Krunose
  • LibreOfficiant
  • @tetrapyloctomist@muenchen.social (Mastodon)
  • Rhoslyn Prys
  • Roman Kuznetsov
  • Marco A.G.Pinto
  • @balogic (Twitter)
  • Gerhard Weydt
  • Grantler
  • Rizal Muttaqin

Congratulations to you all! We’ll be in touch with details for claiming your mugs…

So, this Month of LibreOffice has finished – but we plan to do another one in May next year, with another opportunity to get cool merchandise! And, of course, you can join our friendly community at any time and contribute back to the project. Thanks!

by Mike Saunders at December 04, 2019 03:47 PM

November 30, 2019

Official TDF Blog

LibreOffice monthly recap: November 2019

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more!

  • We got started with the Month of LibreOffice, November 2019. This is a campaign that we run every six months, crediting contributions all across the project. Everyone who helps the LibreOffice community during November can claim a sticker pack, and has a chance to win a cool glass mug. Today is the final day, so click the link to find out how to participate!

  • The OpenDocument Format (ODF) is the native file format in LibreOffice, and is used by other applications too. On November 7, we welcomed the release to OASIS of TC Committee Draft of ODF Version 1.3 for ratification. At the end of the process, ODF Version 1.3 will be submitted to ISO to become a standard. The final approval is expected in late 2020 or early 2021.

  • The LibreOffice Conference 2019 took place in Almeria, Spain in September, and we finished editing and uploading videos of presentations from the main room (auditorium). They’re all in the playlist, which you can browse below – click the button at the top to change to a different video:

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.

  • Another community that was especially active this month was the Albanian LibreOffice community, who organised a localisation sprint and other events. We really appreciate their help – and our thoughts are with them, and the people of Albania, in the difficult times after the earthquake.

  • Over in Indonesia, Sokibi’s story tells us about advocacy of free software and LibreOffice at a local level. It’s wonderful to see people all around the world who are so passionate about open source and sharing knowledge!

  • The new LibreOffice Macro Team posted a progress report, detailing bugs fixed, help update and code contributions. Great work, everyone!

  • And finally, we had a local event update from Sofia, Bulgaria, where LibreOffice was present at OpenFest. Gabriele Ponzo describes his experiences there, and explains how other community members can get involved too.

Keep in touch – follow us on Twitter, Facebook and Mastodon. Like what we do? Support our community with a donation – or join us and help to make LibreOffice even better!

by Mike Saunders at November 30, 2019 09:49 AM

November 29, 2019

Official TDF Blog

Local event update: LibreOffice at OpenFest in Sofia, Bulgaria

LibreOffice community members attend many events around the world to spread the word about the software, encourage people to get involved, and have fun! We’re really grateful for all their efforts. On November 2 and 3, the OpenFest 2019 took place in Sofia, Bulgaria, and Gabriele Ponzo was there. Here’s his report:

What was the event about?

Sofia’s OpenFest looks like probably the largest open source software and hardware festival in Bulgaria. There were plenty of people – more on Saturday than on Sunday.

There were three tracks, and a huge room for many workshops (four or five usually), which covered topics such as electronics skills improvement (eg soldering), or padlock cracking, or developing with Elasticsearch…

There was also an awesome kindergarten (with backlit sand projection game), a relaxation area and a speaker’s corner, to allow attendees pose more questions to speakers, after their lectures. The organisation of the event was great, I must say, which includes pre and post parties, lead by Yana Petrova.

Why did you go there?

The goal of my mission was to create a local LibreOffice community, and possibly increase the membership base of The Document Foundation, the non-profit entity behind the software, having this country better represented. I’ve seen many people that were interested – so we’ll see if they will become active in our community.

I also had a great opportunity to get in touch with a local technical school called TUES, which is a high school but really well connected with the university. We have now started an official dialogue, in order to try organising some kind of lecture or workshop there too.

My dream would be to have teachers giving students practice with our Easy Hacks and thus giving them the chance to get their hands on a real project’s source code, and possibly improve it. This would have a great added value, from my point of view, in IT lessons, giving the students satisfaction and many real chances for the future.

What did you do there?

I had the opportunity to share a booth with the wonderful guys from the openSUSE community. They were really kind and warm with me and helped in many ways, from coming to the airport to pick me, to talking about LibreOffice in Bulgarian to attendees of the booth, side-by-side with me who was doing in English.

A special thank you goes to Dimitar Zahariev who was so gentle and I’m really happy and honoured to have become friend of, as well as to Rozalina, Rositsa and Rumen.

At the end of the morning of the second day, I had my usual talk about our community and TDF membership. The hall wasn’t full, as in some other’s lectures, but I received a lot of questions at the end, which gave me a lot of hope, and I also talked to two interesting speakers during lunch, about LibreOffice and its ecosystem.

Are there any other events you’d like to attend?

I’ve been told by Yana that they’ll probably have another event during next summer. Either that one and/or the next edition of this one; I’d like to come, but this time with someone else from our community, in order to have our own booth, with plenty of gadgets and marketing materials.

This time, in fact, we couldn’t send anything there and Dimitar was so kind to print flyers for us. Then the organisation team have let us share a big LCD screen with the Kiwi TCMS guys, to show some videos. A thank you goes also to those last ones (Alex, Anton and Vasilena), who were so kind and generous to let use the screen one day per each booth. I’ve been talking to them too, in order to see if the two projects may collaborate.

The event really deserves our presence, from my point of view, since there was a lot of people attending, and the organisation was really professional, starting with the conference management software developed by them – we should ask them if we could try it for our conferences ;-) And also with the audio and video service (like at FOSDEM!).

How can community members get involved and help out at other events?

When we have a booth, especially if it’s not shared, more people are necessary, to cover whole days. This gives everyone the chance to do other things – to have the possibility to follow some talks, do some PR, and get some rest now and then. But the best would be to have people who’re not shy, possibly used to speaking in public, and used to approaching unknown people – in order to interact with them and explain our project.

Another way to involve attendees is to have some kind of game or challenge, giving some gadget as a prize. This is something I’ve seen at most of the booths at this conference.

In conclusion, I really enjoyed this event and I hope to come back and increase even more our presence and our brand knowledge, hoping to find always more contributors to our projects, who could also be the numerous IT companies present in Bulgaria.

by Mike Saunders at November 29, 2019 10:11 AM

November 28, 2019

Roman Kuznetsov

Filter by months and years in Calc pivot table

I have a huge spreadsheet with many data about work days and hours of special construction machinery with a date of work. There is a pivot table created from that data, where I can see number of hours for every object by type of the machinery. And I need to have a filter by month and years in the Calc pivot table.
But I got a problem when I wanted make a filter using normal pivot table control functionality. I moved Date field to Page fields area: 
and I had a filter by Date in Pivot table, but...
I can't select monts or years there, only days! I want have opportunity like in the Autofilter:
Can I get it in the Pivot table? Yes (nearly)! There are several methods for it.
First, I can add additional columns to the source table, one for month number with formula like =MONTHS(<link_to_cell_with_date>) and second for years with formula like =YEAR(<link_to_cell_with_date>). And I'll have the source table like this:
Then I should change a source in my Pivot table's properties dialog and drag Mounth and Year items to Page fields area. And I have next:
It works fine, I can select months (one or several) and years (one or several), but can I make it without any additional column in my source table? Yes, I can.
Second method is creating of filters by months and years using Pivot table's parameters and grouping.
Open the Pivot table's properties dialog and drag Date item from Page field area to Row fields area. Note, the Pivot table became very unusable, but that action was need us only for some magic. Then select any cell with date in Pivot table and press F12 key (or use menu Data->Group and Outline->Group). It will open a Grouping dialog:
Check Months and Years items there and press OK button. The Pivot table became less unusable ;-) Then need to open Pivot table's properties dialog and drag Date and Years items from Row fields area to Page fields area and close the dialog. Now I have my filters with months and years:
I see some problems in the appearance of filters in second method. 
I can't change name Date to Months! Interesting than I can change filed name in MS Excel in that case. MS Excel allows to set a custom name for the field. 
And both filters have some boundary values like <11/01/2017 and >04/05/2019. I don't know why does it need, but they are.
The second method looks very strange and not obvious. In general that actions is a full copy from MS Excel and I don't like a process, but I need a result of that magic.
The same Russian post is here.

by Roman Kuznetsov (noreply@blogger.com) at November 28, 2019 09:10 PM

Luboš Luňák

Skia branch merged to master

So, the branch implementing VCL drawing based on the  Skia graphics library has been merged in.
All(?) the necessary info about how to enable it etc. are in this mail, but there are things that better fit a blog post than a mail, and in this case that's going to be a table and a picture showing how well it may perform. Note that these results are from running visualbackendtest, which is not really a benchmark, so these numbers should be taken with a grain of salt. It's just a test that draws a gradient, several big polygons (each circle is actually 720 lines) and short text.
And LibreOffice of course does many more things than just paint on the screen. And it's not just about performance of drawing (some of these e.g. do not double-buffer, which makes things like alpha blending complicated and slow). And for some of these we could discuss the complicated reasons for why the numbers are what they are. But still, some of the numbers are interesting:
Render methodFPS
Linux gen (X11)86
Linux gtk370-90
Linux OpenGL45
Linux Skia Vulkan (GPU)65-90
Linux Skia raster (CPU)5
Windows GDI64
Windows OpenGL40-60
Windows Skia Vulkan (GPU)175-185
Windows Skia raster (CPU)75-85


by llunak (noreply@blogger.com) at November 28, 2019 10:48 AM

November 25, 2019

Michael Meeks

2019-11-25 Monday.

  • Sync call with Aron, Kendy, Javier; poked at financials, poked at patch merging, testing, merged a nice online patch from 1&1 to add a REST monitoring API.
  • Bit of quartet editing & re-arrangement in Musescore - which is a great tool.

November 25, 2019 09:00 PM

Roman Kuznetsov

Charts in Writer documents

If you use LibreOffice Calc, then you know it can insert charts to sheet using some data from selected cell range (if not, then it's a pity). LibreOffice Writer allows to make the same. There are two variants for insertng charts into text document:
1 variant. You just use menu Insert->Chart or icon on toolbar. Will be insert a default chart:
Then you should customize your chart using tools on special toolbar (select type of chart, add legend, etc.). And in that case you should add your data in an internal table manually:
That dialog is very uncomfortable. If your data will be update, then you should be change data in that internal table in chart editing mode.
2 variant. You already have some table with your data in your Writer document. Click inside of your table and select Insert->Chart. It opens a chart wizard instead simple default chart! That wizard is the same as in Calc:
You can customize your chart as you want there. Note, there are already data range in the field on wizard's step two. And that data range is from your source table!
Possibly, you should change it! 
Note, a table name is default in that field (Table1). If you'll plan to have many charts from many tables in your text document, then give them unique names before creating of charts.
There is a bonus in using of variant 2. The chart will be autoupdate after changing a data in the table!
Attention! That autoupdate mechanism was changed in LibreOffice 5.3 for perfomance optimization. Unfortunately, now you should enter to chart edit mode and exit from it at once after changing of data in the table for updating of chart=( There is a bug about it and I hope someone fix it.
Note, a chart from table will be created above table! But after creating of chart you can move it into another place in your document. Link will be saved. 

by Roman Kuznetsov (noreply@blogger.com) at November 25, 2019 10:55 AM

November 24, 2019

Michael Meeks

2019-11-24 Sunday.

  • All Saints, Simon & Norma back for lunch; played with the babes, quartet bits, ferried kids around the place.

November 24, 2019 09:00 PM

Roman Kuznetsov

The best LibreOffice extensions. Formatting of all Math formulas

So, there is another one the best LibreOffice extension for you! If you have many number of Math formulas in your Writer, Calc, Draw or Impress document, then you know you can't change font and font size for these objects for one time. You should open its one-by-one and change these parameters manually in Math editor. Ugly!
Our extension Formatting of All Math Formulas allows you change only font or only font size or both for ALL Math formulas in your document for one time! Or you can select only several Math formulas and make your changes only for it.
Download the extension by link above, install it. In LibreOffice you'll find it in Tools->Add-ons->FaF. When you start it you'll see a dialog:
If you want to change only font size, then uncheck "Enable changing of font" option, set up needed font size in the field and press "Formatting..." button.
If you want to change only font, then uncheck "Enable changing of font size" option, select font from drop-down list (you can start to type font name from first letter for faster searching), and press "Formatting..." button.
If you selected only several Math objects from all before start of the FaF dialog, then will be available "Formatting only in selection" button.
After all changings for all Math objects you'll see a "Done" message with OK button.
If you don't want to make any changes, then just press Close button.
Enjoy!

by Roman Kuznetsov (noreply@blogger.com) at November 24, 2019 08:04 PM

November 23, 2019

Michael Meeks

2019-11-23 Saturday.

  • Out for a run with J. Put up some Ikea storage units, Mentalistsed, bit of hacking & mail.

November 23, 2019 09:00 PM

Caolán McNamara

coverity scan

When we make C++17 a requirement for LibreOffice at the end of 2018 the version of coverity provided by scan.coverity.com no longer worked for us. In July 2019 a newer version of the coverity tooling was available which supported C++17 and analysis resumed.

Prior to losing coverity support we had a defect density (i.e. defects per 1,000 line of code) of 0, on its return this had inflated to 0.06 due to both new defects introduced during the down period and old defects newly detected due to additional checks introduced in the new version.

Today we're finally back to 0

by caolan (noreply@blogger.com) at November 23, 2019 08:26 PM

November 22, 2019

Michael Meeks

2019-11-22 Friday.

  • Mail chew; admin, calls, some patch review & merging. J.N.M.E. out to Ikea for a shopping binge.

November 22, 2019 09:00 PM

November 21, 2019

Michael Meeks

2019-11-21 Thursday.

  • Mail chew, debugging, moved flights, demo preparation. Presented to the team, lots of positive feedback. More code cleanup, train, flight, drive home - lovely to see the family again.

November 21, 2019 09:00 PM

>Marius Popa Adrian

Sourcetrail is now free and open-source

Sourcetrail is very useful when you try to study/navigate large C++ codebases like @firebirdsql / @LibreOffice Sourcetrail is now free and open-source! 🥳The source code is available on GitHub: https://t.co/BXX1rRBCtLIf this catches you by surprise, read our blog post on why we made this change and how we will continue: https://t.co/U5FffFZwvW pic.twitter.com/0AxH98RSVg— Sourcetrail (@

by Popa Adrian Marius (noreply@blogger.com) at November 21, 2019 03:39 PM

Miklos Vajna

Better math import from PPTX into Impress

Impress now has a much improved math handling in its importer from PPTX, eliminating annoying duplicated objects you had to delete after import, manually.

First, thanks TU Dresden who made this work by Collabora possible.

Here is how it looks:

https://lh3.googleusercontent.com/zI1fDb7tfl0a-6e1JljnBuCz67cGBSpx3s_tMViW_xWpTjy0FrsLGws-VAXWcdQhmSwXddr9wjADs5UvhNu_sNjETT7VfMJB8pdQ4PxPpHliCVbuMOx67Wwrd6brfE-eJtWIb2K36A=w640
Figure 1. Impress, new math import from PPTX
https://lh3.googleusercontent.com/rpC9KOUaadEoYKekczLTZakB98SBwqbKGqmwf_VLY6D-8OpBLh9Lpxi_RDl6CMQHJKqsz0NnxgTN8kn63CB9fGmP6AWUKIqK0huvjoRCxvoh6dtd0BMRXclsWlaKr3jbdzb1TOJ1LQ=w640
Figure 2. Reference rendering
https://lh3.googleusercontent.com/hUBhfLLFPZFDa50EMPEQxl2kih91oKIfQFBxNK7F9uWGexGbUKnV1FMQZgvmj4EctmCwlxlYK56hPSX0RZS_MpOAKZZagmfOALZ3LRrvBgoOGAx9dsM1N3dp9bGvPU7c0WVvROu8iQ=w640
Figure 3. Impress, old math import from PPTX

What you can see is that the in the old case we managed to read both the actual math object and its replacement image from PPTX, which caused visible duplication due to working transparency handling. The new way just imports the math objects, and ignores the replacement graphic.

This new way (handling of the OOXML a14 feature flag) is enabled by default, except for Calc documents, where more works is needed before it can be enabled.

All this is available in LibreOffice master (towards 6.4), so you can try it out right now, if interested.

by Miklos Vajna at November 21, 2019 09:05 AM

November 19, 2019

Collabora Community

Collabora sponsoring LibreOffice Developer Bootcamp in Ankara

On November 13 more than 120 students in Ankara Hacettepe University’s Beytepe Campus joined the first session of the LibreOffice Developer Bootcamp, a course for students with interest in C++. There is a session every week, until the end of the semester.
 
Collabora Sponsored LibreOffice Bootcamp in Ankara
 

 

The announcement of the course was received with enthusiasm at Twitter!

 

The first sessions gave a broad introduction on the course, Free Software & Open Source, LibreOffice & Collabora and requirements for the course. And after that, really into development: installations & setup, different IDEs, git, gcc, clang and the basics of C++.

 

 

 

The instructor of this course, Muhammet Kara, recently also held a talk about Google Summer of Code. Starting from that point, then doing a project for LibreOffice, he grew to a developer working for Collabora.

After the first session, Muhammet tells “There were many enthusiastic participants, even some from outside the town. I’m sure that at the end of the course, there will be many students with pretty good skills in C++ and LibreOffice development.

This course in Ankara can be organized thanks to of course support of the Hacettepe University for the use of the amphitheater, Hacettepe ACM Student Chapter for the local/logistics organization, Collabora for sponsoring, and the enthusiasm and knowledge that Collabora developer Muhammet Kara is putting into it.

The weekly sessions will be given until the end of the semester, January next year. So if you’re motivated and love open source.. you may still be able to join 🙂 !

The post Collabora sponsoring LibreOffice Developer Bootcamp in Ankara appeared first on Collabora Productivity.

by Cor Nouws at November 19, 2019 06:50 PM

November 18, 2019

Roman Kuznetsov

Automatic row numbering in the Writer tables

Often we have a Writer table with some numbering in its first column. And when you delete some rows from the table, then you should to make your numbering in first column anew.
There is a beautiful method for that case special for you! After that you shouldn't re-create your numbering in the table.
Just make next steps:
1. Create a table in Writer
2. Select needed column or several cells in column
3. Press Toggle Numbered List icon on toolbar (or select some list style on the Sidebar)
4. Now you have AUTOMATIC numbering of table rows!
For example, you created a numbering for 10 rows. Try delete 5th and 6th row. Your numbering is updated automatic and you have numbering from 1 to 8. And if you insert two row between existing rows with numbering, then you'll get numbering from 1 to 10 automatic also.
You can disable that numbering using the same way as when you created it. Just select cells with numbering and press Toggle Numbered List icon.
The same Russian post is here.

by Roman Kuznetsov (noreply@blogger.com) at November 18, 2019 05:54 PM

LibreOffice QA Blog

LibreOffice 6.4 Beta1 is ready for testing

The LibreOffice Quality Assurance ( QA ) Team is happy to announce LibreOffice 6.4 Beta1 is ready for testing!

LibreOffice 6.4 will be released as final at the beginning of February, 2020 ( Check the Release Plan ) being LibreOffice 6.4 Beta1 the second pre-release since the development of version 6.4 started in the beginning of June, 2019. Since then, 5677 commits have been submitted to the code repository and more than 850 bugs have been set to FIXED in Bugzilla. Check the release notes to find the new features included in this version of LibreOffice.

LibreOffice 6.4 Beta1 can be downloaded from here for Linux, MacOS and Windows, and it can be installed alongside the standard version.

In case you find any problem in this pre-release, please report it in Bugzilla ( You just need a legit email account in order to create a new account ).

For help, you can contact the QA Team directly in the QA IRC channel or via Telegram.

Happy testing!!

Banner

by x1sc0 at November 18, 2019 12:37 PM

November 13, 2019

Chris Sherlock

Drawing in OutputDevice

For a long time now I have noticed that OutputDevice is a class that is tightly coupled to drawing primitives such a pixels, lines, rectangles, etc. To draw new primitives in OutputDevice, you need to change the interface by adding another function, often you need to add new private functions, etc.

I have never been entirely comfortable with this - I believe that we shouldn't vary the OutputDevice class, but instead the functionality should be implemented in a command pattern. In a command pattern, you use an object to encapsulate the functionality used to perform an action. What this means is that OutputDevice no longer needs to know how to directly draw a line, pixel, rectangle or any other primitive we throw at it - this is all done in the command object. I call these OutputDevice Drawables. It turns out, I find it easier to test a command object.

In fact, the more I rewrote code to use the command pattern, the more I found that we were using a particular sequence of actions in most of our drawing functions:

  1. Add action to GDI metafile 
  2. Can we draw? No - exit 
  3. Initialize the clipping region if possible 
  4. Initialize the object's color 
  5. Initialize the object's fill color 
  6. Acquire the SalGraphics instance 
  7. Do the actual drawing! 
  8. Paint alpha virtual device
When I realised this, I decided to follow the principle of encapsulating what was varying - point 7 - the actual drawing. Everything else was the same - at least so I initially thought. It turns out this is not the case all the time, so I allowed two things - a function that can be overridden that tells the Drawable that the step should be bypassed, and in the case where we need to through all this scaffolding out the window a way of bypassing it entirely. However, this is an example of a template method pattern.

You can see the base work for this in a gerrit patch I submitted today. To use the actually command pattern is very easy: if there is not an existing function like DrawPixel in OutputDevice, you just have to invoke the command object via OutputDevice::Draw(Drawable* pDrawable). An example can be found in the unit test.

To implement a new command, you just derive from Drawable - the simplest Drawable class you can define only needs a constructor with the parameters you would normally send to a Draw command in OutputDevice (e.g. PixelDrawable only needs a Point sent to the constructor), and you implement the actually drawing in DrawCommand(OutputDevice* pRenderContext).

A few things I found helped me when I created Drawables - I quite like passing parameters to functions, I'm not a huge fan of a lot of state in the class. Drawables work because they essentially work by calling the Execute function, this handles all the basic drawing for you on the state you set in the constructor. I have found in some patches that I have on github that the functionality is somewhat complex, for this I have extract function to simplify test and readability of the code (an example of this is GradientDrawable - see GradientDrawable.cxx and GradientDrawableHelper.cxx).

by Chris Sherlock (noreply@blogger.com) at November 13, 2019 08:11 AM

November 09, 2019

Luboš Luňák

Clang precompiled headers and improving C++ compile times, take #2

It's been almost half a year since I mentioned how precompiled headers do (not) improve C++ compile times. Quite a long time, filled with doing other things, life, occassionally working on getting my patch production-ready and, last but definitely not least, abandoning that patch and starting from scratch again.
It turns out, the problems I mentioned last time had already been more or less solved in Clang. But only for C++ modules, not for precompiled headers. *sigh* I had really mixed feelings when I finally realized that. First of all, not knowing Clang internals that well, it took me quite a long time to get to this point figuring it all out, probably longer than it could have. Second, I've been using C++ modules when building Clang itself and while it's usable, I don't consider it ready (for example, sometimes it actually makes the build slower), not to mention that it's non-trivial to setup, not standardized yet and other compilers (AFAIK) do not yet support C++ modules. And finally, WTH has nobody else yet noticed and done the work for precompiled headers too? After all the trouble with finding out how the relevant Clang parts work, the necessary patches mostly border on being trivial. Which, on the other hand, is at least the good news.
And so I'm switching for LibreOffice building to my patched build of Clang. For the motivation, maybe let's start with an updated picture from the last time:
This is again column2.cxx, a larger C++ file from Calc. The first row is again compilation without any PCH involved. The second row is unpatched Clang with --enable-pch=full, showing again that way too large PCHs do not really pay off (here it does, because the source file is large, but for small ones such as bcaslots.cxx shown last time it makes things slower). In case you notice the orange 'DebugType' in the third row that looks like it should be in the second row too, it should be there, but that's one of these patches of mine that the openSUSE package does not have.
The third row is with one patch that does the PerformPendingInstantiations phase also already while building the PCH. The patch is pretty much a one-liner when not counting handling fallout from some Clang tests failing because of stuff getting slightly reordered because of this. Even by now I still don't understand why PCH generation had to delay this until every single compilation using the PCH. The commit introducing this had a commit message that didn't make much sense to me, the test it added works perfectly fine now. Presumably it's been fixed by the C++ modules work. Well, who cares, it apparently works.
The last row adds also Clang options -fmodules-codegen -fmodules-debuginfo. They do pretty much what I was trying to achieve with my original patch, they just approach the problem from a different side (and they also do not have the technical problems that made me abandon my approach ...). They normally work only for C++ modules, so that needed another patch, plus a patch fixing some problems. Since this makes Clang emit all kinds of stuff from the PCH into one specific object file in the hopes that all the compilations using the PCH will need that too but will be able to reuse the shared code instead, LibreOffice now also needs to link with --gc-sections, which throws away all the possibly problematic parts where Clang guessed wrong. But hey, it works. Even with ccache and Icecream (if you have the latest Icecream, that is, and don't mind that it "implements" PCHs for remote compilations by simply throwing the PCH away ... it still pays off).
So, that it's for a single compilation. How much does it help with building in practice? Time for more pretty colorful pictures:

This is a debug LO build on my 4-core (8 HT) Ryzen laptop, Library_sm is relatively small (36 source files), Library_scfilt is larger (154 source files). Plain 'Clang' means unpatched Clang(v9), 'Clang+' is with the PerformPendingInstantiations patch (i.e. the third row above), 'Clang++' is both patches (i.e. the fourth row above). The setting is either --enable-pch=base for including only system and base LO headers in the PCH, or --enable-pch=full for including everything that makes sense. It clearly shows that using large PCHs with GCC or unpatched Clang just doesn't make sense.
Note that GCC(v9) and MSVC(v2017) are there more as a reference than a fair comparison. MSVC runs on a different OS and the build may be possibly slightly handicaped by some things taking longer in Cygwin/Windows. GCC comes from its openSUSE package, which AFAICT is built without LTO (unlike the Clang package, where it makes a noticeable difference).
And in case the graphs don't seem impressive enough, here's one for Library_sc, which with its 598 source files is too big for me to bother measuring it in all cases. This is the difference PCHs can make. That's 11:37 to 4:34, almost down to one third:
As for building entire LO from scratch, it can be like in the picture below (or even better). The effect there is smaller, because the build consists of other things than just building libraries, and some of the code built doesn't use PCHs. And it's even smaller than it could be, because I used --enable-pch=base, as that's what I've been using up to now (although now I'll switch to a higher level). That's about 1h42m without PCHs to 1h14m with unpatched Clang (27% percent saved), and 1h06m with patches (and the 8minutes difference is still 11% of the unpatched time). Not bad, given that this is the entire LO build. Those 6 minutes for ccache are there to show the maximum possible improvement (or rather nowhere near possible, since the compiler normally still has to do the work of actually compiling the code somehow).
In case you'd want to use this too, that's not up to me now. The patches are now sitting and waiting in the LLVM Phabricator. Hopefully somebody there still cares about PCHs too.

by llunak (noreply@blogger.com) at November 09, 2019 08:01 PM

Mike Kaganski

When Legacy Justifies Errors

Since forever, Basic in OpenOffice.org had a bug: it didn’t properly check closing parentheses in expressions like

FirstUpper = UCase( Left( sString, 1 ) + LCase( Mid( sString, 2 ) )

(example taken from this AskLibO question). Note the mismatch between opening and closing parentheses: four opening, and only three closing. The author missed one to close UCase function after Left( sString, 1 ), and any compiler would naturally point out to this common mistake – any but StarBasic in OOo and derivatives.

What StarBasic did was auto-closing the expression in the end when compiling. It would only complain if the result of such auto-closing would be ill-formed; sometimes (as in the example above), the result would be syntactically correct – but not necessarily semantically correct: the example above compiled with StarBasic did not what author expected (a text with first character capitalized, and the rest of the text in lowercase), but returned text in all caps instead. For some similar cases, such errors could be not easy to find in the absence of compiler check, especially in a large project.

This has been reported to LibreOffice bug tracker as tdf#80731 back in 2014; and it was addressed in 5.4 development cycle, with the fix backported into 5.3.1. A nice and correct fix, isn’t it?

Well, not actually. It turned out, that over the years, the amount of existing and actually used legacy code having the error has become so big, that it was unrealistic to make sure that all of it is checked and fixed. Of course, some errors were found in the code bundled with LibreOffice itself – and naturally, it was fixed. Some third-party extensions – quite a number of them – also happened to have it; and all authors who could be contacted, had released updated releases with the mistake corrected; thank you! But it wasn’t possible to test any extension out there; and besides publicly available and supported extensions, there were also unsupported (but still used, and useful) ones; and private ones (used by those who developed/paid for their development); and also uncountable macros outside of any extensions, and all of them having the error, that happily worked before, suddenly stopped working for their users … so after some time, the fix was reverted both from 5.3.3, and from still developing 5.4 (tdf#106529). By the way, I was enjoying reading “AltSearch extension put a bugfix release 1.4.2 to work around this bug” there, as if pointing to syntax error was actually a LibreOffice’s bug, not a mistake in the extension’s code.

So LibreOffice kept silently allowing the wrong syntax ever after 5.3.3, until now. Today I have reinstated the original fix by Pierre Lepage from 5.4, with one modification: the check is only active when compiling the code from within Basic IDE. What does it mean? It means, that for anyone writing a new code in the Basic IDE, the syntax error will be properly found and shown. When one opens an existing module in the IDE, and makes a modification (which would of course trigger recompilation), the existing errors in the same module (even in different routines) would be found, too. But if the code is compiled not from the IDE (as when a macro is executed from an event handler; or when an extension runs its code), the old permissive handling is kept, and the code with errors will continue working as before.

I consider this an acceptable compromise, which would both allow existing users of legacy code to keep using their code, and still prevent creation of new buggy code (and also help gradually cleaning up the existing errors in supported Basic programs).

The change will appear in coming version 6.4. It’s still to be seen if this change will survive, or will it also uncover a different can of worms, and be eventually reverted, as its predecessor 😊

by mikekaganski at November 09, 2019 10:17 AM

November 07, 2019

Rewriting large parts of Beast and Bse

Last Tuesday Beast 0.15.0 was released. This is most probably the last release that supports the Gtk+ Beast UI. We have most of the bits and pieces together to move towards the new EBeast UI and a new synthesis core in the upcoming months and will get rid of a lot of legacy code along the way. For a…

November 07, 2019 03:00 PM

LibreOffice QA Blog

QA Report: October 2019

General Activities

  1. The first Bug Hunting Session for LibreOffice 6.4 took place on October, 21
  2. The last release of the 6.2 family ( LibreOffice 6.2.8 ) was released on October, 17
  3. LibreOffice 6.3.3 was released on October, 31
  4. Jan-Marek Glogowski (CIB ) fixed a slide tearing issue that affected many users
  5. Andreas Kainz reworked the layout of many dialogs. E.g. Autocorrect Dialog
  6. The GTK UI backend now uses native dialogs thanks to the tireless work of Caolán McNamara (Red Hat)
  7. Miklos Vajna (Collabora) finished implementing continuous endnotes compatibility setting in Writer layout, allowing rendering endnotes in a way which is closer to what Word users expect
  8. Miklos Vajna (Collabora) added support for allow-overlap shape property
  9. Muhammet Kara (Collabora) implemented full-sheet previews for Calc and harmonised UI references to “pages” and “slides” in Draw and Impress
  10. Tamás Zolnai (Collabora) added a table section to the Writer’s sidebar
  11. Luboš Luňák (Collabora) and Tomaž Vajngerl (Collabora) are working on a replacement of cairo with skia
  12. Gülşah Köse (Collabora) added support for text camera z rotation while pptx import
  13. Noel Grandin (Collabora), Aron Budea (Collabora) and Eike Rathke (Ret Hat) are adapting the code base to allow Calc to have more than 1024 columns
  14. On MM:SS or [MM]:SS or MM:SS.00 or [MM]:SS.00 pre-formatted cells a two digit groups input like 12:34 is now accepted as minutes:seconds value instead of the usual hours:minutes:00 value. Eike Rathke (Red Hat)
  15. Fix missing change tracking layout of numbers and bullets of lists. tdf#42748 (László Németh, NISZ)
  16. Xisco Fauli fixed some PPTX import/export bugs
  17. Balazs Varga (NISZ) keeps improving OOXML Charts interoperability
  18. Improved scalability of formula-groups computation on CPUs with large number of cores by potentially threading multiple independent formula-groups together. Dennis Francis (Collabora)
  19. Michael Stahl (CIB) did a bunch of improvements related to Fieldmarks in Writer
  20. Jan-Marek Glogowski (CIB) improved how DOCX footnotes are imported
  21. Michael Weghorn fixed some issued related to the Mail merge

Reported Bugs

622 bugs, 99 of which are enhancements, have been reported by 371 people.

Top 10 Reporters

  1. Nicolas Christener ( 39 )
  2. Xisco Faulí ( 34 )
  3. Mike Kaganski ( 16 )
  4. John ( 15 )
  5. Roman Kuznetsov ( 13 )
  6. Regina Henschel ( 13 )
  7. NISZ LibreOffice Team ( 11 )
  8. andreas_k ( 10 )
  9. Cor Nouws ( 9 )
  10. Gerry Garvey ( 8 )

Triaged Bugs

664 bugs have been triaged by 70 people.

Top 10 Triagers

  1. Xisco Faulí ( 225 )
  2. Dieter Praas ( 70 )
  3. Heiko Tietze ( 50 )
  4. V Stuart Foote ( 39 )
  5. Oliver Brinzing ( 39 )
  6. Julien Nabet ( 37 )
  7. Timur ( 27 )
  8. Alex Thurgood ( 17 )
  9. raal ( 17 )
  10. Roman Kuznetsov ( 16 )

Resolution of resolved bugs

618 bugs have been set to RESOLVED.

Check the following sections for more information about bugs resolved as FIXED, WORKSFORME and DUPLICATE.

Fixed Bugs

218 bugs have been fixed by 38 people.

Top 10 Fixers

  1. Caolán McNamara ( 25 )
  2. Eike Rathke ( 12 )
  3. Miklos Vajna ( 9 )
  4. Mike Kaganski ( 9 )
  5. Jim Raykowski ( 8 )
  6. László Németh ( 7 )
  7. Xisco Fauli ( 7 )
  8. Tor Lillqvist ( 7 )
  9. Balazs Varga ( 7 )
  10. Muhammet Kara ( 5 )

List of critical bugs fixed

  1. tdf#127306 CRASH: Closing LibreOffice after deleting a chart ( Thanks to Samuel Mehrbrodt )
  2. tdf#128013 Crash when linking an odp file ( Thanks to Julien Nabet )

List of high severity bugs fixed

  1. tdf#115967 Distorted formulas on printing to PDF or exporting to PDF for RTL text ( Thanks to Xisco Fauli )
  2. tdf#120209 crash while changing language of formula to english ( Thanks to Caolán McNamara )
  3. tdf#125585 Filesave: OLE objects corruption and missing (per Comment 12) – repair damaged documents with fixed LO per Comment 25 ( Thanks to Regina Henschel )
  4. tdf#127450 Impress crashes by changing the symbol of a bulleted list (GTK crash with 3.18, no crash 3.22) ( Thanks to Caolán McNamara )
  5. tdf#127896 “Exchange database” leads to crash (non-gtk3) ( Thanks to Caolán McNamara )
  6. tdf#127913 CRASH: applying popart filter to an image ( Thanks to Noel Grandin )
  7. tdf#127958 Crash in: mergedlo.dll (adding 2 or more ODT files into Writer master document) ( Thanks to Noel Grandin )
  8. tdf#128037 GTK3: insert caption crash ( Thanks to Caolán McNamara )
  9. tdf#128232 Crash when trying to delete unused User Field ( Thanks to Julien Nabet )
  10. tdf#128313 LibreOffice Calc Editing Find&replace results in Failure to respond – Program hangs ( Thanks to Caolán McNamara )
  11. tdf#128418 print preview with writer crash LO ( Thanks to Samuel Mehrbrodt )
  12. tdf#40534 slide tearing or not shown in LARGE screens (high resolution) with hardware acceleration enabled (a buffer issue per comment 58) ( Thanks to Jan-Marek Glogowski )

List of crashes fixed

  1. tdf#120209 crash while changing language of formula to english ( Thanks to Caolán McNamara )
  2. tdf#123733 Crash when loading the same file twice but first load was not “complete” ( Thanks to Tor Lillqvist )
  3. tdf#126974 iPad OS 13: closing (killing) the app results in a crash ( Thanks to Tor Lillqvist )
  4. tdf#127306 CRASH: Closing LibreOffice after deleting a chart ( Thanks to Samuel Mehrbrodt )
  5. tdf#127450 Impress crashes by changing the symbol of a bulleted list (GTK crash with 3.18, no crash 3.22) ( Thanks to Caolán McNamara )
  6. tdf#127711 A runtime-switch for the MiniCrashDump ( Thanks to Juergen Funk )
  7. tdf#127766 Saving PPT leads to crash on iOS ( Thanks to Tor Lillqvist )
  8. tdf#127882 Libreoffice 6.3.2 crashes on document properties (gtk3 3.18) ( Thanks to Caolán McNamara )
  9. tdf#127896 “Exchange database” leads to crash (non-gtk3) ( Thanks to Caolán McNamara )
  10. tdf#127913 CRASH: applying popart filter to an image ( Thanks to Noel Grandin )
  11. tdf#127941 iOS: crash in impress when opening spellcheck dialog ( Thanks to Jan Holesovsky )
  12. tdf#127946 CRASH closing LibreOffice with the tip of the day dialog open (reintroduced) ( Thanks to Caolán McNamara )
  13. tdf#127953 CRASH: Closing Edit Style dialog ( Thanks to Caolán McNamara )
  14. tdf#127958 Crash in: mergedlo.dll (adding 2 or more ODT files into Writer master document) ( Thanks to Noel Grandin )
  15. tdf#128013 Crash when linking an odp file ( Thanks to Julien Nabet )
  16. tdf#128037 GTK3: insert caption crash ( Thanks to Caolán McNamara )
  17. tdf#128139 CRASH: typing text while macro recording is active ( Thanks to Mike Kaganski )
  18. tdf#128177 Inserting “Bibliography Entry…” leads to crash on iOS ( Thanks to Tor Lillqvist )
  19. tdf#128209 CRASH: Opening file with rotated text ( Thanks to Gülşah Köse )
  20. tdf#128232 Crash when trying to delete unused User Field ( Thanks to Julien Nabet )
  21. tdf#128241 Crash when opening print dialog (gtk3 only) ( Thanks to Caolán McNamara )
  22. tdf#128393 gtk3: insert -> fields -> more fields crashes ( Thanks to Caolán McNamara )
  23. tdf#128418 print preview with writer crash LO ( Thanks to Samuel Mehrbrodt )

List of performance issues fixed

  1. tdf#126021 Calc – the time required to save some files (in xls or xlsx format) is up to 20x longer in 6.2.4 versus 6.1.6 ( Thanks to Noel Grandin )

List of old bugs ( more than 4 years old ) fixed

  1. tdf#40534 slide tearing or not shown in LARGE screens (high resolution) with hardware acceleration enabled (a buffer issue per comment 58) ( Thanks to Jan-Marek Glogowski )
  2. tdf#42748 EDITING: Numbering in numbered list doesn’t show when affected by tracked changes ( Thanks to László Németh )
  3. tdf#52316 UI: Page count in Status bar does not respect setting “Print automatically inserted blank pages”; Incorrect value for page count field (see comment #16) ( Thanks to László Németh )
  4. tdf#62955 UI When opening a Macro (Alt-F11) allow searching a module/ function name with typing the first letter ( Thanks to Andreas Heinisch )
  5. tdf#76441 FORMATTING: MM:SS time input if formatted as such ( Thanks to Eike Rathke )
  6. tdf#79007 FILEOPEN PPTX Shapes with washout mode are not displayed ( Thanks to Xisco Fauli )
  7. tdf#81100 FILEOPEN: tblHeader property of the table is not being imported correctly ( Thanks to László Németh )
  8. tdf#84257 Menus, dialogs and sidebar having the word ‘page’ rather than ‘slide’ ( Thanks to Muhammet Kara )
  9. tdf#86188 FILESAVE Comments to footnotes corrupt layout when converted to DOCX or DOC ( Thanks to Kelemen Gábor )
  10. tdf#92845 changing value in Tools-Options-LibreOffice Writer-Comparison is not persistent after restart ( Thanks to Gabor Kelemen )
  11. tdf#94117 Windows 64-bit and executable name of 64-bit build of ghostscript — gswin64c.exe ( Thanks to Mike Kaganski )

WORKSFORME bugs

80 bugs have been retested by 41 people.

Top 10 testers

  1. Buovjaga ( 16 )
  2. Xisco Faulí ( 9 )
  3. Julien Nabet ( 7 )
  4. Timur ( 6 )
  5. Roman Kuznetsov ( 4 )
  6. Dieter Praas ( 4 )
  7. Telesto ( 2 )
  8. raal ( 2 )
  9. Heiko Tietze ( 2 )
  10. Dennis Roczek ( 1 )

DUPLICATED bugs

131 bugs have been duplicated by 31 people.

Top 10 testers

  1. Xisco Faulí ( 33 )
  2. V Stuart Foote ( 22 )
  3. Timur ( 10 )
  4. Oliver Brinzing ( 7 )
  5. Alex Thurgood ( 6 )
  6. m.a.riosv ( 5 )
  7. Buovjaga ( 4 )
  8. Mike Kaganski ( 4 )
  9. Roman Kuznetsov ( 4 )
  10. Eike Rathke ( 3 )

Verified bug fixes

90 bugs have been verified by 13 people.

Top 10 Verifiers

  1. Xisco Faulí ( 60 )
  2. Dieter Praas ( 8 )
  3. Buovjaga ( 7 )
  4. Timur ( 5 )
  5. Patrick Jaap ( 2 )
  6. NISZ LibreOffice Team ( 1 )
  7. kabilo ( 1 )
  8. Harald Koester ( 1 )
  9. Ming Hua ( 1 )
  10. Roman Kuznetsov ( 1 )

Categorized Bugs

307 bugs have been categorized with a metabug by 33 people.

Top 10 Categorizers

  1. Dieter Praas ( 71 )
  2. Roman Kuznetsov ( 39 )
  3. oesterblog-admin ( 26 )
  4. Xisco Faulí ( 23 )
  5. V Stuart Foote ( 22 )
  6. Thomas Lendo ( 18 )
  7. Aron Budea ( 15 )
  8. Buovjaga ( 10 )
  9. NISZ LibreOffice Team ( 10 )
  10. Eyal Rozenberg ( 9 )

Regression Bugs

103 bugs have been set as regressions by 24 people.

Top 10

  1. Xisco Faulí ( 39 )
  2. Timur ( 9 )
  3. Oliver Brinzing ( 9 )
  4. Cor Nouws ( 6 )
  5. Alex Thurgood ( 6 )
  6. raal ( 5 )
  7. Roman Kuznetsov ( 5 )
  8. Dieter Praas ( 4 )
  9. Telesto ( 3 )
  10. Michael Weghorn ( 2 )

Bisected Bugs

71 bugs have been bisected by 13 people.

Top 10 Bisecters

  1. Xisco Faulí ( 42 )
  2. Oliver Brinzing ( 7 )
  3. Timur ( 5 )
  4. raal ( 5 )
  5. NISZ LibreOffice Team ( 2 )
  6. Justin L ( 2 )
  7. Michael Weghorn ( 2 )
  8. Aron Budea ( 1 )
  9. V Stuart Foote ( 1 )
  10. Telesto ( 1 )

Evolution of Unconfirmed Bugs

Check the current list of unconfirmed bugs here

Evolution of Open Regressions

Check the current list of open regressions here

Evolution of Open bibisectRequests

Check the current list of open bibisectrequests here

Evolution of Highest Priority Bugs

Check the current list of highest priority bugs here

Evolution of High Priority Bugs

Check the current list of high priority bugs here

Thank you all for making Libreoffice rock!
Join us and help to keep LibreOffice super reliable!
Check the Get Involved page out now!

by x1sc0 at November 07, 2019 12:01 PM

November 05, 2019

LibreOffice Design Blog

Proposal to conveniently highlight and inspect styles in LibreOffice Writer

Styles are the essence of a text processor. And while experts love to unleash the power of LibreOffice Writer, it’s at the same time a major source of nuisance. In particular when you receive documents from other people, it can be quite difficult to understand the applied formatting and to fix issues around.…

by Heiko Tietze at November 05, 2019 01:38 PM

October 31, 2019

Caolán McNamara

Native GTK Dialogs in LibreOffice

LibreOffice Native GTK Dialog Status

The LibreOffice UI was traditionally implemented with its own VCL toolkit which via theming emulated the host desktop toolkit.

Then we migrated the file format the dialogs were described in to the GtkBuilder file format. But still implemented with VCL widgetry, though with additional GTK-alike layout widgets.

Then migrated the translation format to gettext .mo files, which added plural form translation support we had lacked.

Then incrementally migrated the code driving the dialogs to a new API with two implementations, one for VCL widgetry and one for GTK.


Over the last few major releases the GTK version of LibreOffice has increasingly had true GTK dialogs and less VCL dialogs and in master, as of this week, there are now no direct uses of the VCL dialog APIs.

There are still some non-dialog utility windows and other elements to port over, but dialogs are complete.

LibreOffice has a lot of UI. There are 1029 XML UI definition files in master. 480 definitions of a GtkDialog and 75 additional GtkMessageDialog definitions. The remainder of the files typically describe a single page of a Notebook, Assistant or Sidebar, often appearing in multiple dialogs.

Here are some gifs of a small set of the dialogs from master under Fedora 31, taken under Wayland with peek, showing some of the stock animations of the default GTK 3.24 Adwaita theme

The Writer Character dialog

Notebook, Color Selector MenuButton, and ToggleButton animations

The Calc Page dialog

SpinButtons and legacy Preview widgets hosted in a native dialog


The Writer Paragraph dialog

"Double Decker" Notebook and Scale widgets

The Writer AutoCorrect dialog

Smooth scrolling of huge Emoji autocorrect list

Chart 3D View dialog

Amusingly Over-engineered custom lighting direction widget


The Options dialog

TreeView, Overlay ScrollBar, fade in animation of CheckButtons


by caolan (noreply@blogger.com) at October 31, 2019 08:01 PM

October 29, 2019

Muhammet Kara

Redaction Feature in LibreOffice - Phase 1: Manual Redaction

Now it is possible to redact your documents with LibreOffice to remove/hide sensitive information, and I'll try to share some info about it via a 2-part series of blog posts. You can also check out the Collabora's blog post for some more information probably with a better presentation, and a more user-centric view. Redaction tool in LibreOffice

What?

Redaction in its sanitization sense is the blacking out or deletion of text in a document, or the result of such an effort. It is intended to allow the selective disclosure of information in a document while keeping other parts of the document secret. Typically the result is a document that is suitable for publication or for dissemination to others than the intended audience of the original document. For example, when a document is subpoenaed in a court case, information not specifically relevant to the case at hand is often redacted. Redaction in Wikipedia

Although there are some proprietary software applications in the market for this purpose, they have their own limitations like lack of support for open/libre document formats. Thanks to LibreOffice's great support for various file formats, and our recent work on implementing this new feature on top of it, it is now possible to redact most of your documents without leaving the comfort of your favourite office suite.

How?

  • Open your document in LibreOffice
  • Click (Tools ▸ Redact) from the main menu, and wait for your document to be prepared for redaction (converted to an internal meta-format, and transferred to Draw)
  • Do the redaction by using the “Rectangle Redaction” and the “Freeform Redaction” tools on the “Redaction Toolbar”
  • Save & share the in-redaction copies of the document with peers either in the modifiable (odg) or the verbatim (pdf) format at your option
  • Once you are ready to finalize the redaction, click the desired option on the “Redacted Export” tool on the Redaction toolbar

Redaction command in the Tools menu of Writer: Redaction Command in Tools Menu of LibreOffice 6.3

Starting redaction in Draw (Redaction toolbar is in the green rectangle): Redaction Start in Draw Libreoffice 6.3

Screenshot while redacting a document in LibreOffice: In-Redaction Screenshot from Libreoffice 6.3

Screenshot of a redacted document, finalized and exported as PDF: Redacted Finalized PDF Screenshot from Libreoffice 6.3

Where and when?

The feature was developed for Collabora Office 6.0, directly on LibreOffice core master, and is already available in LibreOffice 6.3, and also on all recent snaphots of Collabora Office. If you are going to try it with a Collabora Office snapshot, I recommend getting an 6.2 snapshot.

Tips

  • As a result, you will have a pixellized version of the redacted document in PDF. There will be no selectable text in it, and the redacted content will be non-existent.
  • During redaction, the redaction shapes will be transparent and in grey so that the user can see what they are redacting.
  • There are currently 4 tools on the Redaction toolbar (from left to right): Rectangle Redaction, Freeform Redaction, Redacted Export, Direct Export to PDF Redaction Toolbar in Libreoffice 6.3
  • The Rectangle Redaction tool allows the user to mark the content for redaction by drawing transparent rectangles covering the content
  • The Freeform Redaction tool allows the user to mark the content for redaction by drawing freeform lines/polygons covering the content
  • The “Redacted Export” button box has two options: “Redacted Export (Black)” and “Redacted Export (White).” When clicked, it will finalize your document (by converting the transparent grey redaction shapes to opaque black or white shapes), and export as a pixellized PDF file. The “White” option might be preferred to save toner while printing.
  • The Direct Export to PDF button allows the user to take an in-redaction copy of the document in PDF to share as a verbatim copy for review

Dev Notes

  • Most of the redaction related methods are in the SfxRedactionHelper class.
  • Redaction toolbar is defined in sd/uiconfig/sdraw/toolbar/redactionbar.xml.
  • When user clicks the “Redact” option on the menu, we;
    • Create GDIMetaFile objects (one for each page),
    • Open a new Draw document
    • Insert each GDIMetafile into a new Draw page
    • Make sure position and size is correct
    • Adjust the page size and margins to match the source document
    • Automatically open/show the redaction toolbar if it isnot already opened
  • When user clicks on one of the two Redacted Export buttons on the toolbar, we;
    • Make all redaction shapes opaque and black/white (based on user choice)
    • Ask for save location for the pdf
    • Catch the page objects in the pdfexport filter, and pixellize
    • Change the redaction shapes back to transparent/gray after export

And here is a list of related commits if you would like to see what other changes were done:

  1. Redaction: Handle multiple Writer pages
  2. Add Redaction Toolbar
  3. Forge the freeform redaction tool
  4. Make the text on Redaction toolbar buttons visible
  5. Support bitmap PDF export for Redaction
  6. Handle redaction finalization: Black
  7. Use named shapes for redaction
  8. Add style options to redaction export
  9. [Temp icons for the redactedexport commands](Temp icons for the redactedexport commands)
  10. Create the SfxRedactionHelper class
  11. Handle different page sizes for redaction
  12. Enable redaction for Impress
  13. Add RedactDoc to Tools menu of Impress
  14. Protect page position during redaction
  15. Add direct pdf export to the Redaction toolbar
  16. tdf#125063: Don't depend on content size for Page sizing
  17. Respect page margins of the source doc during redaction
  18. Redaction: First steps
  19. Add method DocumentToGraphicRenderer::getPageCount()
  20. Redaction: Adjust offset for multiple Calc pages
  21. Add Redaction toolbar icons from colibre to tango (by Noel Grandin)
  22. tdf#124377: enable anti-aliasing metafile during redaction (by Aron Budea)

by Muhammet Kara (muhammetk@gmail.com) at October 29, 2019 12:00 AM

October 28, 2019

>Marius Popa Adrian

Replication in Firebird 4: Configuration and practical examples

Replication is a long-awaited feature that allows the creating of reliable high-performance database replicas without user-defined triggers and with full DDL support. This talk presents the replication subsystem architecture, possible replication modes, their impact on performance and available tuning options. We'll demonstrate how to set up a simple standby configuration

by Popa Adrian Marius (noreply@blogger.com) at October 28, 2019 03:43 PM

Firebird on the road from v4 to v5

This talk done at Firebird Conference 2019 describes the current state of the v4 development and reviews its key features (new data types, Batch API, timezones). Dimitry Yemanov spoke about the future of Firebird development, including the updated release plan and expected post-v4 features. Review of upcoming features for Firebird 5

by Popa Adrian Marius (noreply@blogger.com) at October 28, 2019 03:40 PM

October 22, 2019

LibreOffice QA Blog

LibreOffice 6.4 Alpha1 is ready for testing

The LibreOffice Quality Assurance ( QA ) Team is happy to announce LibreOffice 6.4 Alpha1 is ready for testing!

LibreOffice 6.4 will be released as final at the beginning of February, 2020 ( Check the Release Plan ) being LibreOffice 6.4 Alpha1 the first pre-release since the development of version 6.4 started in the beginning of June, 2019. Since then, 4600 commits have been submitted to the code repository and more than 720 bugs have been set to FIXED in Bugzilla. Check the release notes to find the new features included in this version of LibreOffice.

LibreOffice 6.4 Alpha1 can be downloaded from here for Linux, MacOS and Windows, and it can be installed alongside the standard version.

In case you find any problem in this pre-release, please report it in Bugzilla ( You just need a legit email account in order to create a new account ).

For help, you can contact the QA Team directly in the QA IRC channel or via Telegram.

Happy testing!!

Banner

by x1sc0 at October 22, 2019 11:37 AM

October 21, 2019

Miklos Vajna

Continuous endnotes in Writer

Writer now has a new "continuous endnotes" compatibility setting in its layout, allowing rendering endnotes in a way which is closer to what Word users expect.

First, thanks TU Dresden who made this work by Collabora possible.

Here is how it looks:

https://lh3.googleusercontent.com/g4kmuKduOm-Xc5sHH5oBx9y-U8S6hK5pgamrLxG-5fM9XCRJwMJFEPKxWXrG6IzEQLVpHdxCHI0c45EjDax02SpDbIzyQjZvUd-gsvpTWlkgZ0p3Y5-FDXARIPggF0KyIwG1AFwoiQ=w640
Figure 1. Writer, new ContinuousEndnodes layout flag enabled
https://lh3.googleusercontent.com/dlUGc11qUKVvvkKXh5mhj9BlEw4bLxgKxW_t3pNAAu2rnuWuIrFtWdlKk-8nadbSur8CaDe-CIUNJiSJlQSTvA22Q89TkY-uRsdJH3EKX6RcyUJsr-W5YqJrVqaM4KgXAIDPxPXPvg=w640
Figure 2. Reference rendering
https://lh3.googleusercontent.com/odkN2eqFxYthY7qhxHwStIlodTZJmcUa5wzh6p74PWPT6jKtsAmAvZyNzTjwff_CrDm5AtTcdAq_Rw2QyMNQN1Xr_ypIYL_cEZ3g1DRJof9em6acQ1fxrNQWsx_LxUmBhmu4TkTmPw=w640
Figure 3. Writer, old separate endnote page layout

What you can see is that endnotes unconditionally start after the end of the document content in Word, while endnotes are unconditionally on separate endnote pages in Writer. The new ContinuousEndnotes layout compatibility flag in Writer allows rendering endnotes the Word way.

This new flag is enabled by default for DOC files, disabled otherwise.

All this is available in LibreOffice master (towards 6.4), so you can try it out right now, if interested.

by Miklos Vajna at October 21, 2019 08:24 AM

October 20, 2019

Andreas Kainz

AutoCorrect Dialog

I add an additional item on my (very long) todo list:

  • Update LibreOffice Dialogs

One Dialog is finished AutoCorrect tdf#127773 (left 6.3, right 6.4)

In addition to an better placement the Word Completion Tab should be now easier to understood.

Character Dialog tdf#127927, Paragraph Dialog tdf#128239 and > 100 Dialogs are on my todo list. If you like my work, become a

downloads_wordmark_white_on_coral2x.jpg

by kdeonlinux at October 20, 2019 09:50 PM

October 18, 2019

Jean Hollis Weber

Self-publishing using LibreOffice Writer 6

Self-publishing with LibreOffice Writer 6My new book, Self-publishing using LibreOffice Writer 6, is now available in paperback or PDF.

Printed copies are available from Lulu.com for US$15.00. Pay at Lulu.com.

Download PDF here. Cost is US$5.00, on the honor system. Please pay using the button below (Paypal or credit card). If you buy a printed copy, you are welcome to a free copy of the PDF.

by Jean at October 18, 2019 06:24 AM

Muhammet Kara

New Feature in Libreoffice: Full-Sheet Previews

Have you ever wanted to have a way to see the full content of a spreadsheet document in a pdf form, without the usual slicing of the sheets into printable pages?

Why would I need that?

Here is the screenshot of a sheet containing some data and graphics: Sample Sheet And this is how it looks like when exported to pdf in the old/usual way: Usual PDF Output

Also read the blog on the Collabora-website for more explanation.

How do I use it?

  • Open your spreadsheet document in LibreOffice Calc
  • From the menu, select File - Export as PDF…
  • On the General tab of the PDF Options dialog, check the option named Full-Sheet Previews
  • Click the Export button, and choose a location for your preview pdf
  • Enjoy your pdf file of full sheet previews

Full-Sheet Preview PDF

Option on the dialog

Full-Sheet Previews option on the PDF Export Dialog

Also available in the LibreOffice/Collabora Online api

If you happen to use the LibreOffice/Collabora Online REST api for document conversions, here is a command to get a preview output of your sheet:

curl --insecure -F "data=@YourSpreadSheetDocument.ods" -F "FullSheetPreview=true" https://localhost:9980/lool/convert-to/pdf > out.pdf

More info about the REST api

Where and when?

The feature was developed on the cp-6.2 branch of LibreOffice code-base (which is basicly Collabora Office 6.2), and is already available in Collabora Office snaphots. And is being backported to LibreOffice master, so it will be also available in LibreOffice development builds and soon in the Collabora Office snapshots.

For more info and the snapshot

Tips

  • Currently, this option disregards most of the other options on the pdf export dialog
  • Preview pages will have different sizes (same as the source sheets)
  • This is not meant for printing
  • The export dialog remembers your last choice, so better not forget to uncheck this option next time you would like to get a regular (for-printing) output

Dev Notes

  • The PDF export dialog's UI description is in filter/uiconfig/ui/pdfgeneralpage.ui
  • The class for the dialog is named ImpPDFTabGeneralPage
  • To introduce a new option, you need to add the widget to the .ui file, then add a proper item to the class, and connect the two in the constructor
    • In our case, the id of the new checkbox on the ui file is singlepagesheets
      <object class="GtkCheckButton" id="singlepagesheets">
                  <property name="label" translatable="yes" context="pdfgeneralpage|singlepagesheets">Full-Sheet Previews</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="receives_default">False</property>
                  <property name="use_underline">True</property>
                  <property name="xalign">0</property>
                  <property name="draw_indicator">True</property>
          </object>
      
    • And the corresponding member in the ImpPDFTabGeneralPage class is named as mxCbSinglePageSheets
      std::unique_ptr<weld::CheckButton> mxCbSinglePageSheets;
      
    • We connect the two via this line in the constructor of the class:
      mxCbSinglePageSheets(m_xBuilder->weld_check_button("singlepagesheets"))
      
      
      

And here is a list of related commits if you would like to see what other changes were done:

  1. Add ‘SinglePageSheets’ option to the PDF export dialog
  2. Handle SinglePageSheets option for pdf export
  3. Add FullSheetPreview support for convert-to endpoint of online
  4. Rename ‘Single-page sheets’ to ‘Full-Sheet Previews’ to avoid confusion

by Muhammet Kara (muhammetk@gmail.com) at October 18, 2019 12:00 AM

October 15, 2019

Thorsten Behrens

Statement on the RMS situation

On Monday September 16th, Richard Stallman, long-time president and founder of the FSF, has resigned from both his position at the FSF, and the MIT.

There’s a plethora of reporting around that – if you’re short on time, then I recommend reading Thomas Bushnell’s rather excellent medium piece in full.

Many things can be said about this event, but immediately coming to defend RMS as a principled old man, who was the victim of a witch hunt, is not it. I fundamentally disagree with Michael here, and like to point out (though its obvious), that his point of view is not shared nor endorsed by The Document Foundation, albeit aggregated on their planet.

This is what I posted last night to the TDF board, when we discussed the implications on Michael’s post being on that planet:


Dear board,

Björn wrote:

Or to put it much better argumented and better informed than I ever could:
View at Medium.com

Please do read the linked article in full. It echos my thoughts
exactly, but with much more authority & eloquence than I could have.

If you have some extra time, the entire story is many years, and
probably thousands of pages worth of words - but it's not a happy
story (it includes, at various occasions, RMS endorsing child
pornography and pedophilia).

For me, the sticking point is a slight remix of one of Thomas'
sentences: Michael treated the problem as being “let’s make sure we
don’t criticize RMS unfairly”, when the problem was actually, “how can
we come to terms with a decades-long history of RMS’s own mistreatment
of women and held views incompatible with broad societal norms &
ethics”.

In light of the above, I reject, in the strongest possible terms,
being seen near a statement that starts with "Really disappointed to
see the outcome with RMS". The blog post is offensive to women, the
victims in particular, tone-deaf to the wider issues at stake, and
harmful for TDF's reputation when issued by a board member on a
TDF-imprinted site.

It would have been better to stay silent.

Can someone please fix this?

Cheers,

-- Thorsten

Update 2019-09-23: Perhaps not entirely unambiguous – I wasn’t suggesting here that Michael would fully endorse RMS, but coming to his defense at this incident. Also adding the real name of my fellow TDF director, whom I was responding to in the mail above.

Update 2019-10-15: Bradley Kuhn’s statement after leaving the FSF is worth reading in its entirety, and well reflects what I believe leaders should aspire to.

by thorstenb at October 15, 2019 11:01 PM

October 06, 2019

Andreas Kainz

GUI widget prototyping

Hi,

If you think nothing happens in LibreOffice, that’s not true. I for example prepair some new Templates and Galleries for LibreOffice.

GUI Widgets for LibreOffice (Draw)

If you are interested, join the LibreOffice Design Team.

by kdeonlinux at October 06, 2019 09:39 AM

October 04, 2019

LibreOffice QA Blog

QA Report: September 2019

General Activities

  1. LibreOffice 6.3.1 and LibreOffice 6.2.7 were released on September 5
  2. LibreOffice 6.3.2 was released on September 26
  3. The PPT/PPTX Team was created and announced publicly.
  4. The Macro Team was created and announced publicly.
  5. Roman Kuznetsov changed fonts in Help installer to Segoe UI 9 pt
  6. Many problems with bullets and numbering in DOCX files were fixed: tdf#64222 (Michael Stahl, Samuel Mehrbrodt CIB) tdf#95848 (Michael Stahl) Timur was able to close many reports as duplicates of the fixed bugs
  7. Caolán McNamara (Red Hat) did a massive amount of UI work under the hood, for example renovating the wizard dialogs
  8. Caolán McNamara (Red Hat) removed the gtk+2 backend from master
  9. Miklos Vajna (Collabora) solved a cluster of issues related to textbox alignment and spacing in DOCX files https://bugs.documentfoundation.org/show_bug.cgi?id=124600
  10. Tünde Tóth (NISZ) fixed a bunch of OOXML hyperlink issues
  11. László Németh (NISZ) improved the workflow of manipulating tables in Writer tdf#84806 and tdf#118311
  12. Balazs Varga (NISZ) keeps improving OOXML Charts interoperability
  13. Xisco Fauli fixed some SVG issues
  14. Björn Michaelsen keeps fighting against the SwClient monster. Check his last update

Reported Bugs

627 bugs, 87 of which are enhancements, have been reported by 394 people.

Top 10 Reporters

  1. NISZ LibreOffice Team ( 33 )
  2. andreas_k ( 16 )
  3. nd101 ( 14 )
  4. Regina Henschel ( 12 )
  5. Mike Kaganski ( 12 )
  6. Nicolas Christener ( 11 )
  7. Thomas Lendo ( 9 )
  8. Eyal Rozenberg ( 9 )
  9. pedro.silva ( 8 )
  10. Roman Kuznetsov ( 8 )

Triaged Bugs

608 bugs have been triaged by 82 people.

Top 10 Triagers

  1. Xisco Faulí ( 152 )
  2. Dieter Praas ( 66 )
  3. Heiko Tietze ( 45 )
  4. V Stuart Foote ( 41 )
  5. Julien Nabet ( 36 )
  6. Oliver Brinzing ( 30 )
  7. Timur ( 26 )
  8. m.a.riosv ( 21 )
  9. Roman Kuznetsov ( 21 )
  10. Alex Thurgood ( 13 )

Resolution of resolved bugs

551 bugs have been set to RESOLVED.

Check the following sections for more information about bugs resolved as FIXED, WORKSFORME and DUPLICATE.

Fixed Bugs

166 bugs have been fixed by 43 people.

Top 10 Fixers

  1. Caolán McNamara ( 22 )
  2. Julien Nabet ( 9 )
  3. Heiko Tietze ( 9 )
  4. László Németh ( 8 )
  5. Tünde Tóth ( 8 )
  6. Xisco Fauli ( 6 )
  7. Michael Weghorn ( 5 )
  8. Tamás Zolnai ( 5 )
  9. Miklos Vajna ( 4 )
  10. Michael Stahl ( 4 )

List of critical bugs fixed

  1. tdf#127695 CRASH: Inserting textbox in a particular document ( Thanks to Caolán McNamara )

List of crashes fixed

  1. tdf#127258 Impress Crash after Presentation Finished ( Thanks to Stephan Bergmann )
  2. tdf#127272 odt document + UI “registers” etc.: Writer crashes when UI will be set to “registers” etc. resp. after this when odt file should be opened ( Thanks to Sumit Chauhan )
  3. tdf#127461 data provider crashes LibreOffice when clicking “Apply Changes” ( Thanks to Julien Nabet )
  4. tdf#127546 Calc Crashes if I click in to the Range-select fied of the ‘Define Label Range’ dialog (gen) ( Thanks to Caolán McNamara )
  5. tdf#127646 GTK3 crash when create new macro ( Thanks to Caolán McNamara )
  6. tdf#127652 After deleting some text the LibreOffice Writer crash ( Thanks to Michael Stahl )
  7. tdf#127673 Crash when double tap’ing a table copyed from calc to writer in iOS ( Thanks to Jan Holesovsky )
  8. tdf#127682 New Print dialog: Crash selecting (*) Even/Odd Pages with a 1 page document ( Thanks to Caolán McNamara )
  9. tdf#127683 Crash when restart LO after having changing language ( Thanks to Caolán McNamara )
  10. tdf#127695 CRASH: Inserting textbox in a particular document ( Thanks to Caolán McNamara )
  11. tdf#127748 crash on modify a frame style, which has previously got writing-mode bt-lr ( Thanks to Julien Nabet )
  12. tdf#127859 pressing edit button in footer or header make LO crash ( Thanks to Caolán McNamara )
  13. tdf#127863 Crash when trying to edit macro assigned part for a button ( Thanks to Julien Nabet )

List of performance issues fixed

  1. tdf#127786 LibreOffice hangs for a few seconds clicking on the title/subtitle textboxes (ca-ES-valencia) ( Thanks to Eike Rathke )

List of old bugs ( more than 4 years old ) fixed

  1. tdf#42990 EDITING Spreadsheet: Different handling of Text Cells in Calculations with SUM or addition of multiple cells ( Thanks to Olivier Hallot )
  2. tdf#45789 automatic row height in reports ( Thanks to Ilhan Yesil )
  3. tdf#50846 Macros: Wrong type of function GetLastUsedRow (standard library Tools, module Misc) ( Thanks to Andreas Heinisch )
  4. tdf#55436 Need another numbering scheme: *, †, ‡, §, etc. (mainly for footnotes) ( Thanks to Tim Bartlett )
  5. tdf#62326 Instruction Cint fails when converting Hex strings of a negative value to a 16-bit integer value. ( Thanks to Andreas Heinisch )
  6. tdf#64222 FORMATTING: A DOCX-file in Writer shows different size of list elements (numbering) ( Thanks to Michael Stahl )
  7. tdf#81436 Add Formula Numbering autotext to all l10n ( Thanks to Laurent BP )
  8. tdf#84806 Apply actions to full table without the need to select paragraph before/after (to prevent e.g. an empty table is left) ( Thanks to László Németh )
  9. tdf#94765 FILEOPEN: SVG: URL fails is the reference is not in the mapper (gradients/patterns) ( see comment 17 ) ( Thanks to Xisco Fauli )

WORKSFORME bugs

99 bugs have been retested by 30 people.

Top 10 testers

  1. Xisco Faulí ( 23 )
  2. Timur ( 14 )
  3. Buovjaga ( 13 )
  4. Julien Nabet ( 8 )
  5. Roman Kuznetsov ( 4 )
  6. Dieter Praas ( 4 )
  7. Aron Budea ( 3 )
  8. Heiko Tietze ( 3 )
  9. raal ( 3 )
  10. Thomas Lendo ( 2 )

DUPLICATED bugs

136 bugs have been duplicated by 27 people.

Top 10 testers

  1. Xisco Faulí ( 41 )
  2. V Stuart Foote ( 18 )
  3. Timur ( 11 )
  4. Gabor Kelemen ( 8 )
  5. Heiko Tietze ( 7 )
  6. Oliver Brinzing ( 7 )
  7. Julien Nabet ( 6 )
  8. Justin L ( 4 )
  9. m.a.riosv ( 4 )
  10. Dieter Praas ( 4 )

Verified bug fixes

110 bugs have been verified by 12 people.

Top 10 Verifiers

  1. Dieter Praas ( 47 )
  2. Xisco Faulí ( 42 )
  3. Timur ( 6 )
  4. Julien Nabet ( 6 )
  5. Alex Thurgood ( 2 )
  6. Harald Koester ( 1 )
  7. Michael Weghorn ( 1 )
  8. Patrick Jaap ( 1 )
  9. Markus ( 1 )
  10. Roman Kuznetsov ( 1 )

Categorized Bugs

399 bugs have been categorized with a metabug by 36 people.

Top 10 Categorizers

  1. Dieter Praas ( 59 )
  2. Thomas Lendo ( 48 )
  3. oesterblog-admin ( 44 )
  4. NISZ LibreOffice Team ( 38 )
  5. LibreOfficiant ( 37 )
  6. Roman Kuznetsov ( 32 )
  7. himajin100000 ( 26 )
  8. V Stuart Foote ( 18 )
  9. Buovjaga ( 17 )
  10. Rizal Muttaqin ( 14 )

Regression Bugs

97 bugs have been set as regressions by 22 people.

Top 10

  1. Xisco Faulí ( 31 )
  2. NISZ LibreOffice Team ( 18 )
  3. Timur ( 9 )
  4. Alex Thurgood ( 4 )
  5. m.a.riosv ( 4 )
  6. raal ( 3 )
  7. V Stuart Foote ( 3 )
  8. Oliver Brinzing ( 3 )
  9. MM ( 3 )
  10. Julien Nabet ( 3 )

Bisected Bugs

81 bugs have been bisected by 10 people.

Top 10 Bisecters

  1. Xisco Faulí ( 42 )
  2. NISZ LibreOffice Team ( 17 )
  3. raal ( 11 )
  4. Michael Weghorn ( 3 )
  5. LE GARREC Vincent ( 2 )
  6. Aron Budea ( 2 )
  7. Terrence Enger ( 1 )
  8. Justin L ( 1 )
  9. Roman Kuznetsov ( 1 )
  10. Buovjaga ( 1 )

Evolution of Unconfirmed Bugs

Check the current list of unconfirmed bugs here

Evolution of Open Regressions

Check the current list of open regressions here

Evolution of Open bibisectRequests

Check the current list of open bibisectrequests here

Evolution of Highest Priority Bugs

Check the current list of highest priority bugs here

Evolution of High Priority Bugs

Check the current list of high priority bugs here

Thank you all for making Libreoffice rock!
Join us and help to keep LibreOffice super reliable!
Check the Get Involved page out now!

by x1sc0 at October 04, 2019 02:53 PM