The Document Foundation Planet

 

May 21, 2019

Michael Meeks

2019-05-21 Tuesday

  • Mail chew, M. ill at home; picked up H. and Charlotte after an exam; built slides, poked projections. Lunch. Monthly mgmt call. Admin.

May 21, 2019 03:34 PM

Official TDF Blog

The Document Foundation and LibreOffice Online at OW2con 2019

OW2con 2019 is the annual open source event bringing together the OW2 community, technology experts, software architects, IT project managers and decision-makers from around the world. The conference will be hosted by the Orange Gardens Innovation Center, Paris-Châtillon, on June 12-13, 2019.

The central theme of OW2con 2019 is: “Open Source Toward Industry Maturity”. Indeed, with open source becoming mainstream, IT developers, vendors, users and even open source organisations such as OW2 have to adapt. Today, open source projects are becoming increasingly competitive and all IT developers, vendors and users must have an open source strategy.

During OW2con 2019, The Document Foundation and LibreOffice Online will be presented during two different talks:

  1. Breakout SessionAdding LibreOffice To Your Online Solution, managed by Michael Meeks (Collabora), Philippe Hemmel (Arawa) and Thorsten Behrens (CIB), on Wednesday June 12, from 1:45pm to 3:45pm.
    LibreOffice Online can be integrated into cloud solutions, as in the case of Nextcloud, ownCloud, Pydio and Seafile. The software is 100% open source and can be the perfect solution for GDPR issues in organizations. During the session it will be possible to get an overview of the application, and ask both technical and business-related questions.
  2. TalkIntroducing The Document Foundation, by Simon Phipps (TDF/OSI), on Thursday June 13, from 9:45am to 10:00am.
    The Document Foundation is one of OW2’s newest Affiliate organisations, and is a global charity based in Germany that works to promote open source productivity tools. Its flagship project, LibreOffice, is available across major desktop platforms and continues the fourth decade of impact from the code that started life as Star Writer on CP/M.

More information about OW2con 2019 are available on the event website: https://www.ow2con.org/view/2019/.

by Italo Vignoli at May 21, 2019 01:30 PM

May 20, 2019

Michael Meeks

2019-05-20 Monday

  • Out for a run, mail chew, pleased to see Lubos' improved script to render perf output in kcachegrind - mmerging a couple of cool tools. Picked up babes from school, customer calls until late.

May 20, 2019 09:00 PM

LibreOffice QA Blog

LibreOffice 6.3 Alpha1 is ready for testing

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

LibreOffice 6.3 will be released as final in mid August ( Check the Release Plan ) being LibreOffice 6.3 Alpha1 the first pre-release since the development of version 6.3 started in mid November, 2018. Since then, 6390 commits have been submitted to the code repository and more than 1050 bugs have been set to FIXED in Bugzilla. Check the release notes to find the new features included in this version of LibreOffice.

LibreOffice 6.3 Alpha1 is already available for downloading here, for Linux, MacOS and Windows.

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

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

Happy testing!!

Banner

by x1sc0 at May 20, 2019 04:54 PM

Luboš Luňák

Linux perf and KCachegrind

If you occassionally do performance profiling as I do, you probably know Valgrind's Callgrind and the related UI KCachegrind. While Callgrind is a pretty powerful tool, running it takes quite a while (not exactly fun to do with something as big as e.g. LibreOffice).

Recently I finally gave Linux perf a try. Not quite sure why I didn't use it before, IIRC when I tried it somewhen long ago, it was probably difficult to set up or something. Using perf record has very little overhead, but I wasn't exactly thrilled by perf report. I mean, it's text UI, and it just gives a list of functions, so if I want to see anything close to a call graph, I have to manually expand one function, expand another function inside it, expand yet another function inside that, and so on. Not that it wouldn't work, but compared to just looking at what KCachegrind shows and seeing ...

When figuring out how to use perf, while watching a talk from Milian Wolff, on one slide I noticed a mention of a Callgrind script. Of course I had to try it. It was a bit slow, but hey, I could finally look at perf results without feeling like that's an effort. Well, and then I improved the part of the script that was slow, so I guess I've just put the effort elsewhere :).

And I thought this little script might be useful for others. After mailing Milian, it turns out he just created the script as a proof of concept and wasn't interested in it anymore, instead developing Hotspot as UI for perf. Fair enough, but I think I still prefer KCachegrind, I'm used to this, and I don't have to switch the UI when switching between perf and callgrind. So, with his agreement, I've submitted the script to KCachegrind. If you would find it useful, just download this do something like:

$ perf record -g ...
$ perf script -s perf2calltree.py > perf.out
$ kcachegrind perf.out



by llunak (noreply@blogger.com) at May 20, 2019 02:18 PM

Official TDF Blog

Next C++ workshop: Binary Search Trees, 23 May at 18:00 UTC

Learn C++ features with the help of LibreOffice developers! We’re running regular workshops which focus on a specific topic, and are accompanied by a real-time IRC meeting. For the next one, the topic is Binary Search Trees. Start by watching this presentation:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

And check out the suggested EasyHacks.

Then join us for a discussion via our #libreoffice-dev IRC channel on Freenode. You can ask experienced LibreOffice developers questions, and learn more about the language. We look forward to meeting you!

by Mike Saunders at May 20, 2019 01:14 PM

May 19, 2019

Michael Meeks

2019-05-19 Sunday

  • All Saints; Fraser & Evelyn over for lunch, Frankie, Dorinda & daughter over for afternoon tea, lovely.

May 19, 2019 09:00 PM

May 18, 2019

Michael Meeks

2019-05-18 Saturday

  • Slugged in the morning, mail check, bit of Maths revision with H. Lunch. David over, out for a walk along a different stretch of a nearby (Devils) Dyke. Tea together, talked until late while the babes watched a movie.

May 18, 2019 09:00 PM

May 17, 2019

Michael Meeks

2019-05-17 Friday

  • Hacking on fixing a few issues, builds, customer call until rather late.

May 17, 2019 09:00 PM

May 16, 2019

TDF Infrastructure Status

Network hiccups at the datacenter

High packet loss ratio at the datacenter (or its upstream carriers) causes slowdown and service disruption. (Possibly depending on the IP protocol version and route taken.)

by The Document Foundation's Infrastructure Status at May 16, 2019 03:15 PM

Official TDF Blog

Month of LibreOffice, May 2019 – half way through!

It’s the Month of LibreOffice, and we’re awarding sticker packs – and the chance to win cool mugs – to all contributors in the project! On this page we’re maintaining a list of names/usernames for people who’re helping out, and everyone there can claim a sticker pack at the end! We’ll also choose 10 people at random to get one of the mugs. So, how many packs have been awarded so far?

But there are still two weeks to go, so if your name isn’t there, check below to see how you can get involved! Many tasks only take 10 or 20 minutes, but make a big difference to the project. (And if you have already contributed this month, but your name isn’t there, email us with details and we’ll look into it.)

How to take part

There are many ways you can help out – and you don’t need to be a developer. For instance, you can be a…

  • Handy Helper, answering questions from users: over on Ask LibreOffice there are many users looking for help with the office suite. We’re keeping an eye on that site so if you give someone useful advice, you can claim your shiny stickers.
  • First Responder, helping to confirm new bug reports: go to our Bugzilla page and look for new bugs. If you can recreate one, add a comment like “CONFIRMED on Windows 10 and LibreOffice 6.2.3”. (Make sure you’re using the latest version of LibreOffice!)
  • Drum Beater, spreading the word: tell everyone about LibreOffice on Twitter or Mastodon! Just say why you love it or what you’re using it for, add the #libreoffice hashtag, and at the end of the month you can claim a sticker. (We have a maximum of 100 stickers for this category, in case the whole internet starts tweeting/tooting!)
  • Globetrotter, translating the user interface: LibreOffice is available in a wide range of languages, but its interface translations need to be kept up-to-date. Or maybe you want to translate the suite to a whole new language? Get involved here.
  • Code Cruncher, contributing source code: The codebase is big, but there are lots of places to get involved with small jobs. See our Developers page on the website and this page on the wiki to get started. Once you’ve submitted a patch, if it gets merged we’ll send you a sticker!
  • Docs Doctor, writing documentation: Another way to earn a badge is to help the LibreOffice documentation team. Whether you want to update the online help or add chapters to the handbooks, here’s where to start.

So dive in, get involved and help make LibreOffice better for millions of people around the world – and enjoy your sticker as thanks from us. We’ll be posting regular updates on this blog and our Mastodon and Twitter accounts over the next four weeks!

by Mike Saunders at May 16, 2019 09:22 AM

May 15, 2019

Official TDF Blog

Annual Report 2018: The Document Foundation

Every year, The Document Foundation produces an Annual Report, detailing its activities in the projects and community. We’ll be posting parts of it here on the blog, while we prepare a final printed version…

Election of TDF Chairperson and Deputy

In February, the Board of Directors of The Document Foundation – during its first meeting of the new term – confirmed Marina Latini in the role of Chairwoman, and appointed Björn Michaelsen to the role of Deputy Chairman.

Marina said: “Our project is growing fast with contributors from several countries, and we need to focus much more on lowering the barriers to being a really welcoming community. I would like our community to become as inclusive as possible, and never leave out those who, just in appearance, look different to us. Openness is a state of mind.”

Björn, who had previously served as a Deputy on the Board, added: “I am encouraged to see strong contributors to the project as new candidates in this election, and hope to share the duty of serving with them, together providing a strong and reasonable voice of independent and unaffiliated input in the Board. Ultimately, I hope after this one last term I can confidently leave TDF’s Board with many new diverse and independent voices in all parts of the project and foundation, and retire back to spending my contributions more on – for instance – the source code again.”

