The Document Foundation Planet

 

February 27, 2020

Michael Meeks

Collabora Office for Phones

Today we ship our first supported release of LibreOffice for Android and iOS phones. Of course, there is some serious engineering work under the hood there over a long period. You can read all of the nice marketing and pretty screenshots but how did this happen ?

LibreOffice & SUSE

SUSE was a foundational supporter of LibreOffice, and it was clear that smartphones were becoming a thing, and something needed to be done here. Also Apache OpenOffice was being used (without anything being contributed back) by AdrOpen Office - which looked like 'X on Android', so we needed a gap plugging solution, and fast.

Luckily a chunk of the necessary work: cross-compiling was dual-purpose. Getting to work was part of our plan inside SUSE to build our Windows LibreOffice with MINGW under SLES. That would give us a saner & more reliable, and repeatable build-system for our problem OS: Windows.

Of course we used that to target Android as well, you can see Tor's first commit. We had a very steep learning curve; imagine having to patch the ARM assembler of your system libraries to make STL work for example.

FOSDEM as always provided a huge impetus (checkout my slides) to deliver on the ambitious "On-line and in your pocket" thing. I have hazy visions of debugging late at night in a hotel room with Kendy to get our first working screenshot there:

Interestingly the 'online' piece was (at that time) gtk-broadway based. Anyhow, while we couldn't do a huge amount of work at SUSE on Android (it was too obviously far away from our core market), we did valuable prototyping.

We also discovered that the modular architecture of LibreOffice - whereby there is a shared library for everything (even loading shared libraries), is not only a Linux / linking performance disaster-area, but also Android had a hard-coded 96 .so library loading limit; with no clear view of how many are used by the system; oh - and it is not as if dlopen fails, you just hard crash: another cute-ness of the 'droid of the time

LibreOffice on iOS; CloudOn

After SUSE spun us out to form Collabora's new Productivity division - we worked hard on this problem. A key investor there was the VC funded CloudOn who worked with Collabora to build a native iOS app for iPad as an alternative to their cloud-hosted, H264 video streaming of a remote VM containing MS Office.

This investment helped Tor (once again) to bring his existing prototype iOS version into a much better shape. It also let us fund Matúš Kukan to start the epic task of re-working all UNO components entry-points to allow us to link them into a single binary, and better by splitting them, to get the linker to garbage collect any bits we didn't need.

CloudOn built a proprietary product from the LibreOffice base, that was rather slick, and then got acquired by DropBox & vanished; making funding tight.

A LibreOffice viewer on Android; Smoose

Thankfully, in 2014 we had a visionary funding from Smoose and with their help we could work on the problems again now at Collabora and drive to getting a 'real' viewer working - built on exposing the LibreOffice core through a simple shared-library interface: LibreOfficeKit.

The write-up has all manner of detailed credits there also to Kendy, Tor and for the document browser to Ian Billet's GSOC project, with Jacobo Perez (Igalia).

Fundamentally this was built on re-using the Java Fennec tiled-rendering code from Firefox for Android - Tomaz 'Quikee' Vajngel did that heavy lift.

ODP - Impress document on Android

So now we had a tiled-rendering mobile document editor for a FLOSS mobile platform - with much of the power of LibreOffice. Problem is - it was not editable, although we had done a chunk of work on editability for CloudOn in the past so we knew it could be done.

The Document Foundation: base framework for basic editing

TDF posted a tender to "develop the base framework for an Android version of LibreOffice with basic editing capabilities".

