LibreOffice Weekly News #1

From The Document Foundation Wiki
Jump to: navigation, search
LibreOffice Weekly News #1
next →
Publication Date 2014-06-14
Editor William Gathoye (wget)

Welcome to this first edition of LibreOffice Weekly News!

LibreOffice has plenty of communication channels for its developers and contributors to exchange messages: mailing lists, social networks, wiki and an ask (question/answers) instance. This configuration is not ideal for the developer to see a global overview of the progress made in the LibreOffice development. Since I subscribed most of the LibreOffice mailing lists and usually take the time to read all messages I receive in my mailbox, and after a request made by Michael Meeks, I decided to take up this challenge.

Like Linux Weekly News at its early life, LibreOffice Weekly News consists of a weekly issue gathering interesting development reported in discussions (mailing lists or IRC), Q/A and git commits made over the past week. This summary will emphase on the developer point of view; so do not expect to have a popularized article, and please do not complain about nerdy stuff (if any), since it is written by a computer science student (me) for developers.

I will publish this summary on the LibreOffice developer mailing list each week on Sunday nights. In that way, developers not working on LibreOffice during the week-end can even get the evolution made throughout the weekend. A beta version of the article will be made available on my github account[1] on Fridays evening. In that way, if someone wants to proofread this writing and apply corrections before the final version released on Sundays, he is more than welcome.

This week in LibreOffice...

GUI

The conversion towards the .ui glade dialogs is now continuing (thanks SzymonKłois!) [2] [3][4].

Seems like the new start center is still considered as "unfinished" regarding the request we have from users. These one are asking for an option to disable document thumbnail on the new startscreen[5][6]. Maybe this should be considered as an easy hack?

As now, we have still no news from the team responsible for the (great!) Sifr icon theme. The problem for now is that we have 2 inconsistent repositories for Sifr:

  • the freedesktop official where all the libreoffice code is hosted
  • and a Github account created to help people accustomed to use Github, but scared about freedesktop, to get involved more easily.

The initial idea was to merge the Github account into freedesktop. According to an answer late in this week[7], icon designers are using SparkleShare with Github. SparkleShare is an application acting like DropBox but with a commit each time a file is pushed or modified. The GitHub account has thus uncompleted work, because it is used like a drive in the cloud. We have to handle this issue, by creating 2 branches, keep both repos in sync and give designers commit right only to the sifr folder on freedesktop.

Security

OpenSSL patches from Fedora have been committed[8] (CaolánMcNamara) to the libreoffice-4-2 branch. As future branches(libreoffice-4-3 and master) are using newer and unaffected OpenSSL version, there was no need to include them.

Code base evolution

Since Chrom(e|ium) dropped the old NPAPI and Firefox is moving away from browser extensions[9], it was high time for LibreOffice to remove that old code[10] (thanks Bryan Quigley), not working in some scenarios[11].

There is still a bunch of features that are copied/implemented at different locations in the LibreOffice code base. We saw some progress on a copy/paste code detector tool[12]. The tool "CCFinderX core" available on github under MIT license could suit LibreOffice nicelly[13].

Access2Base (see [14] for a definition) is now included in libreoffice 4.2 and later. In order to keep extension compatibility with other LibreOffice/OO.o forks, Access2Base will be provided as an extension to them. It was not possible to provide Access2Base as an extension for LibreOffice 4.2 and latter because, LibreOffice is refusing to override internal parts of LibreOffice (this still generates discussions with great argumentation weighing pros and cons[15]). Thanks to this patch[16] (Lionel Elie Mamane), it is now possible for extensions to override Access2Base.

Build environment

This week, we have seen an initial discussion about reducing build time onWindows by using more native tools.