New Advisory Board member

In May, TDF announced that BPM-Conseil, a company focused on open source business intelligence and based in Lyon (France), had joined the project’s Advisory Board. BPM-Conseil will develop the integration of LibreOffice with its business intelligence solutions Aklabox and Vanilla, and also create business intelligence-related extensions for LibreOffice.

BPM-Conseil is focused both on development of open source business intelligence solutions and on the related consultancy and integration activities. The company has a large roster of clients in France, such as the Ministries of Environment, Energy and Sea, Lyon Metropole, Nimes Metropole and City, La Rochelle Agglomeration, Haute and Basse Normandie, the Aveyron Department, and the University of Corsica.

Tenders

In 2017, TDF launched four tenders aimed at sharing knowledge about improving LibreOffice in several strategic areas, where the tasks are beyond the capabilities of independent volunteer developers. In 2018, companies selected to implement two of the tenders reported back on their work.

Firstly, Collabora was selected for the tender “improve image handling in LibreOffice (#201705-01)”. A new image life-cycle was developed, with simpler memory management for handling images and new swapping strategy. The results were incorporated into the LibreOffice 6.1 release – and a more detailed technical description of the work is on the blog, in order to share knowledge and experience from this project with the developer community and the general public.

The second tender, “implement HSQLDB binary format import in LibreOffice (#201705-03)”, was also assigned to Collabora and implemented by Tamás Bunth. He developed a mechanism to import database files with high fidelity from the HSQLDB binary file format, used by many existing ODB files, by reading the Java serialization code, and writing a filter to import all data into LibreOffice Base. The objective was to remove the legacy Java/HSQLDB database and to simplify the move to Firebird. More details are provided here.

Highlights of activities

Throughout the year, TDF supported initiatives and campaigns from other organisations that promote free and open source software. For instance, in February, we joined “I love Free Software Day”, a campaign by the Free Software Foundation Europe (FSFE). As they explain: “We should remember the power of a simple ‘thank you’ to motivate Free Software contributors in their important work for society. And the 14th of February is the ideal day to do that.”
March 27 was “Document Freedom Day 2018”, a campaign about open standards and document formats, aimed at non-technical people. The goal is to make regular users more aware of interoperability issues, and the importance of storing documents (and indeed any kind of data) in open and standardised formats. This helps users to avoid vendor lock-in, giving them more freedom to use the software they want – and this is also important for governments, companies and organisations.

In September, we joined the “International Day against DRM”. DRM, or Digital Rights Management, is a set of access control technologies for restricting the use of proprietary hardware and copyrighted works, by controlling the use, modification, and distribution of copyrighted works. Instead of educating users, companies prefer to restrict them from exercising their legal rights under the copyright law.

DRM is an epidemic spreading across the web, infiltrating homes, classrooms, workplaces, and just about everywhere else users can go. Tools, technologies, books, games, movies, and music are coming to us locked down with DRM, whether they are streaming or claim to be locally hosted. TDF supports the International Day Against DRM as part of its daily fight to make content sharing available to all individuals, and to educate them to adopt open standards to foster innovation.

Document Liberation Project

TDF also hosts and supports the Document Liberation Project (DLP), a sister project of LibreOffice, which fosters the development of software libraries that can import and export data in many different file formats. DLP libraries are used by many free and open source software projects, such as Inkscape, Scribus and LibreOffice, and help users to get control of their data – especially from old and proprietary file formats. In 2018, new libraries were added to the DLP project and the community produced videos encouraging people to contribute. Learn more about DLP in this quick video:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

This was all possible thanks to your generous donations – support us today!

by Mike Saunders at May 15, 2019 12:48 PM

Miklos Vajna

Importing charts from DOCX drawingML group shapes in Writer

https://lh3.googleusercontent.com/Jw_BHWWDubfGASjfFszFu6q9VRXaELjjLun974YCt7pQv3P-WIKqkISu5GHwTNndCHi8jGqv_FvYTZFXdWfxASIzXbgw0Et-7rAQZ3LzxA5Ntxx0GTxRH3y4m3hOYVLMKAyXtCQECQ=w640
Figure 1. Chart in drawingML group shape in DOCX, imported into Writer

Years ago I posted about a large rework to where Collabora helped a customer to make Writer read the drawingML markup for DOCX shapes. You can read the various benefits of this switch in that article — but similar to other large reworks, this also broke some previously working corner-cases, where test coverage lacked.

One of these is charts in group shapes. This needs explicit handling, as Writer normally handles charts as TextEmbeddedObjects, while code that imports charts from OOXML is not specific to Writer. The fix just tells the generic drawingML import to use a Writer-specific service name for the charts.

This is available in LibreOffice master (towards 6.3).

by Miklos Vajna at May 15, 2019 07:29 AM

May 14, 2019

Muhammet Kara

Recap: FOSDEM19

Brussels in the night

This year’s FOSDEM (Free and Open source Software Developers’ European Meeting) has been held in in the beautiful city of Brussels (Belgium), as usual, on February 2 & 3, 2019. It was organised by volunteers to promote the widespread use of free and open source software..

This was my first FOSDEM as a deputy member of the MC, and a fresh member of the Collabora team.

I will try to give some information about my talks, and share my experience.

TDF Meetings, LibreOffice Hackfest & LibreOffice Dinner…

The first 2 days was spent on the LibreOffice Hackfest, MC & BoD joint meetings. Seeing all friends face to face was a pleasure. We discussed some important matters face to face, and had a great time together.

Did some work on the LibreOffice themes, and discovered the ugly truth of major Mozilla API change.

We also had a community night/dinner with the LibreOffice community members on Saturday. Had pleasant chats with many friends, and a nice ‘kosher/halaal’ meal with Lior (thank you again!).

It was also a nice adventure, chasing Indian/Eastern/Asian tastes with Mike. :)

The Hotel

This year, I stayed with the pack in Bedford. Its location is perfect, but you may feel the building’s age. (In good & bad ways.) I had the first night with a semi-functional heater in the room. Not very pleasant, considering the winter of Brussels. Next day they gave a second portable heater -yay! :)-, and I survived with those.

The Talks

Talk 1: Resurrecting Mozilla Themes for LibreOffice

Past, present, and the future of LibreOffice’s Personalization dialog.

LibreOffice has had the ability to use Mozilla Themes (Personas) for some time (Tools > Options > Personalization); but it kept breaking all the time, and never had an acceptable UX. Also tons of errors/warnings, and very slow search and apply processes almost brought it to the point of being killed for good. But I couldn’t let it die, started looking into the related code and the bug reports. Now it has a better UX/UI, and got most annoying bugs/crashers fixed, and is much faster.

I tried to present a summary about the journey so far, and the plans for the future.

Talk 2: Document Redaction with LibreOffice

Redaction in its sanitization sense (as distinguished from its other editing sense) is the blacking out or deletion of text in a document, or the result of such an effort. It is intended to allow the selective disclosure of information in a document while keeping other parts of the document secret. Typically the result is a document that is suitable for publication or for dissemination to others than the intended audience of the original document. For example, when a document is subpoenaed in a court case, information not specifically relevant to the case at hand is often redacted. Another example is patient information of hospitals, which is distributed to be used for research purposes.

A new document redaction feature for Collabora Office is being developed, and it will also be available on the next major version of LibreOffice. This new feature will provide a much more efficient means than the traditional print-redact-scan process, and will try to prevent also the accidental leakage of redacted information by completely removing them in the resulting PDF document, rather than just hiding.

Overall

Again a good use of time, full of experience sharing with fellow FLOSS developers, and community members.

Looking forward to the next FOSDEM! :)

by Muhammet Kara (muhammetk@gmail.com) at May 14, 2019 06:15 PM

Official TDF Blog

Sophie Gautier talks about the project

You are one of the people who have been around from the beginning of The Document Foundation, and one of the oldest members of the community (including the years of OpenOffice.Org). How were you involved in the project?

I was using StarOffice 5.2 and was contributing support on the French speaking users list. When Sun Microsystems was about to open source the code and create the OpenOffice.org project, they invited me to join and support the community. From there, I’ve been involved in various tasks like localization, quality assurance or documentation.

We are getting close to the 10th anniversary of the LibreOffice project, and the 20th anniversary of the FLOSS office suite. Which are the milestones of this long history?

I may not remember all of them, but I guess the creation of the Native Language projects with the French speaking one as a Proof of Concept in 2001. Then the many community supported projects such as marketing, documentation, etc.

And then of course, the birth of the LibreOffice project. Since then I’ve the impression that each year is a milestone ;-)

There have been so many exciting things to do in each corner of the project. The community is pushing a lot of good ideas and energy. Considering the work done on QA, UX/Design and marketing for the product or the community, the new help system and the size of our infra, we have achieved more than we could even imagine ten years ago!

You have been involved in the localization of the software since the very first version, and now you are coordinating the activity of native language projects. Can you talk about the localization activity?

Localization is a complicated task, and sometime tedious. LibreOffice is a big software with thousands of different strings. Localization happens at the end of the software making process, so the workload depends on development, UX/Design and marketing projects.

Recently, there have been changes on the strings format for almost the entire interface of each module, on the help system and more and more marketing activities. Each localization member should be very proud of his/her work.

We want to cover more languages because localization is a way to preserve those languages, preserve the local culture and give all users the opportunity to express themselves in their own language. This is where my activities lie: understand the needs of localizers, voice their concerns, update the workflow and try to make them happy to translate the different projects.

You have been a member of the team for almost six years, with a number of different responsibilities. From your point of view, how well did the project during this time?

