Welcome to The Document Foundation Planet

This is a feed aggregator that collects what LibreOffice and Document Foundation contributors are writing in their respective blogs.

To have your blog added to this aggregator, please mail the website@global.libreoffice.org mailinglist or file a ticket in Redmine.


Wednesday
06 May, 2020


face
So, I just show you two screenshots with current view of LibreOffice's 7.0 windows installer:

Looks nice.

Tuesday
05 May, 2020


[en] Michael Meeks: 2020-05-05 Tuesday

21:00 UTC

face
  • Sync with Eloy, mail chew, admin. Catch up with Kendy.

Monday
04 May, 2020


[en] Michael Meeks: 2020-05-04 Monday

21:00 UTC

face
  • Mail chew, planning call, poked at various admin-console bugs.

Sunday
03 May, 2020


[en] Michael Meeks: 2020-05-03 Sunday

21:00 UTC

face
  • Up late. Worship & sermon with the babes, lunch. Out for a longish walk, back to relax, large dinner, slugging, bed.

Saturday
02 May, 2020


[en] Michael Meeks: 2020-05-02 Saturday

21:00 UTC

face
  • Mending: replaced bathroom extractor fan, coat-hook downstairs, taught M. and N. to use a lathe to turn up a replacement brass Velux blind slide. Played BosWars with E.
  • Out for a short walk with J. - met Mike & Thea in passing; shared their news. Watched Parks & Recreation together.

Friday
01 May, 2020


[en] Michael Meeks: 2020-05-01 Friday

21:00 UTC

face
  • Mail chew, call with Eloy, plugged away at mail. E. ran out of work - created some tougher Maths Q's and an essay contrasting Dune II with Boswars. Back to some proxy hackery and size analysis.

Thursday
30 April, 2020


[en] Michael Meeks: 2020-04-30 Thursday

21:00 UTC

face
  • Early partner call, and another; admin. ESC call, some encouraging hackery.
  • Thrilled to see my in-law's 1st Packaging setting up innovative UK based PPE Visor even having a nephew to demonstrate setup.
  • 1:1 calls with Andras, Kendy. Reading Jeeves and Wooster to the family in snippets at meals & in the evening; fun.

Wednesday
29 April, 2020


[en] Michael Meeks: 2020-04-29 Wednesday

21:00 UTC

face
  • Sales & Marketing call much of the morning. Catch-up with Philippe; hackery.

Tuesday
28 April, 2020


[en] Michael Meeks: 2020-04-28 Tuesday

21:00 UTC

face
  • A mostly clear day, lots of admin, got to some proxy hacking, patch review & associated fun.

Monday
27 April, 2020


[en] Michael Meeks: 2020-04-27 Monday

21:00 UTC

face
  • Prioritization call, sync with Cor & William, dug through E-mail; reviewed patches; status report.

Sunday
26 April, 2020


[en] Michael Meeks: 2020-04-26 Sunday

21:00 UTC

face
  • Slept in, sung with the babes, ParkStreet sermon from Gordon on Geneis 1. Stayed at home instead of walking - to rest bitten leg. Pride & Prejudice in the evening with the family.

Saturday
25 April, 2020


face
Possible you need Glade, but you use macOS and won't change your OS or use any virtual machine. You can install Glade on your macOS using Homebrew. Three simple steps:
Open a Terminal.
Enter a first command: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
It will download and install Homebrew on your macOS. 
Note, you should be enter your admin password two or three time during that process.
After end of Homebrew installing enter a second command: brew install glade.
So now you can start Glade with command glade in the Terminal.

Friday
24 April, 2020


face
It's still WIP, but I can show you pair of images with a new branding in LibreOffice 7.0. And you can look at it yourself when you'll download a current daily build by link.
So a first image is new the About dialog:
And a second image is the Start Center (empty):
Looks nice for me=) Thanks to our designers for it.

Thursday
23 April, 2020


face

Introduction

As I wrote earlier in a blogpost now we have cypress.io test framework integrated into Collabora Online codebase. Since we are testing an online, Javascript-based application that means we are working in an asynchronous environment. So triggering a user event via this framework, does not mean that this event is actually finished at the same time when the related cypress method is called. On the other hand, we try to cover real user scenarios, which are usually a sequence of events, as the user doing things on the UI step-by-step. So the question is, how to write sequential tests in an asynchronous environment. Fortunately, cypress has the answer to that.

The problem of asynchronicity