Collabora won part of that for the core work for Eur 84k (an important 'angel' investment into tiled editing, although well under 5% of the total investment here, valuable - thanks to TDF's Donors). Igalia won the piece to implement an ownCloud integration. The intention was to build basic functionality that could be built on by the community, or by using a crowd-funding campaign.

We released a LibreOffice for Android in April 2015 LibreOffice for Android: prototype editor preview, and this was taken over by TDF in late May 2015.

Community building

For the next five years, the Android app has been maintained by the community, with editing as an experimental / advanced feature. Christian Lohmaier did some excellent work of fighting bit-rot, and keeping the viewer working for TDF.

Collabora invested the time to mentor several GSOC students doing smaller feature pieces for the viewer like Gautam Prajapati, and reviewed patches & fixed things here and there, and evangelized.

TDF published calls for people to volunteer and participate - some of them incredibly pretty, recently in 2018:

to reach out to encourage developers to join in and help improve it.

Unfortunately, the net result of all this hard work, didn't attract significant numbers of people to develop and sustain the Android app. This continued not to deliver a product that people wanted to use. In recent times, TDF marketing suggested removing it, since it hadn't been updated for nearly two years with lots of negative reviews, and this was done.

Meanwhile ... LibreOffice Online arrives

Meanwhile, while the Java based Android solution was not going anywhere fast, in parallel (from 2015) - Collabora and Icewarp started Working on an Open Source alternative to Apps, Office 365.

Building on the foundational work above, and extending this hugely, ultimately releasing COllabora OnLine COOL 1.0 and iterating this rapidly for our customers.

Adfinis Sygroup help us move to iOS

Many years of extraordinarily hard work primarily from Collabora's growing team of engineers working on Collabora Online - improving interactivity, latency, responsiveness, usability etc. gave us a growing number of happy users in PC web browsers.

Then in early 2018, having jointly sold a (clearly labelled) 'Online' solution for use with iPads, using a remote browser based responsive UI that we had been working hard on, it was decided that, independent of the clarity of the product description, contract etc. this should work off-line.

Thus started an incredible sprint to deliver a great iPad app. Clearly it was not possible to reuse the old Fennec approach, so starting from scratch we re-used the core code, and re-purposed the native browser / web-view to talk to a local Online instance directly. In addition - polished lots of native touch interactions.

We announced this with Adfinis in late December 2018.

And provided a lot more lush functionality, including custom widget theming, bringing the sidebar to mobile, and more in late 2019.

Nextcloud & Collabora

In a remarkable deja-vu, a joint customer of Nextcloud & Collabora also procured an on-line product, and wanted an off-line native editor, this time on Android. Thus started another amazing sprint.

Luckily, Kendy had a prototype to bring Tor's iOS work to Android from a Collabora Hackweek (allowing our engineers to work on anything LibreOffice-related they want for a week) from the early 2019 and then Florin Ciornei ported much of the functionality from the fennec-based app to this one.

During his Google Summer of Code, Kaishu Sahu then finished the porting and added more functionality - like inserting local images or printing.

Throught the year, many people from the Collabora team have improved various aspects of the Android app, let me list them in the alphabetical order:

  • Andras Timar took care of various l10n peculiarities.
  • Aron Budea has spent a lot of time testing, reporting bugs and fixing regressions.
  • Ashod Nakashian was heads-down improving the focusing and showing / hiding the keyboard, fixed crashes, exposed sidebar (reused for the Szymon's work) & lots of related fixing.
  • Dennis Francis has done many fixes all over the place in the UI - crashes, panning, context menus additions, zooming, ...
  • Florin Ciornei has ported most of the shell functionality from the old app (as mentioned above), and created a separate Notice and License Activity.
  • Gülşah Köse has implemented the initial WebView app and improved the files association.
  • Grzegorz Araminowicz has fixed zoom and reworked the hyperlink dialog.
  • Henry Castro has implementated the image or shape preview when dragging or rotating, read-only mode handling, context menus improvements, scrolling, toolbars, and many more.
  • Marco Cecchetti has reworked the formula input bar in Calc work via dialog tunneling and list of formulas.
  • Mert Tumer has added features even to the old, fennec-based app, and later decreased the size of the APK, improved the usability by adding progress bars to some events that take a lot of time.
  • Muhammet Kara added text box insertion, page setup menu, various chart-related work, and line formatting.
  • Pedro Pinto Silva has done huge amount of work to make the app beautiful.
  • Pranam Lashkari has implemented the inertia and smooth scrolling, row/columns improvements in Calc, sheet renaming, and various smaller things.
  • Szymon Kłos has repurposed the sidebar as a single-finger-controllable menu representation; more on that below.
  • Tamás Zolnai has prototyped a new unit testing framework via Cypress.
  • Tomaž Vajngerl has co-mentored the Android GSoC, improved language setting, implemented export / save as functionality, hugely improved the clipboard handling
  • Yunusemre Şentürk: Fixed build errors & implemented the CI.

Our responsive UI from Feb 2019 provided lots of our rich functionality including dialogs on mobile - although the UX there was not ideal:

It was then decided that having all this powerful functionality made the app hard to use with one hand, and that a more limited set of features would make for a more compelling single-touch UI. Again, we changed direction and worked hard on that with a first beta release in late 2019.

Another thing that we created was the expandable bottom palette of simple, frequently used tools created by Szymon Klos, which effectively re-purposes the LibreOffice sidebar tools for mobile devices (with some tweaks).

Further work here targetted the native platform's storage provider interface on Android, which allows much richer, built-in integration with lots of providers: ownCloud, Nextcloud, Seafile - even OneDrive or DropBox if unavoidable. This retired Igalia's native Java integration, that pre-dated those APIs.

Collabora Office 4.2.0

All of this wrapped together, with thirty-five Collabora committers contributing to Online over many years with 10100, of 10500 commits brings us to today's release, and we're excited about it:

Of course, this is just the start, we will continue to build on and receive feedback from our paying customers, and direction as to where to improve and fix the product over time; stay tuned.

Conclusions

Success has a thousand parents, but there is great credit to those named above, and many more who have enabled the evolution of LibreOffice to the full set of platforms. In particularly, StarDivision and Sun laid the foundations and fought the good fight for many years. After them, SUSE, Collabora, CloudOn, Smoose, TDF, Adfinis-Sygroup, Google (via GSOC), and of course the whole LibreOffice Community on whose work we build: thank you !

We finally have a solution in every space: phones, tablets, in your browser, and native on PC. Now we just need to incrementally improve everything, everywhere.

All of the code is, of course open now, and should be available in LibreOffice 7, though we have some of our own branding & theming. Please do check it out on Google Play or the iOS App store.

How to get involved

While thanking everyone who contributed, it is important to note that it could be you ! How can you do that ? well - lots of ways. Why not checkout the Android README and get stuck in ? It's easy to develop and debug some of the features on PC in Chrome's web-view too if you want to avoid the development cycle of Android Studio & up-loading. If you're less of a developer there are still lots of ways to get involved with LibreOffice.

February 27, 2020 09:42 PM

2020-02-27 Wednesday.

  • Took E. to the dentist, and dropped to school. Mail, writing. Worked on our release announcement bits.
  • I wonder if working from home for 20 years could be termed self-isolation; of course, the kids routinely bring home a variety of exciting pathogens from school, so perhaps not.

February 27, 2020 05:08 PM

Official TDF Blog

The Document Foundation announces LibreOffice 6.4.1

Berlin, February 27, 2020 – The Document Foundation announces LibreOffice 6.4.1, the 1st minor release of the LibreOffice 6.4 family, targeted at technology enthusiasts and power users. LibreOffice 6.4.1 includes 80 bug fixes and improvements to document compatibility.

LibreOffice 6.4.1 represents the bleeding edge in term of features for open source office suites, and as such is not optimized for enterprise class deployments, where features are less important than robustness. Users wanting a more mature version can download LibreOffice 6.3.5, which includes some months of back-ported fixes.

LibreOffice 6.4.1’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.4.1/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.4.1/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including Service Level Agreements (SLAs). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.4.1

LibreOffice 6.4.1 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

by Italo Vignoli at February 27, 2020 12:07 PM

February 26, 2020

Michael Meeks

2020-02-26 Wednesday.

  • Silent prayer with J. at All-Saints; lovely - back to work; plugged through a distressing amount of admin, marketing, pre-briefing and so on - before finally getting to fix a bug. The team doing amazing work for tomorrow's release.
  • Surprised and encouraged to see the Smithsonian doing the right thing and opening their image collection: fantastic, must visit sometime.
  • Band practice in the evening.

February 26, 2020 09:00 PM

Collabora Community

Collabora brings smooth editing to Android and iOS

Cambridge, February 27th, 2020, 12:00 CET – Today we are releasing Collabora Office for Android and iOS which will allow you to edit documents directly on your phone or tablet, guaranteeing your privacy and putting you in full control of your data and documents. This release fully integrates the iOS and Android apps into our Collabora Office product family. They are now a supported part of our business suite and come with every Collabora Office Enterprise subscription. Take a look: it’s a great app: feature rich, providing smooth editing, a polished user experience and lots of design goodness.

Rich editing for mobile devices – developed with your privacy in mind!

Collabora Office for Android and iOS
From opening … to viewing … to a rich editing experience

Collabora Office for Android and iOS is fully open source and brings you slick and useful editing features, like rich copy and paste, that the competition fails to deliver.
The app does not depend on external storage or services, so can be used offline. There is no longer a reason to hand over your data to somebody else to get rich mobile editing. Thus you can regain control over your documents and edit them without compromising your privacy!

One-handed touch tools for all sorts of editing

 

Collabora Office allows tables to be changed easily and in many ways. Handles in the document, as well as an attractive palette of tools, helps you perfect your table layout.
In our new mobile app, you will find the features where you expect them to be, giving you access to powerful functionality.

Slides and sheets at your fingertips

Choose layout and animations for presentations. A unique feature allows slide masters to be edited as well as applied.

Collabora Office for iOS and Android comes with a refined touch of usability. Sort the slides in your presentations using the convenient slide sorter. Scroll through the different sheets of your spreadsheet with the touch of a fingertip. Mobile document editing has never been easier and more fun.

Experience the polished user interface & design

Lay out of presentation in Collabora Office for iOS and Android
Full control over layout of presentations

Rotating an image in a presentation
Rotate images with your fingertips

Text highlighting in a presentation
Highlight text with the tool at the palette

Copy & paste rich text objects on mobile

Our mobile solution stands out from all its competitors because of the smooth way in which it facilitates editing on mobile devices. Collabora Office allows you to actually copy and paste rich document content on your iOS or Android device. Try it out!

Attractive icons and an attractive layout

Sheet editing options in context menu

Collabora Office for iOS and Android text document
Editing your text file

Collabora Office for iOS and Android presentation
Editing the content of a presentation

Native platform document storage

Collabora Office gives you back control over your documents. This includes the freedom to decide where to store the documents you edit from your mobile device. Our app allows you to easily integrate with privacy respecting, open source storage services such as Nextcloud, ownCloud or Seafile as well as proprietary file services such as OneDrive, Dropbox etc. Naturally you can also store and edit documents locally on your device without an external storage space. We think it’s good to notice that all the features in Collabora Office are available for all users, independent if it’s for private or for business use.

Yet more polish

Smooth inertial scrolling has been added for this release, with significant work on performance and stability. We’ve added the ability to export to various different file formats, to provide a great collaboration and interoperability experience with the users of other apps. Many usability wins too numerous to mention have been implemented. We have bundled spell-checking for English, French, Spanish, Brazilian Portuguese and German for now – while we investigate shrinking the installation size to fit more.

Two apps – one philosophy

Creating new document in iOS

Opening documents in the Android app

Last year, we paved the road so that the development of our mobile apps would be more consistent. In particular, the completely new development of the iOS app blazed the train. Both apps now share a substantially common codebase with our flagship product Collabora Online.

After our successful implementation on iOS, we re-used the same approach for our Android app. This replaced the existing LibreOffice Viewer code which had seen only very little activity for a long time, creating a fully functional and productive mobile office solution.

Welcome to the Collabora Office family

With today’s release, the apps for Android and iOS have officially become a part of our Collabora Office for Enterprise product. The family is now complete. These mobile apps complement Collabora Online and our existing desktop versions for Linux, MacOS and Windows. What does this mean for you? We can provide SLAs for our customers, as well as a close product management relationship to help steer our future development. Each improvement or issue addressed for one solution (online, mobile, desktop) can enhance all the others. Last but not least, it means the consistent and sustainable development of the mobile software.

Thanks to everyone who contributed!

Collabora invested huge effort and resources to bring into being a fully functional open source office suite for mobile devices. This success is built on the support of many individuals, the great LibreOffice community. Fundamentally this could not have been achieved without the support of SUSE, CloudOn, Smoose, Adfinis SyGroup and The Document Foundations’ generous historic donors. We cannot thank everyone involved enough for their passionate work. Please check our previous articles about the beta releases of the Android and iOS app, where we credit several of the people involved and where you can read more about their valuable contributions. All of our code is contributed to LibreOffice, and can be expected in LibreOffice 7, although we have our own theme. Would you like to be part of the story ? get involved today.


About Collabora Productivity

Collabora Productivity is the driving force behind putting LibreOffice in the cloud, providing Collabora Online and a range of products and consulting to enterprise and government. Powered by the largest team of certified LibreOffice engineers in the world, it is a leading contributor to the LibreOffice codebase and community. Collabora Office for Desktop and Collabora Online provide a business-hardened office suite with long-term, multi-platform support. Collabora Productivity is a division of Collabora, the global software consultancy dedicated to providing the benefits of Open Source to the commercial world, specializing in mobile, automotive and consumer electronics industries. For more information, visit www.collaboraoffice.com or follow @CollaboraOffice on Twitter.




The post Collabora brings smooth editing to Android and iOS appeared first on Collabora Productivity.

by Marc Rodrigues at February 26, 2020 11:31 AM

Miklos Vajna

Semi-transparent text in Writer

The problem

Last year I posted about work to have semi-transparent rendering of not only shape fill and shape borders, but also shape text in Draw. Now the same semi-transparent text feature is available in Writer as well. This improves compatibility with Word, which supports the same feature in its DOCX format. You can access the new option in the Format → Character dialog.

Result

Here is how the new, old and reference rendering looks like:

https://lh3.googleusercontent.com/oifzSVcdmKhomkQQKy4CNnPmamHtoo9CwRsbg9_ekbeK9Ov_4dFrzrJrYmDLHZNm-IvsoYNy8YfSs5kp4yEA42jybRO-8P-YKI8fYRu5ColRbzFHQBotP4MvkjanZG7JX9vP8Mcnnw=w640
Figure 1. Semi-transparent text in Writer, new rendering
https://lh3.googleusercontent.com/RxtyxxIdrW14TtN30cf37e7RNHwnQpxlX-zhjhpWrggjStEERXvUnH7eDv8acM_8DcySNpnvpz5yWdwO12_cmQ6ZyCo4-fpIOdd3x9Q8SAXxAwuyMhfmjzhvS9VDBps8tQX-xB70RA=w640
Figure 2. Semi-transparent text in Writer, old rendering
https://lh3.googleusercontent.com/6rkCyXnzfiVN96D1h8PiKSIva1ydRFQXzUbXbbLC-9plXOUJnMRHZT2ba4eKt7W1wqfL3vscVgE1-QB5ztbp2uqSmguOALV8wyZDnCF4LPlyHSbVEm5atwZvf29w3PzRmjy11aQahA=w640
Figure 3. Semi-transparent text in Writer, reference rendering

Want to start using this?

You can get a snapshot / demo of Collabora Office and try it out yourself right now: try unstable snapshot. Collabora is a major contributor to LibreOffice and all of this work will be available in TDF’s next release too (7.0).

by Miklos Vajna at February 26, 2020 10:25 AM

February 25, 2020

Michael Meeks

2020-02-25 Tuesday.

  • Mail, Customer call, planning, marketing bits, tech mgmt call, TDF staff call, distressingly little coding. Took H. to an Organ lesson.
  • Worked much of the night to accelerate image scaling.

February 25, 2020 09:00 PM

Official TDF Blog

LibreOffice Conference 2021 Call for Locations

THE CALL FOR LOCATION FOR LIBREOFFICE CONFERENCE 2021 IS NOW OPEN

Background

Once a year, the LibreOffice Community gathers for a global community event: the LibreOffice Conference, or LibOCon. After a series of successful events – Paris, October 2011; Berlin, October 2012; Milan, September 2013; Bern, September 2014; Aarhus, September 2015; Brno, September 2016; Rome, October 2017; Tirana, September 2018 and Almeria, September 2019 – the venue for 2020 is Nuremberg, Germany.

To ease the organization, TDF Board of Directors has decided to open the call for location for 2021 earlier this year, to give the 2021 event organizers the opportunity of attending the conference in Nurembers in October 2020. The LibreOffice Conference takes place between September and November, with a preference for September.

The deadline for sending in proposals is June 30, 2020.

After receiving the applications, we will evaluate if all pre-conditions have been met and the overall content of the proposal, and give all applicants a chance to answer questions and clarify details if needed.

What applicants need to know

Several team members are needed and getting closer to the event, it tends to become a time consuming job, and each member of the team should be able to devote as much time as necessary. Also, dealing with finances and sponsors is a specific responsibility of conference organizers. Although TDF will provide a list of sponsors and ease the process, the team must be able to manage the budget according to the amount of sponsorships, and commit expenses based on the resulting amount of money.

In the past, we have received applications from several third parties, including casinos or professional event managers. Keep in mind that the LibreOffice Conference is a community event, by the community for the community. While we appreciate the interest of people with professional background, proposals not supported and driven by community members (not only TDF members) will not be considered as valid.

What must be covered by the proposal

IMPORTANT: Proposals missing the following information might be considered incomplete. While we try to give every applicant a chance to add or clarify missing information, there is no guarantee that the proposal will be accepted, since we have a rather short time frame. In order to enhance the chances for your proposal to be accepted, please answer as many of the following questions as possible.

The team

Only proposals with a fair amount of team members who are able to dedicate time and are part of the LibreOffice community will be considered as valid. Based on our experience, at least five team members are required, and those team members need to interact and communicate with the community. Please name all the team members, their role in the community, and their availability in term of time (especially during the month prior to the conference).

At least one team member should be working exclusively on sponsor relations, and on managing invitations for VISAs (as required for many countries). Both of these tasks require a fair amount of time, and are crucial to the organization. Based on our experience, at least a few dozen VISA requests, if not more, need to be dealt with, and you need between € 10.000 and € 20.000 in sponsorship fees. Please let us know if you have at least one team member willing to work on these topics.

The organizing entity

The Document Foundation itself will not be legally or financially responsible for organizing the event. Although it will support the organization of the conference by any possible means, it is necessary to have a local entity, an enterprise or preferably a non-profit, to take care of financial and legal requirements such as insurances and signing contractual obligations.

Another important reason for a local entity is the fact that VISA invitation letters can usually be issued only by a local entity from within the country. Please give details on the organization, its type and its leadership.

The main venue

The venue should be easily accessible from other countries, so ideally, an airport and a central train station are nearby. It should also have a good connection to the local public transportation. Please give details on the venue, its location, and its connection to public transportation.

Ideally, there is just one venue for all conference sessions. In case you distribute the conference among two venues, they should be reachable by public transportation or foot in no more than 10 minutes. Please let us know in case you plan for more than one venue (with the exception of parties and receptions).

The main venue should be partially wheelchair-accessible, with at least the opening/closing sessions and main track room fulfilling this requirement. Please let us know how accessible is the venue.

The conference itself is on 3 days, but their is an extra day before the conference dedicated to community meetings, which should be taken into account into the proposal.

Also let us know if there are defribillators available at the venue and if your team has BLS notions.

Providing canvas, projectors and rooms for two to five parallel tracks, for a total of approximately 300 participants, is also required. Please let us know if your venue fulfills these requirements.

Next to the presentations, there is often the need to have private meetings. For sure, there are a TDF Board of Directors meeting, a Membership Committee meeting and a TDF Team meeting, so at least two additional rooms are required one day before and one day after the conference. These meeting rooms can also be in a different location from the main conference venue. Please let us know if you can provide these meeting rooms.

Next to conference rooms, there should also be an open space for community gatherings. Please let us know if you can provide such a space.

A publicly accessible, free wireless Internet connection is required. If the venue itself does not provide WiFi, an alternative is represented by broadband 3G/4G wireless routers.

We should also know in advance if there are firewall restrictions in place that limit or forbid the access to services like SSH, Gerrit, Git and others (including e-mail), and whether we can provide a TDF VPN to overcome such limitations. Please let us know which kind of wireless Internet connectivity will be provided to conference attendees.

Having video archives or video live streams is not a must-have, but a nice-to-have. Please let us know if you plan video archives or live streams of the presentations.

Also, if at least one of the social events will be in a wheelchair-accessible location, this will be highly appreciated and will be absolutely wonderful.

Accommodations

Since we expect around 300 visitors, the availability of three/four stars hotel rooms or equivalent accommodations (B&B, or similar) is required. Please elaborate on the hotel offerings near the venue.

Offering couch surfing, motels, youth hostels or other means of free to cheap accommodation is a nice-to-have. Please let us know if such accommodations are available at your venue.

One more thing…

Please describe in your own words why you want to host the next LibreOffice Conference, what motivates you, and what you expect from organizing the event.

Other informations

Please write anything else that can support your application, like

  • Adoption of free open source software and open document standards in your country/region
  • FOSS support by national/local government bodies, or other organizations, enterprises, user groups
  • Cultural and/or IT related events close to the conference (parallel events are not a problem, if they do not distract participants from the LibreOffice Conference)
  • Potential conference sponsors, and the sponsorship size if it is already confirmed
  • Parties and receptions that are already planned, also in partnership with other local organizations
  • Anything else…

Providing child care would be a nice addition to the application, as there are participants with children who might be encouraged to participate if the service is available.

You may find useful information on the dedicated pad for conferences management.

How to apply

Please send your proposal as plain text e-mail, or HTML e-mail, or Open Document File to info@documentfoundation.org. Please write only in English. We will send a confirmation of your application no later than one week after we have received your proposal. In case that you have not heard back from us by then, please let us know.

Again, the deadline is June, 30 2019 24:00 UTC.

THANK YOU FOR YOUR INTEREST IN HOSTING THE LIBREOFFICE CONFERENCE!

by Italo Vignoli at February 25, 2020 04:39 PM

February 24, 2020

Michael Meeks

2020-02-24 Monday.

  • Took H. into Cambridge, train not working. Mail, lots of meetings, some bug-fixing action, worked late.

February 24, 2020 09:00 PM

February 20, 2020

Official TDF Blog

LibreOffice 6.3.5 available for download

Berlin, February 20, 2020 – The Document Foundation announces LibreOffice 6.3.5, the 5th minor release of the LibreOffice 6.3 family, targeted at individuals using the software for production purposes, who are invited to update their current version. The new release provides bug and regression fixes, and improvements to document compatibility.

LibreOffice 6.3.5’s change log pages are available on TDF’s wiki: https://wiki.documentfoundation.org/Releases/6.3.5/RC1 (changed in RC1) and https://wiki.documentfoundation.org/Releases/6.3.5/RC2 (changed in RC2).

LibreOffice’s individual users are helped by a global community of volunteers: https://www.libreoffice.org/get-help/community-support/. On the website and the wiki there are guides, manuals, tutorials and HowTos. Donations help us to make all of these resources available.

LibreOffice in business

For enterprise class deployments, TDF strongly recommend sourcing LibreOffice from one of the ecosystem partners to get long-term supported releases, dedicated assistance, custom new features and other benefits, including SLA (Service Level Agreements). Also, the work done by ecosystem partners flows back into the LibreOffice project, benefiting everyone.

Also, support for migrations and trainings should be sourced from certified professionals who provide value-added services which extend the reach of the community to the corporate world and offer CIOs and IT managers a solution in line with proprietary offerings.

In fact, LibreOffice – thanks to its mature codebase, rich feature set, strong support for open standards, excellent compatibility and long-term support options from certified partners – represents the ideal solution for businesses that want to regain control of their data and free themselves from vendor lock-in.

Availability of LibreOffice 6.3.5

LibreOffice 6.3.5 is immediately available from the following link: https://www.libreoffice.org/download/. Minimum requirements are specified on the download page. TDF builds of the latest LibreOffice Online source code are available as Docker images: https://hub.docker.com/r/libreoffice/online/.

LibreOffice Online is fundamentally a server-based platform, and should be installed and configured by adding cloud storage and an SSL certificate. It might be considered an enabling technology for the cloud services offered by ISPs or the private cloud of enterprises and large organizations.

All versions of LibreOffice are built with document conversion libraries from the Document Liberation Project: https://www.documentliberation.org.

Support LibreOffice

LibreOffice users are invited to join the community at https://ask.libreoffice.org, where they can get and provide user-to-user support. People willing to contribute their time and professional skills to the project can visit the dedicated website at https://whatcanidoforlibreoffice.org.

LibreOffice users, free software advocates and community members can provide financial support to The Document Foundation with a donation via PayPal, credit card or other tools at https://www.libreoffice.org/donate.

by Italo Vignoli at February 20, 2020 12:50 PM

February 19, 2020

Official TDF Blog

10 great LibreOffice-only features

LibreOffice is a successor project to OpenOffice.org (commonly known as OpenOffice), as you can see in this timeline – click to enlarge:

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


1. Improved compatibility – .docx export

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


2. NotebookBar user interface

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


3. EPUB export

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


4. Document signing

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


5. Pivot charts

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


6. Document watermarks

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


7. Major spreadsheet performance boosts

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


8. Attractive presentation templates

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


9. Documentation improvements

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


10. Safe Mode

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


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


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

by Mike Saunders at February 19, 2020 01:06 PM

February 17, 2020

Official TDF Blog

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

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

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

Main track

Open Document Editors devroom

Collaborative Information and Content Management Applications

by Mike Saunders at February 17, 2020 02:41 PM

February 16, 2020

Roman Kuznetsov

Russian LibreOffice Draw guide is updated to 6.3 version


Today I ended to update Russain LibreOffice Draw Guide from 4.3 to 6.3 version. It isn't a translate from an original guide to Russain because there is no original Draw Guide for 6.3 version.
You can download Russain LibreOffice Draw Guide6.3 by link.

by Roman Kuznetsov (noreply@blogger.com) at February 16, 2020 12:20 PM

February 12, 2020

LibreOffice QA Blog

QA/Dev Report: January 2020

General Activities

  1. LibreOffice 6.4 was released on January 29 containing many performance and interoperability improvements
  2. Participants in Ankara, Turkey bootcamp completed many easy hacks
  3. Participants in the Free Software Winter Camp 2020 in Eskişehir, Turkey completed many easy hacks
  4. Noel Grandin (Collabora) further sped up loading an XLSX file with lots of comments. Noel also continued converting XML handling bits to use the performant FastParser API
  5. Mike Kaganski (Collabora) made it so functions in Calc can use case sensitive regular expressions. Mike also fixed an Excel compatibility issue involving booleans
  6. Caolán McNamara (Red Hat) continued the welding of UI elements, focusing on the Sidebar
  7. Tamás Bunth (Collabora) improved chart label interoperability with OOXML files
  8. Miklos Vajna (Collabora) made rotated text in Writer’s table rows with automatic height behave better
  9. Seth Chaiklin made dozens of improvements and additions to Help content. He also triaged and re-tested many bugs.
  10. Rizal Muttaqin improved most of the icon themes and Sifr in particular.
  11. Thorsten Wagner fixed a rendering issue in the character formatting font dropdown on macOS
  12. Serge Krot (CIB) improved the performance of Impress when typing into a list having an animation applied to it
  13. László Németh and Szabolcs Tóth (NISZ) fixed many DOCX table issues
  14. Jim Raykowski made the Navigator item category list appearance more user friendly. He also fixed a bunch of Navigator and Sidebar issues
  15. Balázs Varga (NISZ) fixed many OOXML chart label issues
  16. Tünde Tóth (NISZ) fixed a few issues with OOXML chart legends and data labels
  17. Luboš Luňák (Collabora) continued polishing the Skia graphics engine integration
  18. Heiko Tietze (TDF) and Andreas Kainz made many improvements to dialogs and Sidebar views
  19. Michael Stahl (CIB) made several fixes in PyUNO and Python build-related things. He also added an option to show markers for bookmarks inside the document text
  20. Andreas Kainz revampted the Compress Image dialog
  21. Guilhem Moulin and Ilmari Lauhakangas (TDF) improved the logerrit script, which helps when sending patches to Gerrit
  22. Regina Henschel implemented a fix for the skewing of drawing objects
  23. Luca Carlon added an SVG version of the Breeze dark icon set
  24. Katarina Behrens (CIB) fixed issues affecting the presentation console under Linux
  25. Tomaž Vajngerl (Collabora) implemented accessibility checker and support for PDF/UA specs

Reported Bugs

604 bugs, 64 of which are enhancements, have been reported by 363 people.

Top 10 Reporters

  1. sdc.blanco ( 35 )
  2. NISZ LibreOffice Team ( 18 )
  3. Xisco Faulí ( 15 )
  4. Mike Kaganski ( 14 )
  5. andreas_k ( 14 )
  6. Roman Kuznetsov ( 11 )
  7. R. Green ( 9 )
  8. TorrAB ( 9 )
  9. Telesto ( 8 )
  10. Regina Henschel ( 7 )

Triaged Bugs

607 bugs have been triaged by 83 people.

Top 10 Triagers

  1. Xisco Faulí ( 129 )
  2. Heiko Tietze ( 63 )
  3. Dieter ( 57 )
  4. Julien Nabet ( 52 )
  5. Timur ( 30 )
  6. Roman Kuznetsov ( 23 )
  7. V Stuart Foote ( 21 )
  8. Oliver Brinzing ( 18 )
  9. m.a.riosv ( 17 )
  10. Mike Kaganski ( 13 )

Resolution of resolved bugs

555 bugs have been set to RESOLVED.

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

Fixed Bugs

222 bugs have been fixed by 50 people.

Top 10 Fixers

  1. Caolán McNamara ( 23 )
  2. Mike Kaganski ( 18 )
  3. Seth Chaiklin ( 15 )
  4. Miklos Vajna ( 8 )
  5. László Németh ( 8 )
  6. Jim Raykowski ( 8 )
  7. Balazs Varga ( 6 )
  8. Luboš Luňák ( 6 )
  9. Michael Stahl ( 5 )
  10. Szabolcs Toth ( 4 )

List of critical bugs fixed

  1. tdf#127619 macOS — LibreOffice crash within 40s after opening app when online update automatically enabled, or with check from the Extension manager — https certificate issues ( Thanks to Stephan Bergmann )
  2. tdf#129484 Crash when trying to view property of a component from forms (gtk3) ( Thanks to Caolán McNamara )
  3. tdf#130090 Create New Folder in the Save Dialog crashes with the gen (X11) VCL plugin ( Thanks to Caolán McNamara )
  4. tdf#130179 CRASH: inserting comment to picture ( Thanks to Miklos Vajna )
  5. tdf#130286 Crash in: SwDrawTextShell::Execute(SfxRequest &) ( Thanks to Szymon Kłos )

List of high severity bugs fixed

  1. tdf#125662 Bad allocation crash while saving Calc with copied columns (x86) ( Thanks to Dennis Francis )
  2. tdf#128782 When execute undo, Text box moves. ( Thanks to Vasily Melenchuk )
  3. tdf#129883 Section links are lost on save and reload (see c3-c4) ( Thanks to Noel Grandin )
  4. tdf#129887 CRASH: Scrolling down document ( Thanks to Serge Krot )
  5. tdf#129908 Crash at Data > Group and outlone > AutoOutline ( Thanks to Noel Grandin )
  6. tdf#130075 EDITING – While pasting data in a table, selecting “Next” makes Base crash ( Thanks to Caolán McNamara )
  7. tdf#130093 FILEOPEN: LWP: General input/output error ( Thanks to Caolán McNamara )
  8. tdf#130214 CRASH: importing file ( Thanks to Mike Kaganski )
  9. tdf#93389 Document recovery strips encryption ( Thanks to Mike Kaganski )
  10. tdf#94801 Fileopen DOCX: Text in table different width in Writer (multiple lines) and Word (single line) for Microsoft fonts – 0,1cm difference ( Thanks to László Németh )

List of crashes fixed

  1. tdf#125662 Bad allocation crash while saving Calc with copied columns (x86) ( Thanks to Dennis Francis )
  2. tdf#127619 macOS — LibreOffice crash within 40s after opening app when online update automatically enabled, or with check from the Extension manager — https certificate issues ( Thanks to Stephan Bergmann )
  3. tdf#129382 CRASH: Importing a specific file ( See comment 6 ) ( Thanks to Vasily Melenchuk )
  4. tdf#129412 Crash when registered data source is not available. ( Thanks to Julien Nabet )
  5. tdf#129484 Crash when trying to view property of a component from forms (gtk3) ( Thanks to Caolán McNamara )
  6. tdf#129546 Skia: Crash when starting LO without supported device ( Thanks to Luboš Luňák )
  7. tdf#129659 CRASH on file opening ( Thanks to Jan-Marek Glogowski )
  8. tdf#129712 Crash in: mergedlo.dll after pasting as Unformatted text in Draw’s Text box ( Thanks to Mike Kaganski )
  9. tdf#129798 Crash in: SwViewShell::GetDoc() — show print with Field dialog open ( Thanks to Mike Kaganski )
  10. tdf#129805 Crash when copying the content of a complex DOCX ( Thanks to Michael Stahl )
  11. tdf#129839 Crash inspecting properties of cell range object in IDE ( Thanks to Mike Kaganski )
  12. tdf#129850 CRASH: Inserting table (gtk3) ( Thanks to Caolán McNamara )
  13. tdf#129887 CRASH: Scrolling down document ( Thanks to Serge Krot )
  14. tdf#129908 Crash at Data > Group and outlone > AutoOutline ( Thanks to Noel Grandin )
  15. tdf#130075 EDITING – While pasting data in a table, selecting “Next” makes Base crash ( Thanks to Caolán McNamara )
  16. tdf#130090 Create New Folder in the Save Dialog crashes with the gen (X11) VCL plugin ( Thanks to Caolán McNamara )
  17. tdf#130155 Writer navigator crashes when + is pressed on entries without children ( Thanks to Jim Raykowski )
  18. tdf#130179 CRASH: inserting comment to picture ( Thanks to Miklos Vajna )
  19. tdf#130214 CRASH: importing file ( Thanks to Mike Kaganski )
  20. tdf#130239 CRASH: Closing LibreOffice while Infobox is displayed ( gtk3 ) ( Thanks to Caolán McNamara )
  21. tdf#130286 Crash in: SwDrawTextShell::Execute(SfxRequest &) ( Thanks to Szymon Kłos )

List of performance issues fixed

  1. tdf#129158 sorting multiple selected rows leads to CALC hanging ( Thanks to Caolán McNamara )
  2. tdf#129708 Impress: Long operation during typing in animated list ( Thanks to Serge Krot )

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

  1. tdf#45589 Show bookmarks: make them visible in a document ( Thanks to Michael Stahl )
  2. tdf#48436 Data Label Placement needs absolute coordinates ( Thanks to Balazs Varga )
  3. tdf#54938 Adapt supportsService implementations to cppu::supportsService ( Thanks to Batuhan Taskaya )
  4. tdf#57113 Macros: Unicode vs. password protected user libraries ( Thanks to Mike Kaganski )
  5. tdf#77796 FILEOPEN: DOCX – Table cell padding (defined in table style) not imported correctly ( Thanks to László Németh )
  6. tdf#78840 Add the regular expression (?ismwx-ismwx: … ) Flag settings. Evaluate parenthesized expression with specifics flags enabled or -disabled. To have a case sensitive mode in functions using regular expressions. ( Thanks to Eike Rathke )
  7. tdf#83779 FILESAVE: Error in saving as Excel files – logical boolean type of FALSE and TRUE values not preserved during input ( Thanks to Mike Kaganski )
  8. tdf#88496 FORMATTING Multiple row table header pushed to next page if rows do not fit (unless one sets table properties .. uncheck Repeat Heading). behavior different from MS Word ( Thanks to László Németh )
  9. tdf#88713 Cycling through Navigator reminders is done in the wrong order ( Thanks to Jim Raykowski )
  10. tdf#90069 DOCX: Font style table inconsistencies, new cells resetting font styles ( Thanks to László Németh )
  11. tdf#92497 Update documentation for style management group button in Styles & Formatting sidebar ( Thanks to Seth Chaiklin )
  12. tdf#93389 Document recovery strips encryption ( Thanks to Mike Kaganski )
  13. tdf#94411 In alphabetical indexes f. and ff. should be used – not p. or pp. ( Thanks to Seth Chaiklin )
  14. tdf#94801 Fileopen DOCX: Text in table different width in Writer (multiple lines) and Word (single line) for Microsoft fonts – 0,1cm difference ( Thanks to László Németh )
  15. tdf#95033 Borders missing from some table cells in DOCX file (borders element of tblPrEx tag) ( Thanks to László Németh )

WORKSFORME bugs

96 bugs have been retested by 33 people.

Top 10 testers

  1. Xisco Faulí ( 18 )
  2. Timur ( 11 )
  3. Buovjaga ( 11 )
  4. sdc.blanco ( 8 )
  5. Julien Nabet ( 8 )
  6. Telesto ( 6 )
  7. Cor Nouws ( 4 )
  8. b. ( 3 )
  9. Heiko Tietze ( 3 )
  10. Terrence Enger ( 2 )

DUPLICATED bugs

121 bugs have been duplicated by 32 people.

Top 10 testers

  1. Xisco Faulí ( 22 )
  2. Timur ( 19 )
  3. NISZ LibreOffice Team ( 12 )
  4. V Stuart Foote ( 11 )
  5. Julien Nabet ( 8 )
  6. Heiko Tietze ( 6 )
  7. Oliver Brinzing ( 5 )
  8. sdc.blanco ( 3 )
  9. Dieter ( 3 )
  10. Roman Kuznetsov ( 3 )

Verified bug fixes

83 bugs have been verified by 15 people.

Top 10 Verifiers

  1. Xisco Faulí ( 60 )
  2. Dieter ( 6 )
  3. Roman Kuznetsov ( 4 )
  4. Timur ( 2 )
  5. Gerhard Weydt ( 1 )
  6. V Stuart Foote ( 1 )
  7. Gerald Pfeifer ( 1 )
  8. Kevin Suo ( 1 )
  9. mhall ( 1 )
  10. Ming Hua ( 1 )

Categorized Bugs

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

Top 10 Categorizers

  1. sdc.blanco ( 62 )
  2. Dieter ( 55 )
  3. Roman Kuznetsov ( 41 )
  4. NISZ LibreOffice Team ( 21 )
  5. V Stuart Foote ( 21 )
  6. Eyal Rozenberg ( 19 )
  7. Aron Budea ( 10 )
  8. DaeHyun Sung ( 8 )
  9. Buovjaga ( 7 )
  10. Oliver Brinzing ( 7 )

Regression Bugs

77 bugs have been set as regressions by 18 people.

Top 10

  1. Xisco Faulí ( 31 )
  2. Timur ( 12 )
  3. Roman Kuznetsov ( 9 )
  4. NISZ LibreOffice Team ( 3 )
  5. Telesto ( 3 )
  6. Buovjaga ( 2 )
  7. V Stuart Foote ( 2 )
  8. m.a.riosv ( 2 )
  9. raal ( 2 )
  10. Cor Nouws ( 2 )

Bisected Bugs

62 bugs have been bisected by 11 people.

Top 10 Bisecters

  1. Xisco Faulí ( 33 )
  2. Telesto ( 7 )
  3. raal ( 6 )
  4. Aron Budea ( 5 )
  5. Mihkel Tõnnov ( 2 )
  6. Roman Kuznetsov ( 2 )
  7. NISZ LibreOffice Team ( 2 )
  8. Kevin Suo ( 2 )
  9. Buovjaga ( 1 )
  10. Timur ( 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 February 12, 2020 03:39 PM

February 07, 2020

Collabora Community

Great Response to the LibreOffice Development Workshop at Free Software Winter Camp 2020

Every Winter the Anadolu University in Eskişehir, Turkey, hosts a large Free Software Winter Camp. This year it took place from Jan 25 – Jan 28, 2020, covering over 50 different classes with more than 40 different topics, and close to 1500 participants tutored by over 100 instructors. One of those classes was the LibreOffice Development Workshop, sponsored by Collabora Productivity.

For the four days of intensive training 20 students from all over the country were accepted. While the workshop itself was free, the participants were expected to cover the costs for travel and accommodation. This year 16 students showed for LibreOffice Development Workshop given by Collabora’s Muhammet Kara – a number which was a significant increase compared to the number from the previous year!

The participants of the LibreOffice Development Workshop at Free Software Winter Camp 2020.

In order to be accepted, the students had to have knowledge in C++, the principals of object-oriented programming, and at least user-level experience on a GNU/Linux system. During the workshop the 16 participants got familiar with the processes and tools of LibreOffice development and bug fixing.

Within the four days workshop the students contributed 64 commits, documented in the LibreOffice wiki. Two memorable examples of contributions were an important improvement by Onur Yilmaz for the Automatic Redaction feature and a Python script to analyse the LibreOffice code-base for styling issues written by Batuhan Taşkaya.

Muhammet Kara reported, that the feedback from the participants was very positive:

“Almost all pointed out that they have improved their development skills, and they would like to continue contributing.”

We would like to take this opportunity to express our appreciation once again to the effort of Muhammet, the Linux Users Association of Turkey and Anadolu University for providing this exceptional training opportunity. We look forward seeing more contributions from that dedicated group of participants.

Are you searching for a interesting open source project to join? Remember, you’re really welcome to participate in CODE – the Collabora Online Development Edition.

Participate in CODE

The post Great Response to the LibreOffice Development Workshop at Free Software Winter Camp 2020 appeared first on Collabora Productivity.

by Marc Rodrigues at February 07, 2020 08:48 AM

January 25, 2020

Roman Kuznetsov

LibreOffice 6.4 RC3 is available

LibreOffice 6.4 RC3 is available for downloading now. There are builds for all main OS for 64 bit. There is a 32 bit build for Windows also. These builds are only for testing.
Links for direct downloading below:
Source code
Description of fixed bugs in LibreOffice 6.4 RC3 compare with LibreOffice 6.4 RC2 is by link.
If you found a bug in LibreOffice 6.4 RC3, then please file a bug reprort in our Bugzilla.
I think it's a latest test build before final LibreOffice 6.4 release. Possibly LibreOffice 6.4 RC3 will be a final release without any change as it already was before.

by Roman Kuznetsov (noreply@blogger.com) at January 25, 2020 07:39 PM

January 24, 2020

Miklos Vajna

Improved rotated text handling in Writer's table rows with automatic height

Writer now has better support for rotated text in tables containing rows with automatic height. This post also presents two related fixes.

First, thanks Otevřená města who made this work by Collabora possible.

Before diving into improved rotated text handling, first a continuous section break import problem (tdf#128605) was fixed: this was a case when we created a new page style, but only a new section was intended. Here is how the fix looks:

https://lh3.googleusercontent.com/ycsIqjpdm5t2n9FQQhKBbWobpsX2cQ0s-ugLn970XwuGafzL79HzNVly6dYUpLMhTQmZq8Aa36kaGIfWfk-MzYmuSr92zhRUxFk1aNqwDOnTy1cyyrRzCguuvp-Wd3LD8XXzo_Aurg=w640
Figure 1. Importing continuous section break, fixed
https://lh3.googleusercontent.com/jLUVDTY3Z6-IWVCmSfia7ue_aSpXSG7YJK2WqhRCfJkdTgA3cVFRh8TiYZwKRut7vvC0yFkdGBzl9Wpv2auZpg6d84nmDI1gVHBZPmWsf_YA-5qD-SF8Uf2lBG7NOu9RcidR1bQ0ng=w640
Figure 2. Importing continuous section break, original
https://lh3.googleusercontent.com/izfhxSHtYg_QmeJdIY_NnX5uiaRsmDHQoPlAsofQSaLJERNzVq_gkOMShR-fzckvAd6E5D-ZEMbr41Db2PEMeUZA8gL-oqJsvf_3PytuxJhL95wz4Fsh-2JakWefx4Tes2MoHlFWWw=w640
Figure 3. Importing continuous section break, reference

What you can see is that the continuous section break used to result in an unwanted page break, and this is gone now.

Regarding the actual rotated text handling (tdf#128611), there were two problems there:

  • There was a missing flip handling for line shapes

  • Poor layout of rotated text in table cells with automatic height

Here is how the fix looks like:

https://lh3.googleusercontent.com/GFCNQDcvXsN2w1ADVo10H16FUOYB8i6jBTrPad0r6qa8nt8PmDBDD1oiDfG9Zs9_3eVqdyB-O-u6oWIBAujcyso2utvnDpdE4Bs2PykeJkbh0vSYMZDSIKsjv7vI06j9HUCru2Z19w=w640
Figure 4. Rotated text in table cells with auto height, fixed (both flip of line and text layout)
https://lh3.googleusercontent.com/IqsWjKbTD03_wnvUMUe_QK1pqdTfZKizoNEHRQDQuvpw_O8mrEQ8AgNk_2qbP49QUpezknqHDxnhn0eYDpfZL833dXaClRPD1e4_wxuTj5mTRTeEgioBCX0djcWa5vNSRdPmnalphA=w640
Figure 5. Rotated text in table cells with auto height, fixed (only flip of line so far)
https://lh3.googleusercontent.com/2Tkkj7oz9Bm9ckPs5lTGwAGBRokEJ0MWxfqrbqu6afp6Xm1I77zft8riW-kTxKo4kJsO6bwMtaZb0XNToFssEc1kkZuzm0qk0H4eLU-xk8DOd-e5eVMtNR6cYD_1FRDWbCIYok1oJg=w640
Figure 6. Rotated text in table cells with auto height, original
https://lh3.googleusercontent.com/m3X4dGiUTsFBnVwQhiEpcAQYGAJ_8vbKN93jivrcsKcCvjaornrk0upCvsTmck1e39XISyuYNc47BF1tuyrskoWLuMhpegtbyPh1KjBD7_wD-oLueaaLbjYnrgReSRkS5krvK1y4LQ=w640
Figure 7. Rotated text in table cells with auto height, reference

What you can see is that the line clearing the table cell had a vertical flip, which was lost on import. Also, the rotated text in the "row heading" cells was broken into multiple columns. Both are fixed now.

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

by Miklos Vajna at January 24, 2020 08:37 AM

January 23, 2020

Collabora Community

Collabora supports Free Software Winter Camp 2020 in Eskişehir, Turkey

Twenty-one students have been selected to take part in the LibreOffice Development Workshop at the Anadolu University, EskiÅŸehir, Turkey. It is held from Jan 25 to Jan 28 as a part of the Free Software Winter Camp 2020.

Collabora Sponsored LibreOffice Bootcamp in Ankara
Impression of the previous LibreOffice Bootcamp in Ankara

Collabora Productivity is one of the sponsors. Muhammet Kara, Collabora developer who is giving the LibrOffice training, explains that it’s not suitable for just every interested student.

“Of course enthusiasm is very important. But we also require students to have knowledge/experience with C++, and come with GNU/Linux installed on their laptops. And they will try to build LibreOffice before coming.”

This looks as a perfect match for students that followed for example the LibreOffice Bootcamp in Ankara… but there will be others for sure!
Muhammet tells about the program:

“During the camp, we will go through the usual stuff of getting started with LO development, code- structure, tips&tricks etc. And will work on bugs to gain hands-on experience.”

The accommodations will be provided by the Linux Users Association of Turkey, organizers of the event. Find details on the LibreOffice-wiki too.

Thanks Muhammet, Linux Users Association of Turkey and Anadolu University for making this possible!
Of course we wish the participants good luck, and keep an eye on github for LibreOffice or online 😉

The post Collabora supports Free Software Winter Camp 2020 in EskiÅŸehir, Turkey appeared first on Collabora Productivity.

by Cor Nouws at January 23, 2020 05:22 PM

Intersecting Intel & AMD Instruction Set Extensions

In some of my projects, I’ve recently had the need to utilize FMA (fused-multiply-add) or AVX instructions. Compiling C/C++ on X86_64 will by default only activate MXX and a few of the early SSE extensions. The utilized instruction set basically predates the core2 which was introduced in 2006. Math…

January 23, 2020 11:31 AM

January 22, 2020

Tomaž Vajngerl

Accessibility checker and support for PDF/UA specs

PDF/UA or ISO 14289 is a specifications that defines the requirements for accessibility in a PDF document. The specification defines the required structure and formatting of the document (also refers to WCAG specification from W3C for use on the web) and PDF features, which should be enabled or disabled so the document is better suited for accessibility (for example PDF tags are required).

Thanks to the Dutch Standardisation Forum for financially sponsoring and Collabora Productivity in cooperation with Nou&Off for the work on implementing this specification into LibreOffice.

Figure 1: PDF Export
The implementation in LibreOffice is currently done only for Writer. It consists of two parts.: First is to enable PDF/UA support into PDF export, which writes a PDF/UA flag into the PDF document and enables all the required features. The PDF export dialog was extended with a checkbox (see figure 1).

Figure 2: Accessibility Check in menu 

The second part is an accessibility check functionality, which traverses the document structure and gather all possible accessibility issues. The accessibility check can be run manually through the menu under Tools - Accessibility Checker (see figure 2), or it will be triggered after PDF export dialog, if the PDF/UA support is enabled. The accessibility issues are presented in a dialog (see figure 3).

Figure 3: Accessibility check dialog

The checks that are (currently) implemented are:

  • Check that the document title is set.
  • Check that the document language is set, or that all styles that are in use, have the language set.
  • Check all images, graphics, OLE objects for the alt (or title in some objects) text.
  • Check tables don't include splits or merges, which aren't allowed by the specifications. The table should be 
  • Check for fake/manual numbering (not using integrated numbering). For example writing "1." "2." "3." at the beginning of the paragraphs.  
  • Check that hyperlink text is not a hyperlink itself - hyperlink should be described. 
  • Check for the contrast between text and the background. The algorithm is described in the WCAG specification.  
  • Check for blinking text, discouraged for the obvious reasons.
  • Check for footnotes and endnotes, which should be avoided.
  • Check for heading order. Order of the headings must increase incrementally with no skips (for example Heading 1 to Heading 3, skipping Heading 2).
  • Check, if text conveys additional meaning with (direct) formatting.

The PDF/UA support will be included in LibreOffice 7.

by Tomaž Vajngerl (noreply@blogger.com) at January 22, 2020 08:54 AM

January 21, 2020

Luboš Luňák

Skipping functions from entire directories while debugging (e.g. skip all functions from system headers)

So, today I got finally so tired of navigating (or explicitly stepping over) all the internal functions in gdb (you know, all the inline functions from STL containers, from Boost, from this pointer wrapper class, that string class) that I finally googled 'gdb skip system functions'. And guess what, it's been there since gdb 7.12, from 3 years ago, and it's almost trivial, just adding something like this to ~/.gdbinit:

skip -gfi /usr/include/*
skip -gfi /usr/include/*/*
skip -gfi /usr/include/*/*/*
skip -gfi /usr/include/*/*/*/*

 I feel so stu^H^H^Hproud for catching up only 3 years late.

by llunak (noreply@blogger.com) at January 21, 2020 04:41 PM

January 20, 2020

Roman Kuznetsov

Next release after LibreOffice 6.4 will be LibreOffice 7

Congratulations! Next release after LibreOffice 6.4 will be LibreOffice 7 instead LibreOffice 6.5. Look at that message in marketing mail list.

by Roman Kuznetsov (noreply@blogger.com) at January 20, 2020 04:41 AM

January 15, 2020

Andreas Kainz

Image Compression

Finally LibreOffice image compression did what you expect. Shrink your image or the impress presentation and don’t destroy your pictures.

Old default settings were 90 for JPEG Quality and reduce image resolution to 96 DPI.

New settings are 80 for JPEG Quality and reduce image resolution to 300 DPI. It frustrate me for long time that with 96 DPI all images that will be compressed with LibreOffice are blurred and didn’t fit in any case. After write Bug 128658 and nobody fixed the bug for me, I fixed it myself with 7 lines of code 🙂

The best bug report are the reports you can fix yourself. Be proud of yourself fill bug reports and fix them yourself.

downloads_wordmark_white_on_coral2x.jpg

by kdeonlinux at January 15, 2020 10:26 PM

January 14, 2020

>Marius Popa Adrian

Firebird 3.0.5 sub-release is available

Firebird Project is happy to announce general availability of Firebird 3.0.5 — the 5th point release in the Firebird 3.0 series. This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.Binary kits for Windows and Linux platforms are immediately available for download, Android and Mac OS packages will follow shortly.

by Popa Adrian Marius (noreply@blogger.com) at January 14, 2020 09:32 AM

January 13, 2020

LibreOffice QA Blog

LibreOffice 6.4 RC2 is ready for testing!

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

LibreOffice 6.4 will be released as final at the end of January, 2020, being LibreOffice 6.4 RC2 the forth pre-release since the development of version 6.4 started in the beginning of June, 2019 ( See the release plan ). Since LibreOffice 6.4 RC1 ( the previous pre-release ), 90 commits have been submitted to the code repository and 58 bugs have been fixed. Check the release notes to find the new features included in this version of LibreOffice.

LibreOffice 6.4 RC2 can be downloaded from here, it’s available for Linux, MacOS and Windows. ( Note that it will replace your actual installation )

In case you find any problem in this pre-release, please report it in Bugzilla ( You just need a legit email address in order to create a new account ) so it can get fixed before LibreOffice 6.4 final is released.

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

Happy testing!!

Download it now!

by x1sc0 at January 13, 2020 11:30 AM

Tamás Bunth

Custom label in LibreOffice charts

There has been some progress in LibreOffice related to custom labels on charts. Let’s take a look at the following example document:

The above picture is extracted from a .docx document created by Word. When importing the document using LibreOffice, the diagram looks like this:

LibreOffice is now able to import custom text extracted from an OOXML document and store it in the ODF format. In order to do this, there was no need for extending the ODF structure, because it can already be accomplished using the <chart:data-label> tag. Multiple paragraphs are supported in one label. Apparently, style elements are not yet imported correctly, but the good news is it can be further developed without modifying the ODF format.

In addition, support for inserting percentage into the custom field is added:

The diagram above contains custom labels for each of its slices. Percentage fields have been added as new paragraphs into the labels. The text of these fields will dynamically change when changing the underlying data.

Thanks for SUSE for sponsoring this development.

by Bunth Tamás at January 13, 2020 10:09 AM

January 12, 2020

Roman Kuznetsov

LibreOffice 6.4 RC2 is available

LibreOffice 6.4 RC2 is available for downloading now. There are builds for all main OS for 64 bit. There is a 32 bit build for Windows also. These builds are only for testing.
Links for direct downloading below:
Source code
Description of fixed bugs in LibreOffice 6.4 RC2 compare with LibreOffice 6.4 RC1 is by link.
If you found a bug in LibreOffice 6.4 RC2, then please file a bug reprort in our Bugzilla.
Else one candidat release will be before final release of LibreOffice 6.4.

by Roman Kuznetsov (noreply@blogger.com) at January 12, 2020 03:10 PM

January 10, 2020

LibreOffice QA Blog

QA/Dev Report: December 2019

General Activities

  1. LibreOffice 6.3.4 was released on December, 12
  2. LibreOffice 6.4.0 RC1 was released on December 23 and a Bug Hunting Session took place the same day
  3. Ilmari Lauhakangas (TDF) published a blogpost wrapping all the improvements achieved by the PPTX Team in the last months
  4. Mike Kaganski (Collabora) made find & replace regular expressions work with look-behind and look-ahead assertions, fixed the display of multi-line formulas, fixed the importing of DOCX files with Tables of Contents and other indices
  5. Jim Raykowski completed the integration of the new colour palette and removed the old background tab page code, fixed a very popular annoyance concerning duplicated labels in Customize dialog (with additional contributions from Caolán McNamara of Red Hat) and fixed many accessibility issues
  6. Jan Holešovský (Collabora) fixed many under-the-hood issues with the Android application
  7. Dennis Francis (Collabora) fixed a frame-anchoring issue, which made elements fly into all the wrong places in Writer
  8. Andreas Kainz improved the Notebookbar UIs
  9. László Németh (NISZ) fixed several issues with DOCX tables and pasting to Writer tables. He also implemented several AutoCorrect fixes and enhancements
  10. Chris Sherlock made many under-the-hood improvements to the EMF+ handling code and implemented support for more EMF+ features
  11. Justin Luth (Collabora/SIL) fixed a DOCX import footnote issue and completed a multifaceted fix for a DOCX issue involving subscripts in character styles
  12. Samuel Mehrbrodt (CIB) added an infobar notification for cases of missing hyphenation information and improved the infobar behaviour in general
  13. Caolán McNamara (Red Hat) improved the behaviour of measurement units in the UI input fields, fixed issues in Calc cell style settings dialog and made many improvements to the UI code, including getting native GTK widgets working in the Sidebar
  14. Regina Henschel fixed unwanted rotation and position changes of a shape anchored to a Calc cell
  15. Noel Grandin (Collabora) fixed a performance issue when copying a large bulleted list, improved the speed of exporting a large document to PDF, improved the loading time of an XLSX file with lots of comments and made many cleanups under the hood
  16. Balázs Varga (NISZ) fixed number formatting in DOCX chart data labels
  17. Bakos Attila (NISZ) fixed shape anchoring in DOCX tables
  18. Michael Stahl (CIB) fixed an issue with DOCX continuous sections
  19. Muhammet Kara (Collabora) guided students in Ankara, Turkey to complete many C++ easy hacks
  20. Tomaž Vajngerl (Collabora) added functionality to check Writer documents for accessibility problems to make the document conform to PDF/UA requirements
  21. Miklos Vajna (Collabora) added support for semi-transparent text
  22. Kohei Yoshida published some Benchmark results on mdds multi_type_vector

Reported Bugs

580 bugs, 83 of which are enhancements, have been reported by 320 people.

Top 10 Reporters

  1. Xisco Faulí ( 36 )
  2. Nicolas Christener ( 29 )
  3. sdc.blanco ( 20 )
  4. Mike Kaganski ( 16 )
  5. Roman Kuznetsov ( 14 )
  6. NISZ LibreOffice Team ( 13 )
  7. DM ( 9 )
  8. R. Green ( 9 )
  9. Markus Elfring ( 9 )
  10. Rizal Muttaqin ( 8 )

Triaged Bugs

595 bugs have been triaged by 81 people.

Top 10 Triagers

  1. Xisco Faulí ( 150 )
  2. Dieter Praas ( 58 )
  3. Timur ( 56 )
  4. Heiko Tietze ( 34 )
  5. V Stuart Foote ( 31 )
  6. Julien Nabet ( 30 )
  7. Oliver Brinzing ( 20 )
  8. Roman Kuznetsov ( 17 )
  9. Olivier Hallot ( 16 )
  10. Mike Kaganski ( 15 )

Resolution of resolved bugs

578 bugs have been set to RESOLVED.

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

Fixed Bugs

183 bugs have been fixed by 43 people.

Top 10 Fixers

  1. Caolán McNamara ( 22 )
  2. Mike Kaganski ( 11 )
  3. László Németh ( 10 )
  4. Noel Grandin ( 8 )
  5. Michael Stahl ( 6 )
  6. Jim Raykowski ( 5 )
  7. Jan-Marek Glogowski ( 5 )
  8. Roman Kuznetsov ( 4 )
  9. Miklos Vajna ( 4 )
  10. Samuel Mehrbrodt ( 4 )

List of critical bugs fixed

  1. tdf#112989 Time required to export a large document has doubled for Latin (text layout issue) ( Thanks to Noel Grandin )
  2. tdf#129533 Calc crashes on Navigator click or move ( Thanks to Noel Grandin )
  3. tdf#99711 Sidebar Position and Size displays incorrect width and height when units in mm ( Thanks to Caolán McNamara )

List of high severity bugs fixed

  1. tdf#105225 Color palette cannot be chosen in various places ( Thanks to Jim Raykowski )
  2. tdf#108458 Label changes for Toolbar use degrade function listing in the Customize dialog–have duplicate entries on the list ( Thanks to Caolán McNamara )
  3. tdf#116194 table content from .DOCX shown as text in Writer ( Thanks to László Németh )
  4. tdf#127022 menu bar is broken in RTL interface on Windows ( Thanks to Miklos Vajna )
  5. tdf#128077 Always reproducible complete crash/lock of all LibreOffice windows ( steps in comment 10 ) ( Thanks to Caolán McNamara )
  6. tdf#128449 Inserting image as background results in blue bg ( Thanks to Aron Budea )
  7. tdf#128845 EDITING: cannot modify a bibliography entry after creating it ( Thanks to Noel Grandin )
  8. tdf#129119 crash in launching Customize dialog from StartCenter Tools -> Customize ( Thanks to Caolán McNamara )
  9. tdf#129127 Crash when sort by column of Excel 97-2003 file with specific data ( Thanks to Dennis Francis )
  10. tdf#129165 Impress: right-click menu on slide in Slide Pane is not available anymore ( Thanks to Xisco Fauli )
  11. tdf#129210 CRASH: recovering database file ( Thanks to Caolán McNamara )
  12. tdf#37156 FORMATTING: Paste table result different for paste destination “table cell” or “normal text area” ( Thanks to László Németh )

List of crashes fixed

  1. tdf#127955 Crash when opening Insert Fields in Writer ( Thanks to Caolán McNamara )
  2. tdf#128077 Always reproducible complete crash/lock of all LibreOffice windows ( steps in comment 10 ) ( Thanks to Caolán McNamara )
  3. tdf#129056 CRASH: changing line’s colour in chart sidebar ( Thanks to Muhammet Kara )
  4. tdf#129076 impress slideshow crashes with skia backend ( Thanks to Luboš Luňák )
  5. tdf#129119 crash in launching Customize dialog from StartCenter Tools -> Customize ( Thanks to Caolán McNamara )
  6. tdf#129127 Crash when sort by column of Excel 97-2003 file with specific data ( Thanks to Dennis Francis )
  7. tdf#129136 crash in basic function CurDir ( Thanks to Stephan Bergmann )
  8. tdf#129192 Sharing a file will crash the Android app ( Thanks to Jan Holesovsky )
  9. tdf#129210 CRASH: recovering database file ( Thanks to Caolán McNamara )
  10. tdf#129346 CRASH: sd::SdUnoSlideView::getCurrentPage() ( Thanks to Caolán McNamara )
  11. tdf#129519 Crash when using two or more documents from the same WebDAV server ( Thanks to Thorsten Behrens )
  12. tdf#129533 Calc crashes on Navigator click or move ( Thanks to Noel Grandin )

List of performance issues fixed

  1. tdf#112989 Time required to export a large document has doubled for Latin (text layout issue) ( Thanks to Noel Grandin )
  2. tdf#119227 A five second freeze when copying a large bulleted list ( Thanks to Noel Grandin )
  3. tdf#129227 Poor performance in a Basic code ( Thanks to Mike Kaganski )
  4. tdf#129228 FILEOPEN XLSX: file won’t open then very slow (2 speedups in this bug) ( Thanks to Noel Grandin )
  5. tdf#129256 ReDim is slow when array custom type is explicitly known ( Thanks to Mike Kaganski )

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

  1. tdf#34517 UI: Texts in context menu ‘Arrangement for chart lines’ interchanged ( Thanks to Kelemen Gábor )
  2. tdf#35570 Moving rows (and columns too) in tables overwrites content ( Thanks to László Németh )
  3. tdf#37156 FORMATTING: Paste table result different for paste destination “table cell” or “normal text area” ( Thanks to László Németh )
  4. tdf#38394 EDITING: Can’t insert a French opening quote after an apostrophe using AutoCorrection ( Thanks to László Németh )
  5. tdf#47583 PRINTING: Behaviour of Writer Print Options are not Transparent ( Thanks to Michael Weghorn )
  6. tdf#54409 AutoCorrect not correcting word next to smart/curved quote-mark (single or double) ( Thanks to László Németh )
  7. tdf#59327 BASIC: A missing optional argument is treated as a not declared variable. ( Thanks to Mike Kaganski )
  8. tdf#59666 EDITING: Option to disable Greek letters (αβγδελμ..) converting to big letters (ABGDE…) as automatic capitalization of first letters in sentence ( Thanks to László Németh )
  9. tdf#64902 Add new menu options to move rows/columns in tables without overwriting the original cells ( Thanks to László Németh )
  10. tdf#65038 EDITING: Search&Replace doesn’t replace regular expression with Look assertions (ahead-behind) ( Thanks to Mike Kaganski )
  11. tdf#75806 SearchWords in ReplaceDescriptor ( Thanks to Mike Kaganski )
  12. tdf#83248 PRINTING: “Single-line” text box always printed in black ( Thanks to Arnaud Versini )
  13. tdf#87569 FILEOPEN: Incorrect layout of table in DOCX file ( Thanks to Bakos Attila )

WORKSFORME bugs

111 bugs have been retested by 49 people.

Top 10 testers

  1. Timur ( 17 )
  2. Xisco Faulí ( 11 )
  3. Michael Weghorn ( 8 )
  4. Alex Thurgood ( 6 )
  5. Julien Nabet ( 6 )
  6. Buovjaga ( 6 )
  7. m.a.riosv ( 5 )
  8. Telesto ( 3 )
  9. Dieter Praas ( 3 )
  10. Heiko Tietze ( 3 )

DUPLICATED bugs

150 bugs have been duplicated by 38 people.

Top 10 testers

  1. Timur ( 44 )
  2. Xisco Faulí ( 23 )
  3. Michael Weghorn ( 7 )
  4. V Stuart Foote ( 6 )
  5. Heiko Tietze ( 5 )
  6. Dieter Praas ( 5 )
  7. m.a.riosv ( 5 )
  8. NISZ LibreOffice Team ( 4 )
  9. Mike Kaganski ( 4 )
  10. BogdanB ( 4 )

Verified bug fixes

170 bugs have been verified by 17 people.

Top 10 Verifiers

  1. raal ( 78 )
  2. Xisco Faulí ( 54 )
  3. Dieter Praas ( 9 )
  4. Thorsten Behrens (CIB) ( 8 )
  5. Buovjaga ( 4 )
  6. Timur ( 3 )
  7. Roman Kuznetsov ( 3 )
  8. BogdanB ( 2 )
  9. V Stuart Foote ( 1 )
  10. Vera Blagoveschenskaya ( 1 )

Categorized Bugs

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

Top 10 Categorizers

  1. Roman Kuznetsov ( 69 )
  2. Dieter Praas ( 56 )
  3. Aron Budea ( 35 )
  4. sdc.blanco ( 20 )
  5. V Stuart Foote ( 14 )
  6. NISZ LibreOffice Team ( 14 )
  7. Chris Sherlock ( 14 )
  8. oesterblog-admin ( 11 )
  9. Timur ( 9 )
  10. Oliver Brinzing ( 8 )

Regression Bugs

106 bugs have been set as regressions by 23 people.

Top 10

  1. Xisco Faulí ( 51 )
  2. Timur ( 17 )
  3. raal ( 5 )
  4. Roman Kuznetsov ( 5 )
  5. NISZ LibreOffice Team ( 4 )
  6. Oliver Brinzing ( 4 )
  7. Mike Kaganski ( 2 )
  8. Dieter Praas ( 2 )
  9. Justin L ( 2 )
  10. Boaz Dodin ( 1 )

Bisected Bugs

84 bugs have been bisected by 12 people.

Top 10 Bisecters

  1. Xisco Faulí ( 59 )
  2. raal ( 10 )
  3. Oliver Brinzing ( 4 )
  4. NISZ LibreOffice Team ( 2 )
  5. Justin L ( 2 )
  6. Telesto ( 1 )
  7. Kevin Suo ( 1 )
  8. Terrence Enger ( 1 )
  9. Mike Kaganski ( 1 )
  10. Thomas Bertels ( 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 January 10, 2020 02:02 PM

>Marius Popa Adrian

Firebird high-level native client for Node.js / TypeScript updated to v2.1.0

Firebird high-level native client for Node.js / TypeScript updated to v2.1.0 with a few changes . Feature #30 - Add methods executeReturningAsObject and fetchAsObject to return records as objects instead of arrays. Feature #43 - Add Statement.columnLabels property.

by Popa Adrian Marius (noreply@blogger.com) at January 10, 2020 09:47 AM

Wire encryption plugin using chacha cypher in Firebird master branch

AlexPeshkoff Added wire crypt plugin using ChaCha cipher Co-authored-by: Vlad Khorsun Here is the pull request #244

by Popa Adrian Marius (noreply@blogger.com) at January 10, 2020 09:36 AM

January 09, 2020

Roman Kuznetsov

Problem with LibreOffice installed with SiGUI

This note is more for QA people in LibreOffice project. 
If you test LibreOffice in Windows then possibly you use the SiGUI tool for parallel installing of many versions of LibreOffice.
Some days ago I got a crash in current developer build (future LibreOffice 6.5) that was installed with SiGUI. Nobody could repro that crash, but I got it every time. Deleting of user profile have not help. I always installed LibreOffice for testing into the same directory on top of old version. It was a reason for my problem! A crash disappeared only after LibreOffice installing to another clean directory.
So better install LibreOffice for testing with SiGUI only in clean path and if you want use for it only one directory, then delete all subdirectories and all files from it before install.

by Roman Kuznetsov (noreply@blogger.com) at January 09, 2020 01:33 PM

January 06, 2020

>Marius Popa Adrian

SHA-256 in Firebird 3.0.x

Thanks to contributions from Alex Peshkov and Tony Whyman in Firebird 3.0.4 SHA-256 message digest may be used instead of SHA-1 for generating the client proof: https://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-security-new-authentication.html#rnfb30-security-srp-patch304 Here is the related patch and proposed fix : CORE-5788

by Popa Adrian Marius (noreply@blogger.com) at January 06, 2020 03:56 PM

December 28, 2019

Jean Hollis Weber

LibreOffice 6.2 Calc Guide published

LibreOffice 6.2 Calc Guide front coverIt’s been a long time coming, but an updated version of the LibreOffice Calc Guide has finally been completed by the Documentation Team.

Free PDFs are here: https://wiki.documentfoundation.org/Documentation/Publications#LibreOffice_Calc_Guide and will be linked from the main LibreOffice website in the new year.

A printed copy can be purchased here: http://www.lulu.com/content/paperback-book/libreoffice-62-calc-guide/26019667

by Jean at December 28, 2019 09:39 AM

December 23, 2019

LibreOffice QA Blog

LibreOffice 6.4 RC1 is ready for testing!

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

LibreOffice 6.4 will be released as final at the end of January, 2020, being LibreOffice 6.4 RC1 the third pre-release since the development of version 6.4 started in the beginning of June, 2019 ( See the release plan ). Since LibreOffice 6.4 Beta1 ( the previous pre-release ), 410 commits have been submitted to the code repository and 195 bugs have been fixed. Check the release notes to find the new features included in this version of LibreOffice.

LibreOffice 6.4 RC1 can be downloaded from here, it’s available for Linux, MacOS and Windows. ( Note that it will replace your actual installation )

In case you find any problem in this pre-release, please report it in Bugzilla ( You just need a legit email address in order to create a new account ) so it can get fixed before LibreOffice 6.4 final is released.

For help, you can contact us directly in our IRC channel.

Happy testing!!

Download it now!

by x1sc0 at December 23, 2019 04:33 PM

December 20, 2019

Miklos Vajna

Semi-transparent text in Draw/Impress

Draw/Impress now has support for semi-transparent shape text, next to the existing transparency support in the context of shape fill colors and shape border colors.

First, thanks Vector who made this work by Collabora possible.

Here is how it looks:

https://lh3.googleusercontent.com/FJ55-BJ_Mc75TiyrPYuvtOscHOqFp81sEI4SfJvybPzaXG5Y2n4mIoLRzkXydEEmtEf--l9s_h-L4CyYjuGpTyOngOTi8YAzIFp8bQBEn0k2DWsRzJHLdfttf74wTbdPgZUzgSnOYQ=w640
Figure 1. Semi-transparent text in Draw

What you can see is that next to the existing character color, now you can also set a transparency percentage to decide if the text should be entirely transparent, entirely opaque or something between the two.

The primary focus was Draw in this case, but this also helps PPTX support, as the importer/exporter now handles this for Impress documents as well.

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

by Miklos Vajna at December 20, 2019 08:39 AM

December 19, 2019

Collabora Community

Enthusiast students building LibreOffice – Report from Bootcamp in Ankara

Developing in C++ is not easiest thing you can do in ICT. But if you have some C++ knowledge and skills, it brings you great possibilities. What to think of building LibreOffice and working somewhere in the million lines of code? In Ankara, at the Hacettepe University’s Beytepe Campus, 40 students joining the LibreOffice Developer Bootcamp, just arrived at that point.

Muhammet Kara, Collabora Productivity developer, who gives the courses, tells:

We have finished the 5th session/week of the Bootcamp. So far, we did the following. The first four weeks we did C++ basics, and covered topics such as syntax, operators, data types, arrays, pointers, exceptions.. You name it. On week 2, 3, and 4 the students had to do three home works /assignments. In week 5 we looked at LibreOffice development: how it is organized, who are involved, tooling, habits. And of course: what is good about contributing to LibreOffice. The next week the students should have a complete building environment. So we’ll start the real development: working on easy hacks. More on that in the next report!

Collabora is really glad about the enthusiasm for LibreOffice development and happy to sponsor the Ankara Bootcamp.

The training program attracted much interest from the students side. In the first weeks, which were mainly about the basics of C++, were attended by 120 to 140 students were attending the course. The weekly plans for week 3 and week 4 (in Turkish), published on Muhammet Kara’s blog, show the ambitious amount of content they have been introduced to.  The LibreOffice Development Bootcamp was also widely noticed beyond the sphere of the Hacettepe University. The tweets posted on the topic generated many hundreds of interactions and over ten thousand views in the social network.

In week five the specific work on LibreOffice moved more into focus. It was discussed why it makes sense to contribute to it. 40 students took part in this phase of the bootcamp, a great number if you consider that it is not a mandatory course and the demands on the participants were very challenging. The weekly sessions will be given until the end of the semester, January 2020. We will keep you updated here and report about the next weeks of the LibreOffice Developer Camp in Ankara.

 

The post Enthusiast students building LibreOffice – Report from Bootcamp in Ankara appeared first on Collabora Productivity.

by Cor Nouws at December 19, 2019 03:00 PM

December 16, 2019

Collabora Community

CODE 4.2.0 Released with fresh User Interface

Clean look, feature rich Side Bar, and much more

Cambridge, United Kingdom, December 16, 2019 – Collabora Productivity, the driving force behind bringing LibreOffice to the cloud, is excited to announce a new, major release of our product CODE (Collabora Online Development Edition) 4.2.0 This release includes a fresh look, mobile improvements, improved inter-operability, new dialogs and functionality as well as a raft of bug fixes and polish. The release gives you an insight into our soon-to-be released enterprise version Collabora Online 4.2.0. CODE and Collabora Online offer privacy as well as the only truly open-source solution for working with and collaborating on rich documents in the cloud.

CODE logo

What’s new?

This major update of Collabora Online Development Edition (CODE) comes with a rich new user interface and is built onto of the stability and performance of our LTS version of LibreOffice: Collabora Office 6.2. It includes many improvements in functionality and user-friendliness. The most obvious new feature is the powerful sidebar on the right. Many settings for text and all kind of properties of objects in the documents can be easily updated here. The sidebar makes it much easier to change tables, colour settings and charts elements in the browser, with close to the same feature richness that is available in Collabora Office on the desktop. The status bar has been redesigned and our powerful function wizard is now available in Calc online. Copy and paste of rich text and content is added for online, and our responsive user interface adapts nicely to mobile phones and tablets.

Rich chart functions from the side bar

When charts are selected, the sidebar now gives access to a wide range of features. For example, you can easily choose chart types from bars, lines and points, pies and more, or whether the diagram should be displayed in 3D.

Other elements of charts can now also be adjusted from the sidebar. You can now determine how and where titles and legends are displayed. Furthermore, many of the visual elements of the diagram can be adjusted here. The sidebar also allows you to define the surface colour, transparency, line types and grid lines.

Click to see that in action:

Click to see the chart sidebar in action

Online function wizard: a powerful tool for formulas

Working with formulas is important and especially for the more complex types, having help with the tenth optional parameter is good. The new function wizard does that and it is new available in Calc from now on. The function wizard grants easy access to all elements of also the most complex formulas. It shows the structure and meaning of different parts of a formula, and more.

Conditions apply: Enhanced formatting options in Calc

Conditional formatting is a powerful feature in Calc. It is enables you to quickly visualize data in a spreadsheet by setting various useful rules on your sheet to adapt the cells formatting, colour, or even add icons when certain criteria are met. While a simplified set of conditional formats was previously available via an icon in the toolbar, you can now also make use of the full dialogs, to be found in the Format menu, to define and manage conditions fully.

Better display in Calc: smooth scaling of spreadsheets

The scaling of spreadsheets has been significantly improved in CODE 4.2.0. While in Calc you could previously only choose between two zoom factors of 100% and 200%, now fine adjustment is are possible to suit. Using the convenient (and redesigned) quick selector in the lower right corner, you can now choose your favourite zoom percentage between 33% and 200%.

More presentation functions in the sidebar

The new sidebar adds many useful functions to Impress. For shapes and outlines, the size, position, colours, transparency, wrapping and so on are easy to change.

The possibilities to alter the slide master and lay out, from the sidebar, are also completely new in CODE 4.2. You can now access extensive layout functionality for slides such selecting masters, layouts and even editing your own master pages. Needless to say, that character settings, fonts types, sizes, colours and spacing can also be easily adjusted from the sidebar.

Handier working with images

Working with images in all document types is easier, more convenient and more precise. The sidebar allows to adjust colour options, such as brightness, contrast or transparency or the red, blue and green portion of the image. Another handy feature is the adjustment of the layer settings of the images. Bring them to the foreground or arrange them in the background – all via the sidebar.

Rich copy and paste between docx and xlsx documents and more… in the browser

People that work online, often have many documents open simultaneously, and want to mash them together into bigger, better documents. So you’ll be glad to learn the CODE 4.2.0 introduces copying of rich formatted content along with images, charts, and other complex elements, between your online spreadsheets, documents and presentations.

New online colour picker

For certain elements there is not only the usual colour selector, offering a palette, but also the colour picker to chose any custom colours needed. Use it with text and background in presentations, lines in spreadsheets and presentations, text and background for floating frames in text documents.

Handling links in Writer has just become more pleasant

CODE 4.2.0 brings very nice enhancements when working with hyperlinks. Whenever the mouse cursor is located next to a link or on it, you will be kindly notified by a pop-up dialogue allowing the real target to be inspected and launched conveniently with a single click.

Beautiful new icons and a redesigned theme

The new design of the icons embellishes the upper toolbar. The new theme is tidier has more generous spacing, and is clearer in general. It should increase productivity and reduce friction. Buttons that are selected have a clearer and more distinct highlight too.

The status bar also benefits from our visual redesign. Not only does it look cleaner, it also improves quick access to the functions located there. The language of documents can now also be set via a popup.

Table editing in the side bar and table handles

In Writer it is now possible to manipulate tables extensively from the sidebar and we also added easy to use in-document selection handles, choose either or both. Previously the table dialog had to be used, which was far less convenient. These handles make adjusting row height and column width very user-friendly.

You want to insert rows or columns from here? Of course! Or delete some or all of them? a click! Furthermore, the sidebar also allows you to set the background colour of the cells or to fine-tune their height and width of rows and columns. It becomes even more interesting if you select several cells. Then you can also merge them from the sidebar or distribute them evenly.

 

Table of contents

In text documents, the full table of contents can now be configured with the new dialogs. So even online, you can customize your complex table of contents in a few clicks according to your wishes. For example edit the entries and change style, background or columns.

About CODE

CODE is the Collabora Online Development Edition. It contains the latest developments and is perfect for home users that want to start to run their own online office suite. It enables them to regain control of their own online documents and host them themselves in their own controlled and private environment. For them and also for tech-enthusiast, it is a low-threshold way to get involved and familiar with our online office solution. CODE gives the possibility to be the first to use new features. It will be improved continuously and our next enterprise Collabora Online product will be built from it. Note that we recommend our supported and maintained enterprise release: Collabora Online for business and production environments. CODE warns users that they might want support after 10 concurrent documents or 20 concurrent users. Find out how about the different ways to install CODE on our product page.

Get CODE 4.2.0!

The post CODE 4.2.0 Released with fresh User Interface appeared first on Collabora Productivity.

by Marc Rodrigues at December 16, 2019 10:27 AM

December 13, 2019

Kohei Yoshida

Benchmark results on mdds multi_type_vector

In this post, I’m going to share the results of some benchmark testing I have done on multi_type_vector, which is included in the mdds library. The benchmark was done to measure the impact of the change I made recently to improve the performance on block searches, which will affect a major part of its functionality.

Background

One of the data structures included in mdds, called multi_type_vector, stores values of different types in a single logical vector. LibreOffice Calc is one primary user of this. Calc uses this structure as its cell value store, and each instance of this value store represents a single column instance.

Internally, multi_type_vector creates multiple element blocks which are in turn stored in its parent array (primary array) as block structures. This primary array maps a logical position of a value to the actual block structure that stores it. Up to version 1.5.0, this mapping process involved a linear search that always starts from the first block of the primary array. This was because each block structure, though it stores the size of the element block, does not store its logical position. So the only way to find the right element block that intersects the logical position of a value is to scan from the first block and keep accumulating the sizes of the encountered blocks. The following diagram depicts the structure of multi_type_vector’s internal store as of 1.5.0:

The reason for not storing the logical positions of the blocks was to avoid having to update them after shifting the blocks after value insertion, which is quite common when editing spreadsheet documents.

Of course, sometimes one has to perform repeated searches to access a number of element values across a number of element blocks, in which case, always starting the search from the first block, or block 0, in every single search can be prohibitively expensive, especially when the vector is heavily fragmented.

To alleviate this, multi_type_vector provides the concept of position hints, which allows the caller to start the search from block N where N > 0. Most of multi_type_vector’s methods return a position hint which can be used for the next search operation. A position hint object stores the last position of the block that was either accessed or modified by the call. This allows the caller to chain all necessary search operations in such a way to scan the primary array no more than once for the entire sequence of search operations. It was largely inspired by std::map’s insert method which provides a very similar mechanism. The only prerequisite is that access to the elements occur in perfect ascending order. For the most part, this approach worked quite well.

The downside of this is that there are times you need to access multiple element positions and you cannot always arrange your access pattern to take advantage of the position hints. This is the case especially during multi-threaded formula cell execution routine, which Calc introduced some versions ago. This has motivated us to switch to an alternative lookup algorithm, and binary search was the obvious replacement.

Binary search

Binary search is an algorithm well suited to find a target value in an array where the values are stored in sorted order. Compared to linear search, binary search performs much faster except for very small arrays. People often confuse this with binary search tree, but binary search as an algorithm does not limit its applicability to just tree structure; it can be used on arrays as well, as long as the stored values are sorted.

While it’s not very hard to implement binary search manually, the C++ standard library already provides several binary search implementations such as std::lower_bound and std::upper_bound.

Switch from linear search to binary search

The challenge for switching from linear search to binary search was to refactor multi_type_vector’s implementation to store the logical positions of the element blocks and update them real-time, as the vector gets modified. The good news is that, as of this writing, all necessary changes have been done, and the current master branch fully implements binary-search-based block position lookup in all of its operations.

Benchmarks

To get a better idea on how this change will affect the performance profile of multi_type_vector, I ran some benchmarks, using both mdds version 1.5.0 – the latest stable release that still uses linear search, and mdds version 1.5.99 – the current development branch which will eventually become the stable 1.6.0 release. The benchmark tested the following three scenarios:

  1. set() that modifies the block layout of the primary array. This test sets a new value to an empty vector at positions that monotonically increase by 2, until it reaches the end of the vector.
  2. set() that updates the value of the last logical element of the vector. The update happens without modifying the block layout of the primary array. Like the first test, this one also measures the performance of the block position lookup, but since the block count does not change, it is expected that the block position lookup comprises the bulk of its operation.
  3. insert() that inserts a new element block at the logical mid-point of the vector and shifts all the elements that occur below the point of insertion. The primary array of the vector is made to be already heavily fragmented prior to the insertion. This test involves both block position lookup as well as shifting of the element blocks. Since the new multi_type_vector implementation will update the positions of element blocks whose logical positions have changed, this test is designed to measure the cost of this extra operation that was previously not performed as in 1.5.0.

In each of these scenarios, the code executed the target method N number of times where N was specified to be 10,000, 50,000, or 100,000. Each test was run twice, once with position hints and once without them. Each individual run was then repeated five times and the average duration was computed. In this post, I will only include the results for N = 100,000 in the interest of space.

All binaries used in this benchmark were built with a release configuration i.e. on Linux, gcc with -O3 -DNDEBUG flags was used to build the binaries, and on Windows, MSVC (Visual Studio 2017) with /MD /O2 /Ob2 /DNDEBUG flags was used.

All of the source code used in this benchmark is available in the mdds perf-test repository hosted on GitLab.

The benchmarks were performed on machines running either Linux (Ubuntu LTS 1804) or Windows with a variety of CPU’s with varying number of native threads. The following table summarizes all test environments used in this benchmark:

It is very important to note that, because of the disparity in OS environments, compilers and compiler flags, one should NOT compare the absolute values of the timing data to draw any conclusions about CPU’s relative performance with each other.

Results

Scenario 1: set value at monotonically increasing positions

This scenario tests a set of operations that consists of first seeking the position of a block that intersects with the logical position, then setting a new value to that block which causes that block to split and a new value block inserted at the point of split. The test repeats this process 100,000 times, and in each iteration the block search distance progressively increases as the total number of blocks increases. In Calc’s context, scenarios like this are very common especially during file load.

Without further ado, here are the results:

You can easily see that the binary search (1.5.99) achieves nearly the same performance as the linear search with position hints in 1.5.0. Although not very visible in these figures due to the scale of the y-axes, position hints are still beneficial and do provide small but consistent timing reduction in 1.5.99.

Scenario 2: set at last position

The nature of what this scenario tests is very similar to that of the previous scenario, but the cost of the block position lookup is much more emphasized while the cost of the block creation is eliminated. Although the average durations in 1.5.0 without position hints are consistently higher than their equivalent values from the previous scenario across all environments, the overall trends do remain similar.

Scenario 3: insert and shift

This last scenario was included primarily to test the cost of updating the stored block positions after the blocks get shifted, as well as to quantify how much increase this overhead would cause relative to 1.5.0. In terms of Calc use case, this operation roughly corresponds with inserting new rows and shifting of existing non-empty rows downward after the insertion.

Without further ado, here are the results:

These results do indicate that, when compared to the average performance of 1.5.0 with position hints, the same operation can be 4 to 6 times more expensive in 1.5.99. Without position hints, the new implementation is more expensive to a much lesser degree. Since the scenario tested herein is largely bottlenecked by the block position updates, use of position hints seems to only provide marginal benefit.

Adding parallelism

Faced with this dilemma of increased overhead, I did some research to see if there is a way to reduce the overhead. The suspect code in question is in fact a very simple loop, and all its does is to add a constant value to a known number of blocks:

template
void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(size_type block_index, size_type delta)
{
    size_type n = m_blocks.size();

    if (block_index >= n)
        return;

    for (; block_index < n; ++block_index)
        m_blocks[block_index].m_position += delta;
}

Since the individual block positions can be updated entirely independent of each other, I decided it would be worthwhile to experiment with the following two types of parallelization techniques. One is loop unrolling, the other is OpenMP. I found these two techniques attractive for this particular case, for they both require very minimal code change.

Adding support for OpenMP was rather easy, since all one has to do is to add a #pragma line immediately above the loop you intend to parallelize, and add an appropriate OpenMP flag to the compiler when building the code.

Adding support for loop unrolling took a little fiddling around, but eventually I was able to make the necessary change without breaking any existing unit test cases. After some quick experimentation, I settled with updating 8 elements per iteration.

After these changes were done, the above original code turned into this:

template
void multi_type_vector<_CellBlockFunc, _EventFunc>::adjust_block_positions(int64_t start_block_index, size_type delta)
{
    int64_t n = m_blocks.size();

    if (start_block_index >= n)
        return;

#ifdef MDDS_LOOP_UNROLLING
    // Ensure that the section length is divisible by 8.
    int64_t len = n - start_block_index;
    int64_t rem = len % 8;
    len -= rem;
    len += start_block_index;
    #pragma omp parallel for
    for (int64_t i = start_block_index; i < len; i += 8)
    {
        m_blocks[i].m_position += delta;
        m_blocks[i+1].m_position += delta;
        m_blocks[i+2].m_position += delta;
        m_blocks[i+3].m_position += delta;
        m_blocks[i+4].m_position += delta;
        m_blocks[i+5].m_position += delta;
        m_blocks[i+6].m_position += delta;
        m_blocks[i+7].m_position += delta;
    }

    rem += len;
    for (int64_t i = len; i < rem; ++i)
        m_blocks[i].m_position += delta;
#else
    #pragma omp parallel for
    for (int64_t i = start_block_index; i < n; ++i)
        m_blocks[i].m_position += delta;
#endif
}

I have made the loop-unrolling variant of this method a compile-time option and kept the original method intact to allow on-going comparison. The OpenMP part didn’t need any special pre-processing since it can be turned on and off via compiler flag with no impact to the code itself. I needed to switch the loop counter from the original size_type (which is a typedef to size_t) to int64_t so that the code can be built with OpenMP enabled on Windows, using MSVC. Apparently the Microsoft Visual C++ compiler requires the loop counter to be a signed integer for the code to even build with OpenMP enabled.

With these changes in, I wrote a separate test code just to benchmark the insert-and-shift scenario with all permutations of loop-unrolling and OpenMP. The number of threads to use for OpenMP was not specified during the test, which would cause OpenMP to automatically use all available native threads.

With all of this out of the way, let’s look at the results:

Here, LU and OMP stand for loop unrolling and OpenMP, respectively. The results from each machine consist of four groups each having two timing values, one with 1.5.0 and one with 1.5.99. Since 1.5.0 does not use neither loop unrolling nor OpenMP, its results show no variance between the groups, which is expected. The numbers for 1.5.99 are generally much higher than those of 1.5.0, but the use of OpenMP brings the numbers down considerably. Although how much OpenMP reduced the average duration varies from machine to machine, the number of available native threads likely plays some role. The reduction by OpenMP on Core i5 6300U (which comes with 4 native threads) is approximately 30%, the number on Ryzen 7 1700X (with 16 native threads) is about 70%, and the number on Core i7 4790 (with 8 native threads) is about 50%. The relationship between the native thread count and the rate of reduction somewhat follows a linear trend, though the numbers on Xeon E5-2697 v4, which comes with 32 native threads, deviate from this trend.

The effect of loop unrolling, on the other hand, is visible only to a much lesser degree; in all but two cases it has resulted in a reduction of 1 to 7 percent. The only exceptions are the Ryzen 7 without OpenMP which denoted an increase of nearly 16%, and the Xeon E5630 with OpenMP which denoted a slight increase of 0.1%.

The 16% increase with the Ryzen 7 environment may well be an outlier, since the other test in the same environment (with OpenMP enabled) did result in a reduction of 7% – the highest of all tested groups.

Interpreting the results

Hopefully the results presented in this post are interesting and provide insight into the nature of the change in multi_type_vector in the upcoming 1.6.0 release. But what does this all mean, especially in the context of LibreOffice Calc? These are my personal thoughts.

  • From my own observation of having seen numerous bug reports and/or performance issues from various users of Calc, I can confidently say that the vast majority of cases involve reading and updating cell values without shifting of cells, either during file load, or during executions of features that involve massive amounts of cell I/O’s. Since those cases are primarily bottlenecked by block position search, the new implementation will bring a massive win especially in places where use of position hints was not practical. That being said, the performance of block search will likely see no noticeable improvements even after switching to the new implementation when the code already uses position hints with the old implementation.
  • While the increased overhead in block shifting, which is associated with insertion or deletion of rows in Calc, is a certainly a concern, it may not be a huge issue in day-to-day usage of Calc. It is worth pointing out that that what the benchmark measures is repeated insertions and shifting of highly fragmented blocks, which translates to repeated insertions or deletions of rows in Calc document where the column values consist of uniformly altering types. In normal Calc usage, it is more likely that the user would insert or delete rows as one discrete operation, rather than a series of thousands of repeated row insertions or deletions. I am highly optimistic that Calc can absorb this extra overhead without its users noticing.
  • Even if Calc encounters a very unlikely situation where this increased overhead becomes visible at the UI level, enabling OpenMP, assuming that’s practical, would help lessen the impact of this overhead. The benefit of OpenMP becomes more elevated as the number of native CPU threads becomes higher.

What’s next?

I may invest some time looking into potential use of GPU offloading to see if that would further speed up the block position update operations. The benefit of loop unrolling was not as great as I had hoped, but this may be highly CPU and compiler dependent. I will likely continue to dig deeper into this and keep on experimenting.

by Kohei Yoshida at December 13, 2019 02:24 AM

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