Happy to say: fairly well :-) The task was not easy but I believe we are doing right. Some people would like to see more things happening, or the project going faster or further. But we are a diverse community with different cultures, different business or occupations and different time zones!

We need to keep people together on the same path, to preserve the soul of the project. It’s not easy to keep an eye on the horizon on a daily basis, but our directors are doing that since the beginning and they are doing it very well if you look at the foundation’s results.

I can see my colleagues of the team working hard on each critical part of the production process, and at the same time taking care of the community, trying to answer end user questions and help independently from what they have on the table. I’m proud and very happy to be part of this team, and happy to see how mature the foundation has became. Every day I’m learning something new, either from them or from the community. I’m thankful for that :)

With the growth of the project and the community, you are now moving to the position of Foundation Coordinator. Can you describe this role?

I’m taking care of several foundation activities, like helping to organize LibOCon and Advisory Board meetings, and handling several administrative tasks. I’m also directly involved in L10n/NL, marketing and certification projects.

I follow what is happening in other parts of the project, and try to bring my help and my knowledge where needed. For example, when the work began on the UX, I helped the team with my knowledge of the product and its philosophy.

The change will happen mainly in the administrative parts, where an assistant will be hired by the foundation. That should leave me more time to push some projects we want to put in place, like the travel support program, Open Badges, moving to another translation tool, etc.

Looking at the next decade, which are the top challenges for LibreOffice?

One of the most important challenges for open source projects is to make the community of volunteers and ecosystem participants thrive. Our developers are securing this by constantly enhancing tools and processes, but at the same time users and contributors are evolving, and we need to reinvent ourselves almost every day. This also means to re-evaluate processes and tools, looking at them in perspective.

Last, but not least, the product has to further evolve according to changes in the market, and we have to invest to make the online version more popular amongst users and increase the number of adoptions and contributions to the project.

by Italo Vignoli at May 14, 2019 03:01 PM

May 07, 2019

LibreOffice QA Blog

QA Report: April 2019

General Activities

  1. LibreOffice 6.2.3 was released on April 18, 2019
  2. László Németh (NISZ) fixed the Autocorrect capitalization of the English i’m
  3. László Németh (NISZ) continues his work with pasting table from Calc to table in Writer. Now Calc table with hidden rows pastes in Writer table without these rows
  4. Grzegorz Araminowicz (Collabora) improved SmartArt interoperability
  5. Stephan Bergmann added support for JRE installations with unknown java vendor
  6. Andreas Kainz ended update Sifr icon theme. Some review and feedback are welcome
  7. Heiko Tietze implemented a nice Tip-of-the-Day dialog that is prompted when LibreOffice is launched.
  8. Miklos Vajna (Collabora) has fixed many OpenGL bugs
  9. Mike Kaganski (Collabora) has fixed some Pivot table interoperability problems when import/export them into XLSX format
  10. Using the new Windows bibisect repo for 4.3 created by Cloph, Buovjaga was able to solve many old regression mysteries
  11. Gábor Kelemen (NISZ) closed many reports as duplicates, Chart issues in particular
  12. Noel Grandin (Collabora) improved different opening/saving performance hotspots for some documents in Writer, like documents with lots of bookmarks. Buovjaga decided to profile dozens of existing file saving issues just in case.
  13. Noel Grandin (Collabora) improved the opening time of different documents in Calc.
  14. Xisco Fauli found many crashes ( many of which are already fixed ) using UITests for mass testing
  15. Telesto and Buovjaga wrote instructions for Windows performance tracing using UiforETW
  16. New contributor Tasanim Mulla continued to do significant contributions in the area of confirming bugs
  17. Miklos Vajna (Collabora) keeps working on improving btLr text direction
  18. Tomaž Vajngerl (Collabora) has fixed some bugs affecting macOS
  19. Tamás Zolnai (Collabora) implemented Interoperable text-based form controls
  20. Muhammet Kara (Collabora) disabled the Firefox theme search
  21. Michael Stahl (CIB) added Undo for ToX Update

Reported Bugs

580 bugs, 63 of which are enhancements, have been reported by 339 people.

Top 10 Reporters

  1. Xisco Faulí ( 31 )
  2. andreas_k ( 31 )
  3. Mike Kaganski ( 19 )
  4. NISZ LibreOffice Team ( 16 )
  5. Andreas Gruhler ( 15 )
  6. Roman Kuznetsov ( 9 )
  7. Buovjaga ( 9 )
  8. Aron Budea ( 8 )
  9. Heiko Tietze ( 8 )
  10. Patrick Jaap ( 7 )

Triaged Bugs

585 bugs have been triaged by 87 people.

Top 10 Triagers

  1. Xisco Faulí ( 130 )
  2. Heiko Tietze ( 39 )
  3. Dieter Praas ( 31 )
  4. Buovjaga ( 30 )
  5. V Stuart Foote ( 25 )
  6. raal ( 25 )
  7. Roman Kuznetsov ( 24 )
  8. Oliver Brinzing ( 24 )
  9. Aron Budea ( 23 )
  10. mulla.tasanim ( 22 )

Resolution of Resolved bugs

520 bugs have been set to RESOLVED.

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

Fixed Bugs

231 bugs have been fixed by 42 people.

Top 10 Fixers

  1. Caolán McNamara ( 31 )
  2. Mike Kaganski ( 17 )
  3. andreas kainz ( 14 )
  4. Noel Grandin ( 14 )
  5. Miklos Vajna ( 13 )
  6. Tor Lillqvist ( 10 )
  7. Tomaž Vajngerl ( 8 )
  8. Michael Stahl ( 8 )
  9. László Németh ( 5 )
  10. Balazs Varga ( 5 )

List of critical bugs fixed

  1. tdf#109376 Crash after accepting all changes from compared documents ( Thanks to Michael Stahl )
  2. tdf#120754 Crashes on UNDO ( Thanks to Caolán McNamara )
  3. tdf#123502 crash: use of “com.sun.star.ui.dialogs.FolderPicker” crashes ( Thanks to Mike Kaganski )
  4. tdf#123747 digital signatures from 6.1 and 6.2 ivalidate each other ( Thanks to Miklos Vajna )
  5. tdf#124413 Crash on undo / redo in Basic IDE ( Thanks to Noel Grandin )
  6. tdf#124440 IDE & Calc crash opening Breakpoint Management (gen) ( Thanks to Caolán McNamara )
  7. tdf#124586 Crash if switch from user outline numbering to chapter numbering with same paragraph style ( Thanks to Michael Stahl )
  8. tdf#124828 FILEOPEN XLS Crash with large spreadsheet ( Thanks to Luboš Luňák )

List of crashes fixed

  1. tdf#113834 FILESAVE Crashes when saving remotely when service host is empty ( Thanks to Julien Nabet )
  2. tdf#122172 OOoSpotlightImporter causes mdworker to crash repeatedly. ( Thanks to Tomaž Vajngerl )
  3. tdf#122780 FILEOPEN DOCX Crash with too long Template tag in app.xml ( Thanks to Caolán McNamara )
  4. tdf#124384 LO shouldn’t crash when opening DOCX (even if MSO cannot open or warns about unreadable content) ( Thanks to Serge Krot )
  5. tdf#124635 CRASH: Opening file on Linux ( Thanks to Stephan Bergmann )
  6. tdf#124652 gtk3_kde5: Hang/crash when using folderpicker from Java extension ( Thanks to Michael Weghorn )
  7. tdf#124693 Crash when modifying chart data range with mouse selection ( Thanks to Caolán McNamara )
  8. tdf#124698 CRASH: closing authentication dialog after LibreOffice ( Thanks to Caolán McNamara )
  9. tdf#124722 CRASH: after pasting, if deleting more text than fits on a page ( Thanks to Michael Stahl )
  10. tdf#124730 Writer Crashes when Creating New Style ( Thanks to Caolán McNamara )
  11. tdf#124778 View – Comments causes crash ( Thanks to Noel Grandin )
  12. tdf#124815 CRASH: inserting a column ( Thanks to Noel Grandin )
  13. tdf#124818 CRASH: selecting all and switching spreadsheet ( Thanks to Noel Grandin )
  14. tdf#124822 CRASH: cutting and undoing ( Thanks to Noel Grandin )
  15. tdf#124896 CRASH: deleting sheet ( Thanks to Noel Grandin )
  16. tdf#124918 iOS App Crashes with Invalid Template URL ( Thanks to Tor Lillqvist )
  17. tdf#124980 Crash when defining a range ( Thanks to Caolán McNamara )
  18. tdf#125030 nice crash by repeating apply style (Ctrl+Shft+Y) ( Thanks to Mike Kaganski )

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

  1. tdf#38703 Indexe(s) ‘Update’ or change deletes ‘undo – redo’ stack ( Thanks to Michael Stahl )
  2. tdf#43309 sc.ScCellRangeObj::com::sun::star::chart::XChartData::addChartDataChangeEventListener() RuntimeException ( Thanks to Jens Carl )
  3. tdf#67207 FILESAVE saving as .DOCX replaces MailMerge fields with the “” ( Thanks to László Németh )
  4. tdf#67629 FILEOPEN Particular .xlsx hangs Spreadsheet & pegs a core ( Thanks to Noel Grandin )
  5. tdf#70838 FILESAVE: doc: wrong size and position exporting rotated objects ( Thanks to Regina Henschel )
  6. tdf#81765 FILEOPEN: slow loading in minutes of .ods and .xlsx with >1000 of conditional formats, also dump ( Thanks to Noel Grandin )
  7. tdf#82009 PIVOTTABLE: Black color on fields of Pivot Table Layout window (Mac OS X only) ( Thanks to Tomaž Vajngerl )
  8. tdf#85482 FILESAVE/FILEOPEN: very slow loading of .ODS saved from .XLSX ( Thanks to Noel Grandin )
  9. tdf#89522 PERF FILEOPEN xlsx: Excel 30s, Calc 10 min ( Thanks to Noel Grandin )