First, let's see an example of simulating user events in the cypress test framework. The following code triggers a selection of the text by simulating CTRL+A shortcut:

// Select all text
cy.get('textarea.clipboard')
.type('{ctrl}a')

With calling this method we trigger a keyboard input, which will be handled by the client code (loleaflet). The client JS code sends a message to the server about the keyboard input. On the server-side, we will execute the shortcut, which results in a text selection. Then the server will send back the new text selection to the client-side, which will display it for the user. However the cy.get().type() call won't wait for that, it just triggers the event on the client-side and moves on.

Why is it a problem? Let's extend this code with another event:

// Select all text
cy.get('textarea.clipboard')
.type('{ctrl}a')

// Apply bold font
cy.get('#tb_editbar_item_bold')
.click();

Let's assume that this '#tb_editbar_item_bold' item exists. It's a toolbar button which applies bold font on the selected text. The problem here is that the selection is not finished yet when we already triggered the font change. Triggering these events does not mean that they will be executed in the specified order. Both events are handled in an asynchronous way, so if the first event (e.g. typing) takes more time to execute, then it will be finished later. Which means the application won't apply bold font on anything, because text selection is not there yet.

Event-indicator method

What is the solution here? What we need is the event-indicator method. It's very simple. After every event, we trigger in the test code, we should use an indicator that the event is actually processed. Let's see how we can fix the previous scenario:

// Select all text
cy.get('textarea.clipboard')
.type('{ctrl}a')

// Wait for the text selection to appear
cy.get('.leaflet-marker-icon')
.should('exist');

// Apply bold font
cy.get('#tb_editbar_item_bold')
.click();

The '.leaflet-marker-icon' DOM element is part of the text selection markup in the application, so we can use that as an indicator. In cypress, every cy.get().should() call has an implicit retry feature. It tries to get the related DOM element, again and again, until it appears in the DOM


Saturday
18 April, 2020


face

这是一个缺陷修复版本,修正了软件运行中的一系列问题。


Thursday
16 April, 2020


face

The Document Foundation anuncia la disponibilidad de LibreOffice 6.4.3, la tercera versión menor de la familia LibreOffice 6.4, dirigida a entusiastas de la tecnología y usuarios avanzados. LibreOffice 6.4.3 incluye varias correcciones de errores y mejoras en la compatibilidad de …


Sunday
12 April, 2020


face

What do you prefer black/gold or blue/blue? The user can change the line color, area color and shadow color (highlight color) so with 3 clicks you can switch, but I prefer a good default.

please comment your feedback.


face

Gracias a Franklin Weng, que ha lanzado la idea, ha coordinado el proyecto y ha proporcionado la localización china, y a la localización japonesa de Naruhiko Ogasawara, la castellana de Daniel Armando Rodriguez y la italiana de Italo Vignoli, ofrecemos …


Thursday
09 April, 2020


face