To be built on Windows, LibreOffice still uses Cygwin. As Cygwin provides a rather great package management, installing dependencies on Windows is quite easy[17]. So dropping Cygwin in favor of smaller/native tools like GnuWin32 or busybox is out of scope for now (otherwize this would require the dev of a one-click tool to install the needed dependencies[18] and maybe reopen this bug[19].

Providing upstream patches to 'make' came up during the discussion.

But now, the discussion seems limited to this question: are we gonna replace gmake from a Cygwin-running version to a native-version provided by GnuWin32 which should provide speedup improvement over Cygwin. If it works on Windows tinderbuilds, this could be added as an autodetection option to autogen: defining MAKE or a GNUMAKE environment variable manually could do the trick. In this case there is no need for a synchronization/d-day[20].

Cross compilation on Linux with MinGW is rather annoying since it break compatibility with ABI and extensions used on Cygwin/VisualC++ builds. And we can see how this compatibility problem of extensions could be critical[21].

For a reminder about the differences between Cygwin, GNUWin32 and MSYS, you can read this[22].

Sometimes we have bug appearing in some languages while most of others have no problem. Since localization takes much time, it has been disabled on tinderboxes. After a request, thinderbox nb 51 compiling for Windows will now produce builds for libreoffice-4-3 and master branches with the following languages[23]:

  • de (as one language with long labels);
  • ar (as RTL language);
  • ja (as CJK representative);
  • and qtz (keyID-pseudo-language).

LibreOffice is now buildable on FreeBSD again[24][25].

Unit tests

We now have the results (thanks Markus Mohrhard!) of a memcheck run against 20k documents that can be used to find nasty problem in future development[26]. Two problems have been fixed during these operations: (according to a chat with mmeeks) 4x the current speed in Writer when trying to open large documents.

(2014-06-13 15:17:03) ***mmeeks has a 4x speedup for loading large writer files he's working on finishing =)

Other issues

The MySQL/MariaDB connector appears to be broken on OS X. Using homebrew is discouraged. ODBC code assumes Unicode char is 2 bytes which is wrong[27][28].

An issue stating that Writer does not memorize the default printer defined in Windows has been reported. After investigations, it appears this is due to some printer information which are actually stored in the document itself when the latter has been saved after it has been printed. If the printer does not exist any more, the fall back is the default one[29]. The print shorcut might use the default WIndows printer[30]. But the user is able to choose if he wants to load the printer settings from the document[31].

A new default font for LibreOffice for Arabic?[32]

Implement regex for the REPLACE function in Calc to be OpenFormula compliant (this could be proposed as an easy hack)[33].

GSoC

Refactor god objects (Valentin): weekly report -> pushed to master and IDocumentChartDataProviderAccess has been nearly refactored.

Improve Usability of Personas (Rachit Gupta): the user can select the theme he wants from the gallery and can be applied to the UI. Needs to be done: run the application of the theme in a separate thread to avoid the UI from hanging+ little changes to the UI.

Connection to SharePoint and Microsoft OneDrive (Mihai Varga): all OneDrive is serialized, a file and folder UI representation still needs to be writen. Now writing unit tests.

Calc / Impress tiled rendering support (Andrzej Hunt): renamed to LibreOfficeKit. For more details about the current implementation, please read[34].

As a reminder, tiled rendering is the ability to be able to paint (render) a specific part of a document (a tile) to anywhere. This is really useful to plug LibreOffice into various new scenarios where the traditional LO UI cannot be used (mobile devices,...).

Hackfests and conferences

After the hackfest from Paris (Montreuil) hold on June 27-28th (thanks Charles-H Schultz and Sophie Gautier), Toulouse has been confirmed to hold a hackfest on November 15-16th[35] (thanks Arnaud Versini). More to come at [36].

In 2015 linux.conf.au will be held 12-16 January in Auckland, New Zealand, at the University of Auckland Business School. Call for Proposals opened 9 June 2014, closes 13 July 2014[37]. There will not have a LibreOffice booth during the conference itself, only on the open day[38].

References

  1. https://github.com/wget/lown
  2. https://gerrit.libreoffice.org/9699
  3. https://gerrit.libreoffice.org/9680
  4. https://gerrit.libreoffice.org/9726
  5. tdf#74834
  6. http://listarchives.libreoffice.org/global/design/msg06640.html
  7. http://listarchives.libreoffice.org/global/design/msg06641.html
  8. https://gerrit.libreoffice.org/#/c/9713/
  9. https://blog.mozilla.org/security/2014/02/28/update-on-plugin-activation/
  10. https://gerrit.libreoffice.org/#/c/9644/
  11. http://lists.freedesktop.org/archives/libreoffice/2014-June/061635.html
  12. tdf#39593
  13. https://github.com/petersenna/ccfinderx-core
  14. http://www.access2base.com/access2base.html
  15. http://lists.freedesktop.org/archives/libreoffice/2014-June/061795.html
  16. https://gerrit.libreoffice.org/#/c/9756/
  17. http://lists.freedesktop.org/archives/libreoffice/2014-June/061742.html
  18. http://lists.freedesktop.org/archives/libreoffice/2014-June/061748.html
  19. tdf#32426
  20. http://lists.freedesktop.org/archives/libreoffice/2014-June/061758.html
  21. http://listarchives.libreoffice.org/global/users/msg39416.html
  22. http://stackoverflow.com/a/10712976
  23. http://lists.freedesktop.org/archives/libreoffice/2014-June/061762.html
  24. https://gerrit.libreoffice.org/9714
  25. https://gerrit.libreoffice.org/9722
  26. http://lists.freedesktop.org/archives/libreoffice/2014-June/061717.html
  27. http://lists.freedesktop.org/archives/libreoffice/2014-June/061700.html
  28. http://lists.freedesktop.org/archives/libreoffice/2014-June/061708.html
  29. http://listarchives.libreoffice.org/global/users/msg39393.html
  30. http://listarchives.libreoffice.org/global/users/msg39395.html
  31. http://listarchives.libreoffice.org/global/users/msg39396.html
  32. http://lists.freedesktop.org/archives/libreoffice/2014-June/061751.html
  33. http://listarchives.libreoffice.org/global/users/msg39399.html
  34. http://www.ahunt.org/2014/05/tiled-rendering-with-libreofficekit/
  35. http://lists.freedesktop.org/archives/libreoffice/2014-June/061694.html
  36. https://wiki.documentfoundation.org/Hackfest/Toulouse2014
  37. http://listarchives.libreoffice.org/global/marketing/msg16979.html
  38. http://listarchives.libreoffice.org/global/marketing/msg16979.html