WORKSFORME bugs

84 bugs have been retested by 37 people.

Top 10 testers

  1. Buovjaga ( 17 )
  2. Xisco Faulí ( 14 )
  3. andreas_k ( 5 )
  4. Heiko Tietze ( 4 )
  5. eisa01 ( 3 )
  6. Dieter Praas ( 3 )
  7. Timur ( 3 )
  8. Aron Budea ( 3 )
  9. Roman Kuznetsov ( 3 )
  10. Alex Thurgood ( 3 )

DUPLICATED bugs

118 bugs have been duplicated by 39 people.

Top 10 testers

  1. Xisco Faulí ( 22 )
  2. Buovjaga ( 13 )
  3. Gabor Kelemen ( 10 )
  4. Heiko Tietze ( 7 )
  5. Aron Budea ( 6 )
  6. V Stuart Foote ( 6 )
  7. Roman Kuznetsov ( 5 )
  8. Michael Weghorn ( 5 )
  9. Mike Kaganski ( 4 )
  10. Regina Henschel ( 3 )

Verified bug fixes

90 bugs have been verified by 11 people.

Top 10 Verifiers

  1. Xisco Faulí ( 57 )
  2. Buovjaga ( 10 )
  3. Roman Kuznetsov ( 6 )
  4. Harald Koester ( 4 )
  5. Vera Blagoveschenskaya ( 4 )
  6. Dieter Praas ( 3 )
  7. Aron Budea ( 3 )
  8. Michael Weghorn ( 1 )
  9. Julien Nabet ( 1 )
  10. Kevin Suo ( 1 )

Categorized Bugs

701 bugs have been categorized with a metabug by 26 people.

Top 10 Categorizers

  1. Roman Kuznetsov ( 499 )
  2. Dieter Praas ( 26 )
  3. Aron Budea ( 24 )
  4. Thomas Lendo ( 23 )
  5. Buovjaga ( 21 )
  6. andreas_k ( 20 )
  7. Xisco Faulí ( 19 )
  8. NISZ LibreOffice Team ( 15 )
  9. V Stuart Foote ( 14 )
  10. Phil Krylov ( 11 )

Regression Bugs

99 bugs have been set as regressions by 23 people.

Top 10

  1. Xisco Faulí ( 40 )
  2. Buovjaga ( 13 )
  3. raal ( 7 )
  4. Roman Kuznetsov ( 6 )
  5. Oliver Brinzing ( 4 )
  6. Aron Budea ( 3 )
  7. Dieter Praas ( 3 )
  8. Alex Thurgood ( 3 )
  9. NISZ LibreOffice Team ( 3 )
  10. Cor Nouws ( 3 )

Bisected Bugs

94 bugs have been bisected by 10 people.