General Activities

  1. LibreOffice 6.4.2 was announced on March, 19
  2. Luca Carlon and Jan-Marek Glogowski introduced basic HiDPI scale for Qt5 in LibreOffice (tdf#127687)
  3. Mark Hung improved Impress/Draw table perfomance (tdf#120216)
  4. Seth Chaiklin, Sophia Schröder, Adolfo Jayme Barrientos and Steve Fanning made many Help improvements and cleanups
  5. Ilmari Lauhakangas and Olivier Hallot updated some menu references in Help
  6. Samuel Thibault (Hypra) improved accessibility testing and functionality
  7. László Németh (NISZ) fixed many DOCX table issues
  8. Xisco Fauli (TDF) created a new QA related easyhack to convert UItests to CppunitTest. Some UItests are not used to test UI elements. Converting them to CppunitTests makes them to run faster and on more platforms. UITests are only run on Linux
  9. Caolán McNamara (Red Hat) continued the crucial user interface backend work and did many cleanups and crash fixes
  10. Eike Rathke (Red Hat) improved named ranges and function wizard
  11. Andreas Kainz improved context menus, updated the Area Fill presets, arrows gallery, bullets, added a new gallery for Business Process Model and Notation. He also created a new icon gallery as an extension. See link 1, link 2 and link 3
  12. Jun Nogata created new fontwork styles
  13. Muhammet Kara (Collabora) made it easy to work on LibreOffice in the Gitpod online IDE service
  14. Tor Lillqvist (Collabora) worked on iOS app improvements
  15. Serge Krot (CIB) fixed issues with linked document handling in Writer and Calc
  16. Jim Raykowski continued improving the Navigator and fixed an issue with pasting list content after undo
  17. Noel Grandin (Collabora) cleaned up the code in many places, made XML parsing faster in general and improved the loading time of XLSX files with a huge number of images
  18. Stephan Bergmann (Red Hat) made many cleanups and raised Windows build baseline to Visual Studio 2019 16.4
  19. Miklos Vajna (Collabora) fixed an issue with links in presentations exported as PDF and added support for padded numbering in Writer
  20. Justin Luth (SIL & Collabora) fixed calculations of subscript positions and improved handling of image wrapping and tables in Writer
  21. Michael Stahl (CIB) worked on some convoluted DOCX interoperability issues concerning section breaks, bookmarks and linked images
  22. Luboš Luňák (Collabora) made it so font rendering now uses Skia engine
  23. Balázs Varga (NISZ) fixed many chart label issues
  24. Tünde Tóth (NISZ) added a feature for showing legends without overlapping the chart and fixed several issues with legends
  25. Rizal Muttaqin made many improvements in most of the icon themes
  26. Tomaž Vajngerl (Collabora) improved PDF import support and made many internal improvements to the graphics code
  27. Michael Weghorn made dozens of improvements to the Android application
  28. Julien Nabet made several improvements to the Firebird database support and did code cleanups
  29. Armin Le Grand improved EMF+ support and made several fixes related to graphics
  30. Gülşah Köse (Collabora) fixed an issue with Advance Timing of presentations
  31. Bartosz Kosiorek fixed a bunch of EMF+ issues
  32. Samuel Mehrbrodt (CIB) added an options to disallow opening files locked by other users

Wednesday
08 April, 2020


face
Possibly you search some nice presentation templates for LibreOffice Impress, because in-build templates aren't good for you?
You can find many templates here
https://dohliam.github.io/libreoffice-impress-templates/ or
https://www.showeet.com/tag/impress/
Just download an archive that you liked, unzip it and start your work by double click on OTP file ;-)

face

I already posted about the start of padded numbering support in Writer, there the focus was to insert 0 characters to pad up the result to 2 characters. Let’s see how that got extended in the recent past…

First, thanks Nicolas Christener who made this work by Collabora possible.

Motivation

Padded numbering is a style where you insert 0 characters in front of an otherwise normal (Arabic) numbering, making sure that the result always has at least N characters. Up to now, you had to number your content manually to have this effect, while Word supports this feature.

OOXML supports padding up to 2, 3, 4 and 5 characters. The news is now now it’s possible to not only pad up to 2 characters, but also to any number between 2 and 5.

Results so far

Here is how the current rendering of padded numbering looks like, with a custom prefix and suffix:

https://lh3.googleusercontent.com/JHqkVdHkLLkFV1Mrh5jR1FFqq8PvU3lmjuOrl6SwBnM-ygsbugL-FccMHIod9Uyj2-hAyADRX7VwozUHgzBTZTdo72FB_nuHzEH-iQngSl5ND0o6h1sZDTs1uv8H5cLNv0cHDgRv2A=w640
Figure 1. numbering-padded4.docx, current rendering

You can see how 0 is inserted before 999, but not before 1000 as this is the pad-to-4 case.

How is this implemented?

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

  • Padding to a custom number is not something that works in general, because both ODF and OOXML has a separate number format for each padding. So Writer supports the 4 cases Word supports, but (for now) not more.

  • Padding to 3 or more is more complicated than pad to 2, because OOXML has different markups for them.

Here is how the pad-to-2 markup looks like:

      <w:numFmt w:val="decimalZero"/>

And here is how you define pad-to-3:

      <mc:AlternateContent>
        <mc:Choice Requires="w14">
          <w:numFmt w:val="custom" w:format="001, 002, 003, ..."/>
        </mc:Choice>
        <mc:Fallback>
          <w:numFmt w:val="decimal"/>
        </mc:Fallback>
      </mc:AlternateContent>
  • This required taking the w14 branch when we hit such a conditional, we used to read the fallback branch previously.

  • This required mapping the data of the <w:numFmt> XML element not to an enumeration value, but to a pair of objects: the numbering format’s value and format.

The rest was reasonably straightforward, since the actual padding implementation just had to be generalized.

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).


Sunday
05 April, 2020


face