Top 10 Bisecters

  1. Xisco Faulí ( 43 )
  2. Buovjaga ( 19 )
  3. raal ( 13 )
  4. Aron Budea ( 6 )
  5. Oliver Brinzing ( 5 )
  6. NISZ LibreOffice Team ( 3 )
  7. Mike Kaganski ( 2 )
  8. Alex ARNAUD ( 1 )
  9. Roman Kuznetsov ( 1 )
  10. grahamknight11 ( 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 May 07, 2019 05:12 PM

May 05, 2019

TDF Infrastructure Status

Connectivity issues at the datacenter

Our provider is experiencing connectivity hiccups, affecting the reachability of our services (depending on the route taken).

by The Document Foundation's Infrastructure Status at May 05, 2019 06:45 PM

May 04, 2019

LibreOffice Design Blog

Formatted dummy text

The work around user experience often requires to create a minimal working example. Either users report an issue or request enhancements, the comparison with the current situation is necessary. LibreOffice has a built-in feature to create dummy text (type dt and press F3) but this function inserts only unformatted text.…

by Heiko Tietze at May 04, 2019 09:55 AM

April 30, 2019

Andreas Kainz

Contextual Single

On vecation I ordinary have the best ideas. So this time I made an single line contextual toolbar for writer.

ContextualSingle.PNG

It’s how the single line toolbar should look like. One toolbar which is fully contextual. As one toolbar didn’t have that much space, you have the menubar for all available commands in LibreOffice.

It’s the most compact LibreOffice UI done on my smal Laptop screen (1366 x 768 px). But Contextual single work not only on small screens it’s flexible and suites all screen sizes.

contexts.png

Context Standard, Table, Image, Shape

If you’d like to test contextual single download the daily master build, enable experimental features (Menubar -> Tools -> Configure -> Advanced -> Enable experimental features) and change in Writer Menubar -> View -> User Interface -> Contextual Single.

To test download the daily build
https://dev-builds.libreoffice.org/daily/master/Win-x86@39/current

I broke the linux builds but now daily build for linux is available to check out the context single layout

https://dev-builds.libreoffice.org/daily/master/Linux-rpm_deb-x86@87-TDF/current

by kdeonlinux at April 30, 2019 07:36 AM

April 29, 2019

Olivier Hallot

New Help: Copy BASIC and PYTHON code to Clipboard on a Click

The next release for LibreOffice will have a small but handy improvement for every macro developer, either experienced or beginner.

Hover the mouse on BASIC and Python code in the new Help pages and a tip shows that when you click your mouse, the code exerpt is copied in the system clipboard. You can paste in the BASIC IDE (Integrated Development environment) or any other text application in your system.



With this little feature, you save time of typing the exerpt to test in your IDE or document. Another alternative was to use a collateral file, however, collateral files with embedded macros is likely to trigger security warnings in most LibreOffice installations. Just copying the fragment is easier.

Happy Basic macro programming!
Happy Python macro programming!

by Olivier Hallot (noreply@blogger.com) at April 29, 2019 01:07 PM

Mike Kaganski

XLSX interoperability: pivot tables-related improvements

Recently we at Collabora Productivity have made some substantial improvements to XLSX interoperability related to pivot tables, fixing many issues existed in Calc.

Personally I have committed these patches:

These changes allow our customers, and the whole LibreOffice user community, to enjoy better interoperability when using XLSX format. They will be available in LibreOffice version 6.3 later this summer; and they are immediately available for our customers in this week’s Collabora Office 6.0 update 28.

Thanks to our valuable customers who make these improvements possible funding the work!

by mikekaganski at April 29, 2019 08:21 AM

April 25, 2019

Andreas Kainz

Bugfixing [done]

Great Icon bugs get fixed!

LibreOffice do organize the bugs into [META] bugs, which is great cause when you link the bug to different [META] bugs you can organize bugfixing over different groups. I care about BUG 106228 which is the Icon meta bug and as you can see most of the icon bugs need developer work. Everything I could fix myself is nearly done.

There are two bigger tasks, but with great effort open

1. svg support for icons bug 124940

All main icon themes are available in svg, but the svg2png libreoffice renderer give bad quality, so we have to ship the png icons. If we could use the svg icons instead of the png, it mean less work for the designers and the posibility to have color scheme support for icons. 100% dark icon theme support and full color support. What a great improvement.

2. language support bug bug 124956

We have colibre, elementary, breeze, sifr, tango icon theme therefore the design group did the icons, some icons like bold, italic, strickout, underline, overline, … have letters which work fine for english users but had to be drawen for other languages. But to know which letter should be used we need the translation team so translation team please submit an bug report for each language and add at depends on 124956, than we will do the icon work.

Result

Colibre, elementary, sifr, breeze will be in an good shape for the 6.3 release, but to fix the last bugs, we need developers, translation team, documentation team, … everybody in one team.

by kdeonlinux at April 25, 2019 01:21 PM

April 18, 2019

Andreas Kainz

menubar updates [updated]

The LibreOffice guidelines say that you should show icons on the most important items https://wiki.documentfoundation.org/Design/MenuBar

Screenshot_20190418_183703.png

Now the menubar show only the most important items so the user didn’t flash with icons, the user get an better overview of the menubars.

happy hacking.

by kdeonlinux at April 18, 2019 04:38 PM

>Marius Popa Adrian

Xubuntu 19.04: The Exhaustive Update

Xubuntu 19.04: The Exhaustive Update #Xubuntu #Xfce #DiscoDingo https://bluesabre.org/2019/04/18/xubuntu-19-04-the-exhaustive-update/

by Popa Adrian Marius (noreply@blogger.com) at April 18, 2019 08:24 AM

April 15, 2019

Miklos Vajna

btLr text direction in Writer, part 2

I already wrote about the btLr text direction in the context of Writer table cells as a result of a Collabora hack week. This is meant to be an update to present what happened in the past 2 months. Here is a video showing the results:

Figure 1. Before / after screen recording for the below mentioned changes

I fixed the following problems since the last blog post on this topic:

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

by Miklos Vajna at April 15, 2019 07:13 AM

April 08, 2019

Andreas Kainz

menubar updates

Every powerfull text editor like, kate, sublime, notepad++, VS Code, … has it the menubar. Now even better in LibreOffice.

MenubarUpdates

Items with subgroups were arranged at the end of groups , so it’s faster to read the menubar and the groups are between 3-4 items. Tiny changes with big effort.

If you like my work, become a downloads_wordmark_white_on_coral2x.jpg

by kdeonlinux at April 08, 2019 10:19 PM

icons everywhere

All items in the menubar have now an icon. Some items are missing tdf#124200 but in general all commands will show an icon in the menubar.

Icons Everywhere

For 6.3 all supported icon themes will have the new icons. Now you can check them out in Sifr (which is complete new for 6.3 release).

If you like my work, become a downloads_wordmark_white_on_coral2x.jpg

by kdeonlinux at April 08, 2019 10:10 PM

April 04, 2019

LibreOffice QA Blog

QA Report: March 2019

General Activities

  1. Libreoffice 6.2.1 and LibreOffice 6.2.2 were released
  2. Heiko and Roman Kuznetsov killed the more controls toolbar
  3. Roman Kuznetsov continues to sort the bugs by META (total about 2000 bugs for last 4 month)
  4. Dennis Francis (Collabora) added new Fourier analysis tool to Data→Statistics
  5. Andras Timar (Collabora) puts in order the info about licenses
  6. Andreas Kainz made huge Sifr icon theme update
  7. Jan-Marek Glogowski fixed some Qt5 bugs
  8. Several students tried to fix some Easy Hacks before GsoC in LibreOffice starts
  9. Katarina Behrens (CIB) has fixed many KDE5/Qt bugs
  10. The total number of open KDE-related reports dropped to under 50
  11. Luboš Luňák (Collabora) and Miklos Vajna (Collabora) have fixed some OpenGL bugs
  12. Laurent Alonso made many changes in libetonyek library (parser for the file format of Apple iWork documents)
  13. Roadmap for personal growth in QA was created
  14. Jens Carl made nearly 70 commits related to the Java tests to C++ conversion effort
  15. Noel Grandin (Collabora) discovered that some performance issues involving large tables had been fixed and then proceeded to optimise the code further. He also fixed some other performance issues during the month
  16. Miklos Vajna (Collabora) continues improving smartart support
  17. Saurav Chirania wrote a nice post about things to know if you are a new LibreOffice contributor
  18. Eike Rathke (Ret Hat) and Dennis Francis (Collabora) fixed a bunch a formula recalculation problems

Reported Bugs

680 bugs, 69 of which are enhancements, have been reported by 417 people.

Top 10 Reporters

  1. Nicolas Christener ( 38 )
  2. NISZ LibreOffice Team ( 22 )
  3. Mike Kaganski ( 16 )
  4. Telesto ( 16 )
  5. Roman Kuznetsov ( 9 )
  6. Samuel Mehrbrodt (CIB) ( 9 )
  7. Aron Budea ( 8 )
  8. Olivier Hallot ( 8 )
  9. Tor Lillqvist ( 7 )
  10. laurent.terrosi ( 7 )

Triaged Bugs

687 bugs have been triaged by 93 people.

Top 10 Triagers

  1. Xisco Faulí ( 165 )
  2. Oliver Brinzing ( 46 )
  3. Alex Thurgood ( 44 )
  4. Dieter Praas ( 40 )
  5. Aron Budea ( 35 )
  6. raal ( 29 )
  7. Andras Timar ( 29 )
  8. V Stuart Foote ( 26 )
  9. Julien Nabet ( 22 )
  10. Roman Kuznetsov ( 21 )

Fixed Bugs

201 bugs have been fixed by 51 people.

Top 10 Fixers

  1. Caolán McNamara ( 24 )
  2. Miklos Vajna ( 9 )
  3. Tor Lillqvist ( 9 )
  4. Michael Stahl ( 8 )
  5. László Németh ( 6 )
  6. Luboš Luňák ( 6 )
  7. Katarina Behrens ( 6 )
  8. Julien Nabet ( 6 )
  9. Noel Grandin ( 5 )
  10. Mike Kaganski ( 5 )

List of critical bugs fixed

  1. tdf#121439 PRINTING Crash when calling a print configuration dialog if selected cell range while several print areas are defined across multiple sheets ( Thanks to Luboš Luňák )
  2. tdf#121949 Crash in: libsclo.so Copy block of cells to clipboard with focus on non-selected cell ( Thanks to Luboš Luňák )
  3. tdf#123446 Writer crashes after undoing + redoing ToC insertion in middle of word ( Thanks to Michael Stahl )
  4. tdf#123479 Crash in: ScFormulaResult::GetMatrixFormulaCellToken() ( Thanks to Luboš Luňák )
  5. tdf#124112 Insert drawing object in chart crashes LibreOffice ( Thanks to Noel Grandin )

List of crashes fixed

  1. tdf#122543 Crash after device was put into “stand by” mode ( Thanks to Tor Lillqvist )
  2. tdf#122544 Crash when tunneled dialog is open and document is closed ( Thanks to Tor Lillqvist )
  3. tdf#123547 Systematic crash after opening Tools > Chapter Numbering ( Thanks to Julien Nabet )
  4. tdf#123637 Crash when Navigate By Headings search wraps from end to beginning of file ( Thanks to Michael Stahl )
  5. tdf#123694 crash: Not possible to set Y error bars in Cell range ( Thanks to Caolán McNamara )
  6. tdf#123742 Creating two documents from template in the same “session” leads to crash ( Thanks to Tor Lillqvist )
  7. tdf#123745 kde5: Writer: Closing “Insert” -> “Section” dialog leads to crash ( Thanks to Michael Stahl )
  8. tdf#123950 Inserting an envelope crashes upon choosing Format>Edit>Character in dialog box ( Thanks to Caolán McNamara )
  9. tdf#124162 Crash when trying to accept changes ( Thanks to Henry Castro )
  10. tdf#124168 Crash when inserting table of content ( Thanks to Tor Lillqvist )
  11. tdf#124211 Crash when pasting a sheet containing a 3D object ( Thanks to Julien Nabet )
  12. tdf#124226 LibreOffice crashes / hangs traversing page dialog with the keyboard ( Thanks to Caolán McNamara )
  13. tdf#124319 Crash when starting Writer and Manage Changes dialog was left open ( Thanks to Caolán McNamara )
  14. tdf#124410 FORMATTING: Crash in libcuilo.so formatting range containing cells with diagonal borders ( Thanks to Caolán McNamara )

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

  1. tdf#40966 wizard shouldn’t use bitmap files ( Thanks to Mike Kaganski )
  2. tdf#44223 FILESAVE, FILEOPEN: No sound in presentations saved in .pptx format ( Thanks to Mark Hung )
  3. tdf#53029 There is no authentication function when printing using CUPS on the network with LibreOffice Dialogs ( Thanks to Caolán McNamara )
  4. tdf#53524 Create UNO Grid control with dialog editor ( Thanks to Rizal Muttaqin and Shubham Goyal )
  5. tdf#60242 TABLE: Split cell default choice ( Thanks to Martin van Zijl )
  6. tdf#62728 Support for PDF/A-2 (ISO 19005-2:2011) ( Thanks to Thorsten Behrens )
  7. tdf#81437 FILEOPEN: XLSX chart automatic border property ignored ( Thanks to Balazs Varga )
  8. tdf#84635 TABLE: Slow layout of large tables (quadratic time) ( Thanks to Noel Grandin )
  9. tdf#86731 Spellcheck does not flag missing dictionary ( Thanks to Vaibhav )

Verified bug fixes

90 bugs have been verified by 10 people.

Top 10 Verifiers

  1. Xisco Faulí ( 63 )
  2. Aron Budea ( 7 )
  3. Michael Weghorn ( 6 )
  4. Vera Blagoveschenskaya ( 4 )
  5. BogdanB ( 3 )
  6. Buovjaga ( 3 )
  7. Roman Kuznetsov ( 1 )
  8. Julien Nabet ( 1 )
  9. raal ( 1 )
  10. V Stuart Foote ( 1 )

WORKSFORME bugs

131 bugs have been retested by 38 people.

Top 10 testers

  1. Xisco Faulí ( 35 )
  2. Buovjaga ( 16 )
  3. Roman Kuznetsov ( 11 )
  4. Heiko Tietze ( 9 )
  5. Nicolas Christener ( 6 )
  6. Dieter Praas ( 5 )
  7. Timur ( 3 )
  8. Aron Budea ( 3 )
  9. Gabor Kelemen ( 3 )
  10. raal ( 3 )

Categorized Bugs

762 bugs have been categorized with a metabug by 31 people.

Top 10 Categorizers

  1. Roman Kuznetsov ( 566 )
  2. Dieter Praas ( 43 )
  3. Aron Budea ( 38 )
  4. Thomas Lendo ( 16 )
  5. V Stuart Foote ( 16 )
  6. Xisco Faulí ( 15 )
  7. NISZ LibreOffice Team ( 10 )
  8. Oliver Brinzing ( 9 )
  9. Buovjaga ( 7 )
  10. Gabor Kelemen ( 5 )

Regression Bugs

101 bugs have been set as regressions by 23 people.

Top 10

  1. Xisco Faulí ( 34 )
  2. raal ( 10 )
  3. Alex Thurgood ( 8 )
  4. NISZ LibreOffice Team ( 7 )
  5. Roman Kuznetsov ( 6 )
  6. Telesto ( 6 )
  7. Oliver Brinzing ( 5 )
  8. Buovjaga ( 5 )
  9. Mike Kaganski ( 3 )
  10. Dieter Praas ( 2 )

Bisected Bugs

60 bugs have been bisected by 9 people.

Top 10 Bisecters

  1. Xisco Faulí ( 27 )
  2. Oliver Brinzing ( 6 )
  3. Buovjaga ( 6 )
  4. raal ( 6 )
  5. NISZ LibreOffice Team ( 5 )
  6. Aron Budea ( 4 )
  7. Roman Kuznetsov ( 3 )
  8. Mike Kaganski ( 2 )
  9. Telesto ( 1 )

 

Evolution of Unconfirmed Bugs

Check the current list of unconfirmed bugs here

Evolution of Open Regressions

Check the current list of open regressions here

Evolution of Open bibisectRequests

Check the current list of open bibisectrequests here

Evolution of Highest Priority Bugs

Check the current list of highest priority bugs here

Evolution of High Priority Bugs

Check the current list of high priority bugs here

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

by x1sc0 at April 04, 2019 03:19 PM

March 27, 2019

Dennis Francis

Discrete Fourier Transform in Calc

Recently I implemented FOURIER() formula for LibreOffice Calc that computes Discrete Fourier Transform [DFT] of a real/complex data sequence. Computation is done using a couple of Fast Fourier Transform algorithms (all implemented from scratch). I’d like to thank Collabora Productivity for a fully funded hack week and lots of encouragement that enabled me to work on this feature.

The syntax of the formula is :

FOURIER(Array, GroupedByColumns, Inverse, Polar, MinimumMagnitude)

First and second arguments : First argument is the data array range. There are some restrictions on its shape. If the array is grouped by columns(rows), you need to indicate that by setting the second argument GroupedByColumns = TRUE(FALSE). In case of grouped by columns(rows) the “Array” can contain 1 or 2 columns(rows), where the first column(row) should contain the real part of the input sequence and second column(row) if present should contain the imaginary part of the input sequence. If there is only 1 column(row), the input sequence is assumed to be purely real. There is no restriction on the length of the input sequence. For example the length need not be an exact power of 2 like MS Excel’s Fourier analysis tool requires. The DFT computed by FOURIER formula is exact for the given length of the input sequence meaning it does not pad zeroes to the end of the input sequence to make the length an even power of 2.

The third argument “Inverse” is a boolean flag to indicate whether an inverse DFT needs to be computed. This argument is optional and the default value is FALSE.

The fourth argument “Polar” is a boolean flag to indicate whether the final output needs to be in polar coordinates. This argument is optional and the default value is FALSE.

The fifth argument “MinimumMagnitude” is a numeric argument and is used only if Polar=TRUE. All output components(frequency components if Inverse=FALSE) with magnitude less than MinimumMagnitude will be suppressed by a zero magnitude-phase entry. This is very useful when looking at the magnitude-phase spectrum of a signal (especially when its spectrum is sparse) because there is always some very tiny amount of rounding error when doing FFT algorithms and results in incorrect non-zero phase for some non-existent frequencies. By providing a suitable value to this parameter, these non-existent frequency components can be suppressed. The default value of this parameter is 0.0, so no suppression is done by default.

The result of this formula consists of two columns – first column contains the real parts (or the magnitudes if Polar=TRUE) and second column contains the imaginary parts (or the phases if Polar=TRUE).

Below is a screenshot of a sample usage of FOURIER() formula.

fourier-FM-trimmed

The data x[n] column was generated by the formula “=10*COS(2*PI()*COS(2*PI()*A2:A257/128))” (a typical frequency modulation example). Here a Phase-Magnitude spectrum is computed using FOURIER formula

=FOURIER(B2:B257,1,0,1, 1E-10)

Note that the Polar argument is set to 1, and MinimumMagnitude is set to 1E-10, to suppress the non-existent frequency components due to rounding errors. The plots here just visualize the data. The top plot shows the time-domain waveform and the next two plots represent the magnitude and phase spectra.

Fourier Analysis Tool

A Fourier analysis tool is also added to Statistics menu. All features of FOURIER formula are available graphically in this tool. Here is a screenshot of Fourier Analysis tool in action.

fourier-analysis-tool

Implementation details of FOURIER formula

Basically two different Fast Fourier Transform (FFT) algorithms are implemented.

  1. Radix-2 Decimation in Time FFT :    This  is used when the length of input sequence is an even power of 2.
  2. Bluestein’s algorithm : This algorithm is used when the length of data sequence is not an even power of 2.

Both algorithms have asymptotic time complexity of O(N lgN), but Bluestein’s algorithm is much slower in practice. However many optimizations are in place to make the computation faster, especially when the input sequence is purely real.

Below are the patches that shows the evolution of the implementation of FOURIER formula over time.

  1. tdf#74664 : Adds FOURIER() formula
  2. tdf#74664 : Compute the phase correctly using atan2
  3. tdf#74664 : optimize the computation of twiddle factors.
  4. tdf#74664 : Unit test for FOURIER formula
  5. FOURIER : use Bluestein’s algorithm for N != 2^k
  6. More test cases for FOURIER formula
  7. tdf#74664: FOURIER: add 5th optional parameter MinimumMagnitude

Performance

Below are some perf measurements for various input cases. These numbers are only for the DFT computation part and does not include the time for writing data to the spreadsheet model. We don’t use multi-threading yet for FOURIER, so these are numbers for just one cpu-core.

Case#1 :  Data length is a power of 2

Real Input length Time (ms)
32768 2
65536 4
262144 21
1048576 185
Complex Input length Time (ms)
32768 2
65536 5
262144 30
1048576 400

Case#2 : Data length is even but not a power of 2

Real Input length Time (ms)
32766 8
65534 20
262142 105
1048574 1440
Complex Input length Time (ms)
32766 15
65534 36
262142 313
1048574 3332

Case#3 : Data length is odd but not a power of 2

Real Input length Time (ms)
32767 16
65535 39
262143 313
1048575 2729
Complex Input length Time (ms)
32767 16
65535 38
262143 309
1048575 2703

 

 

by Dennis Francis at March 27, 2019 07:14 AM

March 26, 2019

TDF Infrastructure Status

Service interruption.(bugzilla, askbot) (update)

After one of our hypervisors went down, one of the gluster filesystems that stores the VM disk images went into a bad state where it wouldn't heal files and thus some files got out of sync (split-brain) that was not fixed/prevented by gluster's self-heal-deamon.

We're manually fixing the split-brain/inconsistencies and bringing services back up, but before bringing back the critical services like bugzilla and askbot, we of course want to make sure the images are in a consistent state to avoid additional complications further down the road.

Update: bugzilla and askbot are up again. Unfortunately we had to restore bugzilla's from backup, so we "lost" some entries between time of last backup (March 25th 22:56 UTC) until beginning of outage (Mar 26 10:04 UTC) - the lost is in quotes, since the comments and assignments that were done in the meantime are not completely lost, but can be restored from the mail notifications/archive.

by The Document Foundation's Infrastructure Status at March 26, 2019 10:00 AM

March 22, 2019

Miklos Vajna

SmartArt improvements in LibreOffice, part 4

I recently dived into the SmartArt support of LibreOffice, which is the component responsible for displaying complex diagrams from PPTX. I focus on the case when only the document model and the layout constraints are given, not a pre-rendered result.

First, thanks to our partner SUSE for working with Collabora to make this possible.

Organization Chart, Cycle Matrix and Picture Strip

In this post I would like to present the progress done earlier this year regarding the above mentioned diagram types — these are used in many documents.

The improvement (as always) come in small incremental steps:

  • Organization Chart is the most complex type I dealt with so far. I fixed several issues (font color, vertical ordering, multiple paragraphs in a data node, size of layout nodes, better support for hierBranch conditions, the type of connector shapes). This allows giving readable result for diagrams which are more complex than the simple 3-node one presented in the previous post.

  • Cycle Matrix: there were missing child nodes here, the composite algorithm needed improved handling of position / size from constraints and the ordering / fill / line properties of actual content also needed fixing.

  • Picture Strip: the biggest problem here was the lack of pictures, but also the existing snake algorithm needed improvements (size, positioning, spacing and margins of the child shapes were not great).

With all these fixed, we reach a much better state for the mentioned diagram types.

Results so far

The SmartArt test documents from sd/qa/unit/data/pptx/ is what I used for testing this work.

Here is how the baseline, the current and the reference rendering of Organization Chart looks like:

smartart-org-chart.pptx, baseline

smartart-org-chart.pptx, current

smartart-org-chart.pptx, reference

And here is how the baseline, the current and the reference rendering of Cycle Matrix looks like:

smartart-cycle-matrix.pptx, baseline

smartart-cycle-matrix.pptx, current

smartart-cycle-matrix.pptx, reference

And finally here is how the baseline, the current and the reference rendering of Picture Strip looks like:

smartart-picture-strip.pptx, baseline

smartart-picture-strip.pptx, current

smartart-picture-strip.pptx, reference

This is not not perfect yet, but it’s clearly a large improvement, all text is now readable from the diagrams and pictures are no longer missing!

All this is available in master (towards LibreOffice 6.3), so you can grab a daily build and try it out right now. :-)

by Miklos Vajna at March 22, 2019 09:24 AM

SmartArt improvements in LibreOffice, part 4

I recently dived into the SmartArt support of LibreOffice, which is the component responsible for displaying complex diagrams from PPTX. I focus on the case when only the document model and the layout constraints are given, not a pre-rendered result.

First, thanks to our partner SUSE for working with Collabora to make this possible.

Organization Chart, Cycle Matrix and Picture Strip

In this post I would like to present the progress done earlier this year regarding the above mentioned diagram types — these are used in many documents.

The improvement (as always) come in small incremental steps:

  • Organization Chart is the most complex type I dealt with so far. I fixed several issues (font color, vertical ordering, multiple paragraphs in a data node, size of layout nodes, better support for hierBranch conditions, the type of connector shapes). This allows giving readable result for diagrams which are more complex than the simple 3-node one presented in the previous post.

  • Cycle Matrix: there were missing child nodes here, the composite algorithm needed improved handling of position / size from constraints and the ordering / fill / line properties of actual content also needed fixing.

  • Picture Strip: the biggest problem here was the lack of pictures, but also the existing snake algorithm needed improvements (size, positioning, spacing and margins of the child shapes were not great).

With all these fixed, we reach a much better state for the mentioned diagram types.

Results so far

The SmartArt test documents from sd/qa/unit/data/pptx/ is what I used for testing this work.