Los organizadores de la Conferencia openSUSE + LibreOffice se reunieron la semana pasada para discutir varios temas relacionados con COVID19 y cómo puede afectar a la conferencia y a su planificación. En este momento, no se sabe qué restricciones pueden …


Thursday
02 April, 2020


face
We have updated our extension Formatting of All Math Formulas to 0.1.9 version.
The extension allows you to change font and font size for all (or only for selected) Math formulas in your Writer, Calc, Draw or Impress document for one time.
In this version we fixed problem with change symbols from bold and italic to normal view after extension using.
And here is a direct link to download a new 0.1.9 version of the extension. 

Tuesday
31 March, 2020


face

Updated instructions are now here https://github.com/mariuz/flamerobin/blob/master/BUILD.txt#L182 Thanks to Tomas Dvorak


face

We are happy to announce the first release of Jaybird 4. Jaybird 4 is – compared to Jaybird 3 – an incremental release that builds on the foundations of Jaybird 3. The focus of this release has been on further improving JDBC support and adding support for the new data types and features of Firebird 4. The main new features are: Wire encryption support (backported to Jaybird 3.0.4) Database


Monday
30 March, 2020


face

LibreOffice 7.0 will get new bullet imges. Hope you like them. In general you can use whatever image you like, want or find from the internet, so in the Bullet image dialog there are the following examples:


[en] = Andreas Kainz: Fontwork update

07:46 UTC

face

Jun Nogata help the LibreOffice community with new Fontwork. And now it’s ready to be in use.

It’s already in master. As not all great Artwork landed in master, I will offer an extension for additional Fontwork stuff.

A lot of work going on this days. If you like my work become a

downloads_wordmark_white_on_coral2x.jpg

Friday
27 March, 2020


face

Introduction

At Collabora, we invest a lot of hard work to make LibreOffice's features available in an online environment. Recently we greatly improved the Collabora Online mobile UI, so it's more smooth to use it from a mobile device. While putting more and more work into the software, trying to support more and more different platforms, we need also to spend time improving the test frameworks we use for automatic testing. These test frameworks make sure that while we enrich the software with new features, the software remains stable during the continuous development process.

End-to-end testing in the browser

One step on this road was the integration of cypress.io test framework into Collabora Online code. cypress.io is an end-to-end test run in the browser, so any online application can be tested with it. It mainly allows us to simulate user interaction with the UI and check the event's results via the website's DOM elements. That allows us to simulate user stories and catch real-life issues in the software, so our quality measurement matches the actual user experience.

When I investigated the different alternatives for browser testing I also checked the Selenium test framework. I didn't spend more than two days on that, but I had an impression that Selenium is kind of "old" software, which tries to support many configurations, many language bindings which makes it hard to use and also makes it stuck in the current state, where it is. While cypress.io is a newer test framework, which seems more focused. It is easier to integrate into our build system and easier to use, which is a big plus because it's not enough to integrate a test framework, but developers need to learn how to use it too. I saw one advantage of Selenium: the better browser support. It supports all the main browsers (Chrome, Mozilla Firefox, Safari, Internet Explorer), while cypress.io mainly supports only Chrome, but it improves on this area. Now it has a beta Mozilla Firefox support. So finally I decided to use cypress.io and I'm happy I did that because it nicely works.

cypress.io in Collabora Online

So cypress.io is now integrated into the Collabora Online code and we already have 150 tests mainly for mobile UI. As we submit most of our work to upstream, these tests are also available in the community version of the software. It's integrated into the software's GNU make based build system, so a make check will run these tests automatically. This is also part of the continuous integration system, so we can catch any regression instantly, before it actually hits the code. It's recommended to all developers of the online code to get familiar with the test framework, so it will be easier to understand if a test failure indicates an issue in their proposed patch. There are a set of useful notes in the source code, in the readme file


Wednesday
25 March, 2020


face

 

 

 

 

El documento libre se basa en formatos abiertos, como ODF (formato de documento abierto), el formato de archivo nativo del estándar ISO de LibreOffice y otras suites ofimáticas de FOSS.

¿Qué es un formato abierto?

Cuando …


Tuesday
24 March, 2020


face

Muchas escuelas, colegios y universidades de todo el mundo usan LibreOffice para hacer su trabajo todos los días. La suite ofimática libre y de código abierto, compatible con Microsoft Office y sucesora de OpenOffice(.org) con muchas características adicionales, incluye …

<- Current blog entries