Here is how the baseline, the current and the reference rendering of Organization Chart looks like:

smartart-org-chart.pptx, baseline

smartart-org-chart.pptx, current

smartart-org-chart.pptx, reference

And here is how the baseline, the current and the reference rendering of Cycle Matrix looks like:

smartart-cycle-matrix.pptx, baseline

smartart-cycle-matrix.pptx, current

smartart-cycle-matrix.pptx, reference

And finally here is how the baseline, the current and the reference rendering of Picture Strip looks like:

smartart-picture-strip.pptx, baseline

smartart-picture-strip.pptx, current

smartart-picture-strip.pptx, reference

This is not not perfect yet, but it’s clearly a large improvement, all text is now readable from the diagrams and pictures are no longer missing!

All this is available in master (towards LibreOffice 6.3), so you can grab a daily build and try it out right now. :-)

March 22, 2019 08:24 AM

March 21, 2019

Saurav Chirania

Things to know if you are a new contributor to LibreOffice code

When I began contributing code to LibreOffice, I faced some issues because I didn't know several facts that the other active contributors knew. This blog post summarizes some of those facts, and I hope it will be useful for other new contributors!

1) The data types LibreOffice code uses -
If you have already browsed through the codebase of LibreOffice, you might have realized that the code doesn't generally use data types like int, float, double, et cetera like we use in small C++ programs. LibreOffice has its own classes, typedefs and structs defined and most of the code use them instead of the trivial data types. Some of those are OUString (instead of string), sal_uInt32 (instead of unsigned int), etc.

2) The CI infrastructure - 
As soon as you send a patch to Gerrit, Jenkins starts to build LibreOffice from your code on several platforms to check whether or not the change you made compiles successfully. Not only that, but it also runs the built software against several test cases and also checks whether or not your code is properly formatted. You are expected to check the output of Jenkins and fix any error it shows. But here's the catch - many of the tests LibreOffice has are flaky - which means the tests might fail even when it isn't your fault. You have to carefully examine the output of Jenkins, and if the error produced is irrelevant to your change, you simply have to rebase your change on the latest commit (which can be done using the Gerrit UI), and wait for Jenkins to build your code again.

3) The directory structure -
Though the presence of a large number of files in the LibreOffice core project might make it difficult for you to search for a particular code, having a knowledge of how the directories are structured might be helpful for you. The following are some important points-
  • Almost all directories have a README file which gives a bit of introduction of what kind of code the directory contains.
  • Many directories have a subdirectory named qa. QA stands for quality assurance and they contain the tests for the code implemented in the same directory.
  • Many directories have a subdirectory named include/inc. These folders contain header files.
  • Many directories have a subdirectory named source. This is the main source code of the directory the README file talks about.
4) The variable prefixing system -
If the file you are working with uses some letters as prefixes in the names of local variables, it'd be great if you use the same prefixes in the patch you send. The prefixes generally denote the data type of the variable. The meaning of some of the prefixes are listed below-


Prefix Meaning
b Boolean
p Pointer
r Reference
n Integer/Numeric Type
c Character
a Anything else

by Saurav (noreply@blogger.com) at March 21, 2019 03:41 PM

March 14, 2019

LibreOffice QA Blog

QA Report: February 2019

General Activities

  1. LibreOffice 6.2 was released as final on February, 7
  2. Xisco gave a talk about QA at FOSDEM
  3. Mark Hung added support for playing embedded videos in slideshow
  4. Mark Hung fixed an old issue, which prevented Linux users from adding sounds to custom animations in Impress
  5. Balazs Varga (NISZ) keeps fixing OOXML Chart bugs
  6. Miklos Vajna (Collabora) added support for the btLr text direction in Writer.
  7. Szymon Kłos (Collabora) added support for Browsersync integration for Online
  8. Dennis Francis (Collabora) implemented Discrete Fourier Transform in Calc
  9. Martin van Zijl fixed a bunch of old papercut issues, mostly related to selections in Writer
  10. Michael Weghorn did a lot of work on KDE5 & Qt5 file pickers
  11. Katarina Behrens (CIB) and Aleksei Nikiforov (BaseAlt) keep fixing KDE5 issues
  12. Tor Lillqvist (Collabora) continued the work on the new iOS app
  13. Zdeněk Crhonek created nearly 20 UI tests
  14. Andreas Kainz did many updates to the Sifr icon theme along with other UI improvements
  15. Tamas Bunth (Collabora) fixed some Firebird related bugs
  16. László Németh (NISZ) fixed some OLE in DOCX bugs
  17. Bjoern Michaelsen keeps fighting against SwClient
  18. Armin Le Grand and Katarina Behrens (CIB) improved tagged PDF export
  19. Samuel Mehrbrodt (CIB) removed support for Java 5
  20. Heiko Tietze introduced bound to Shift+Alt+Space that inserts a non-breakable narrow space
  21. Tamás Zolnai (Collabora) started to work on MS compatible Forms

Reported Bugs

666 bugs have been reported by 379 people.

Top 10 Reporters

  1. NISZ LibreOffice Team ( 94 )
  2. Telesto ( 23 )
  3. Roman Kuznetsov ( 13 )
  4. Aron Budea ( 12 )
  5. Nicolas Christener ( 10 )
  6. andreas_k ( 9 )
  7. Samuel Mehrbrodt (CIB) ( 9 )
  8. raal ( 8 )
  9. peter josvai ( 7 )
  10. Mike Kaganski ( 7 )

Triaged Bugs

634 bugs have been triaged by 78 people.

Top 10 Triagers

  1. Xisco Faulí ( 109 )
  2. durgapriyanka.arun ( 58 )
  3. Dieter Praas ( 48 )
  4. raal ( 46 )
  5. Oliver Brinzing ( 46 )
  6. Heiko Tietze ( 33 )
  7. V Stuart Foote ( 32 )
  8. Buovjaga ( 29 )
  9. Alex Thurgood ( 22 )
  10. Julien Nabet ( 22 )

Fixed Bugs

158 bugs have been fixed by 49 people.

Top 10 Fixers

  1. Caolán McNamara ( 18 )
  2. andreas kainz ( 6 )
  3. Aleksei Nikiforov ( 6 )
  4. Eike Rathke ( 6 )
  5. Michael Weghorn ( 5 )
  6. heiko tietze ( 5 )
  7. Mike Kaganski ( 5 )
  8. Samuel Mehrbrodt ( 5 )
  9. Miklos Vajna ( 4 )
  10. Katarina Behrens ( 4 )

List of critical bugs fixed

  1. tdf#121532 LO62b1: on macOS local help opens an empty page in default browser ( Thanks to Stephan Bergmann )
  2. tdf#122449 Crash in: mergedlo.dll when closing “Edit Index Entry” dialog (gen/gtk) ( Thanks to Caolán McNamara )
  3. tdf#122643 Crash in: libc-2.27.so after setting Named Ranges to e.g. F:F (non-absolute columns) ( Thanks to Luboš Luňák )
  4. tdf#123320 Writer crash if Paragraph edited after delete of custom Character Style used in Drop Caps ( Thanks to Caolán McNamara )

List of crashes fixed

  1. tdf#123163 CRASH when FILEOPEN of DOCX from scan and Nuance PDF Converter that also can’t be open with MSO ( Thanks to Caolán McNamara )
  2. tdf#123309 GTK3 Chart – crash when change symbol ( Thanks to Caolán McNamara )
  3. tdf#123406 kde5: Crash pressing Esc in undocked Find toolbar ( Thanks to Aleksei Nikiforov )
  4. tdf#123439 Crash wrt PointerStyle fails when moving cursor over toolbar ( Thanks to Noel Grandin )

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

  1. tdf#38101 EDITING – image resizing; not disappearing frame ( Thanks to Martin van Zijl )
  2. tdf#39625 make sal/qa/systools/test_comtools.cxx work (Windows only) …. ( Thanks to Andrés Maldonado )
  3. tdf#40780 SLIDESHOW with custom animations: sound is lost with Linux ( Thanks to Mark Hung )
  4. tdf#61679 SLIDESHOW: Enhancement request: control over the timing of presentation delay in kiosk mode ( Thanks to Mike Kaganski )
  5. tdf#74446 Styles dropdown menu has wrong tooltip: “Create style from selection” ( Thanks to Roman Kuznetsov )
  6. tdf#77186 Custom animation timing repeat until next slide doesn’t work ( Thanks to Mark Hung )
  7. tdf#82504 EDITING: Background color button should fill cell background and not paragraph color when in a cell ( Thanks to Jim Raykowski )
  8. tdf#83247 VIEWING / SLIDESHOW: Pause duration in “Auto” mode defaults to 10s when presentation is opened in PowerPoint ( Thanks to Mike Kaganski )
  9. tdf#84431 [CALC] [CHART] Lack of default picture format during chart export ( Thanks to Martin van Zijl )
  10. tdf#87884 tabpages not displayed in Java/Python/basic dialog ( Thanks to Vasily Melenchuk )

Verified bug fixes

51 bugs have been verified by 14 people.

Top 10 Verifiers

  1. Xisco Faulí ( 24 )
  2. Michael Weghorn ( 6 )
  3. Cor Nouws ( 3 )
  4. Buovjaga ( 3 )
  5. Vera Blagoveschenskaya ( 3 )
  6. Alex ARNAUD ( 2 )
  7. Jean-Baptiste Faure ( 2 )
  8. V Stuart Foote ( 2 )
  9. Terrence Enger ( 1 )
  10. raal ( 1 )

Categorized Bugs

831 bugs have been categorized with a metabug by 26 people.

Top 10 Categorizers

  1. Roman Kuznetsov ( 400 )
  2. Thomas Lendo ( 130 )
  3. NISZ LibreOffice Team ( 71 )
  4. Aron Budea ( 51 )
  5. Dieter Praas ( 39 )
  6. Xisco Faulí ( 36 )
  7. Heiko Tietze ( 25 )
  8. Buovjaga ( 20 )
  9. Luke ( 8 )
  10. raal ( 8 )

Regression Bugs

86 bugs have been set as regressions by 22 people.

Top 10

  1. Xisco Faulí ( 17 )
  2. raal ( 14 )
  3. Buovjaga ( 10 )
  4. Telesto ( 9 )
  5. Oliver Brinzing ( 5 )
  6. Timur ( 4 )
  7. Alex Thurgood ( 4 )
  8. Aron Budea ( 3 )
  9. Dieter Praas ( 3 )
  10. V Stuart Foote ( 2 )

Bisected Bugs

54 bugs have been bisected by 11 people.

Top 10 Bisecters

  1. Xisco Faulí ( 26 )
  2. raal ( 10 )
  3. Buovjaga ( 5 )
  4. Aron Budea ( 3 )
  5. Mike Kaganski ( 2 )
  6. NISZ LibreOffice Team ( 2 )
  7. Oliver Brinzing ( 2 )
  8. David Tardon ( 1 )
  9. Luke ( 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 March 14, 2019 11:00 AM

March 09, 2019

TDF Infrastructure Status

routing issues

Currently there are some routing/connectivity issues with our hosting provider. Nothing we (TDF) can do, see our provider's ticket for latest info.

by The Document Foundation's Infrastructure Status at March 09, 2019 02:45 PM

March 06, 2019

TDF Infrastructure Status

Service disruption - hypervisor crash

Service disruption (slowdown, timeout) in The Document Foundation's main infrastructure. Reason: hypervisor crash. Update 12:30 UTC: Production VMs should no longer be affected. Resolved - 12:45:00 UTC

by The Document Foundation's Infrastructure Status at March 06, 2019 11:45 AM

February 28, 2019

Naruhiko Ogasawara

LibreOffice Asia Conference 2019, Tokyo: Call for Proposal is open


Image may contain: text
...Because of the official announcement has been published, I had closed my draft article here.

If you are a Japanese speaker, please check the JP team's announcement also.

(Anyway, as above link, now we JP team has our own blog under the TDF domain.  Thank you to everyone in TDF who worked for this!)

by Unknown (noreply@blogger.com) at February 28, 2019 11:21 AM

February 21, 2019

Miklos Vajna

My hack week at Collabora: btLr text direction in Writer

As mentioned in my previous such report, a hack week is when we are allowed to hack on anything we want in LibreOffice for a few days at Collabora. I used this time to implement core support for the btLr text direction in Writer.

Motivation

If you work with tables in Word, it’s very easy to create this writing direction: the context menu in a table cell has a menu item to set the direction of the text, where you can rotate the text by 90 degrees counter-clockwise or clockwise. The counter-clockwise btLr direction is the problematic one. Support for tbRl was fine already, since that is needed typically for Chinese/Japanese scripts as well.

Results so far

Here is how the baseline, the current and the reference rendering of btLr text looks like:

https://lh3.googleusercontent.com/o5t6-JQeeNaZpx0YURMvS6xUJv7L4KbkbKnn6VPQ0yzULxHFI15ufkwaw_m0FVY7B2tv8gOnTw1CEY2Uxq6BFTgXHlcorXS52J8X1-mNjsyHKYDmoNG-MQ9X1LtdUWmrLl_W3b2ifQ=w640
Figure 1. btlr-cell.docx, baseline
https://lh3.googleusercontent.com/Y8jXvq7TFyNoKVjwWd_QvJNJaOySZdKZE_HqqBaTwGoi_rExCee3eDAHx4AS49E7d7bcjG8SEgxnXOmdKFXaJx0MzmadungQ7D0SVqdSqC2trMC9InsHdKUTq1iwu5p8bDwUfIizng=w640
Figure 2. btlr-cell.docx, current
https://lh3.googleusercontent.com/KYSBaOiAMdy_U8shsb4zoS8J5uyZzwkFPZY4qIKTrHKlo-M-pCdiHHBUxZ9OmQ-uv_QkBiktXeprTQD6gANDvzDVi8JWs4-Ng2RL-uoMcQCrQNL6Hk7tjXSJBaaqxc2skfZzmepkqA=w640
Figure 3. btlr-cell.docx, reference

You can see how the second paragraph in the cell was missing from the rendered result and now we basically pixel-by-pixel match the reference.

How is this implemented?

If you would like to know a bit more about how this works, continue reading… :-)

The document model and UNO API were reasonably straightforward to implement, but the layout was much more challenging. Writer already supported 3 writing directions:

  • typically used for Latin (left to right, top to bottom)

  • Chinese/Japanese (top to bottom, right to left)

  • Mongolian (top to bottom, left to right) text.

This new one is also a vertical direction, also left to right, but bottom to top. The initial layout contained code to read the new enumerator from doc model, extend the SwFrame class to handle this new bottom to top mode, some handling of switching between horizontal/vertical mode and at the end mapping from Writer layout’s direction to VCL’s "900" font orientation. There are more things to handle in layout, but this was good enough to look at other areas as well.

The ODF filter required updating, which was a bit challenging as it was necessary to write different attribute names depending on which enumerator is used from an emumeration, and we don’t have good support for this. Once the filter code was in place, I could write some layout-level tests as well.

Since we have .ui files for UI descriptions, adding UI support was really easy.

Time came to step away from coding for a moment and write up paperwork to propose this feature to be part of the next ODF version (thanks to Andras for the help there!).

Finally I went back to layout, and improved things a bit more: after fixing baseline offsets, the positioning of the text was exactly matching what Word does. How do I know? I used this little script:

gs -dNOPROMPT -dBATCH -sDEVICE=jpeg -r75 -dNOPAUSE -sOutputFile=btlr.jpg btlr.pdf
gs -dNOPROMPT -dBATCH -sDEVICE=jpeg -r75 -dNOPAUSE -sOutputFile=btlr-word.jpg btlr-word.pdf
composite -compose difference btlr-word.jpg btlr.jpg out.jpg

Which allows seeing the differences between our and Word’s PDF output. Additional work was needed to handle multiple paragraphs in a table cell. At this stage I was happy enough with the rendering result, so finally pulled the trigger and replaced the old DOCX filter hack (using character-level rotation) with simple DOCX filter mapping from OOXML’s btLr direction to Writer’s btLr direction — i.e. what was already done for the tbRl case.

Future work

The feature works good enough already so that this new core feature can be used by the DOCX filter by default, but there are still a few rough edges:

  • the shell code (cursor travelling, selection painting, etc) only has partial support for this new direction

  • RTF and DOC filters are not yet updated

  • the ODF proposal has a list of contexts other than table cells where the new writing direction could be used, which lack UI/filter support/etc at the moment.

All this is available in master (towards LibreOffice 6.3), so you can grab a daily build and try it out right now. :-)

by Miklos Vajna at February 21, 2019 03:19 PM

>Szymon Kłos

Hack Week - Browsersync integration for Online

Recently my LibreOffice work is mostly focused on the Online. It's nice to see how it is growing with new features and has better UI. But when I was working on improving toolbars (eg. folding menubar or reorganization of items) I noticed one annoying thing from the developer perspective. After every small change, I had to restart the server to provide updated content for the browser. It takes few seconds for switching windows, killing old server then running new one which requires some tests to be passed.

Last week during the Hack Week funded by Collabora Productivity I was able to work on my own projects. It was a good opportunity for me to try to improve the process mentioned above.

I've heard previously about browsersync so I decided to try it out. It is a tool which can automatically reload used .css and .js files in all browser sessions after change detection. To make it work browsersync can start proxy server watching files on the original server and sending events to the browser clients if needed.

What is the advantage? Developer tools in the browser are not good enough?

  • Changes tracked by git - no need to copy changes from the browser's developer tools to the source files
  • You can setup testing matrix with all apps (writer, calc, impress) and all is reloaded instantly at one time (even on other devices like tablet or smartphone)
  • Fast prototyping

Disadvantages

  • You have to remember to run syntax tests before commiting the changes

To integrate browsersync I needed to do some build system changes. First, all static files are served from 'loleaflet/dist' directory. These files are not the original sources but copies. I modified the Makefiles to create symlinks instead if the browsersync is activated. Thanks to that we can modify sources tracked by git and proxy can detect changes.

To try it out on your own:

  1. Delete your 'loleaflet/dist' folder or
    make clean
    you might need to delete generated 'Makefile' if repository was used before
  2. Install browsersync:
    npm install -g browser-sync
  3. Run 'configure' script with additional --enable-browsersync argument
  4. Run server with:
    LOOL_SERVE_FROM_FS=1 make run
  5. In the other console run browsersync:
    make sync-[writer|calc|impress]
More information can be found in: 'loleaflet/README'

In the video below you can see how it works:

Next step will be to allow browsersync usage with cloud storage integrations like richdocuments, I noticed also some issues with access from other devices (app is still using original server for some resources).

by Unknown (noreply@blogger.com) at February 21, 2019 12:59 PM

>Marius Popa Adrian

Firebird 4.0 Beta 1 release is available for testing

Firebird Project announces the first Beta release of Firebird 4.0, the next major version of the Firebird relational database, which is now available for testing.This Beta release arrives with features and improvements already implemented by the Firebird development team, as well as with countless bugfixes. Our users are appreciated giving it a try and providing feedback to the development

by Popa Adrian Marius (noreply@blogger.com) at February 21, 2019 12:07 PM