The Document Foundation Planet

 

September 29, 2016

Official TDF Blog

LibreOffice 5.2.2 available for download

birthday_banner_smallBerlin, September 29, 2016 – Just one day after the project 6th anniversary (https://blog.documentfoundation.org/blog/2016/09/28/happy-6th-birthday-libreoffice/), The Document Foundation (TDF) announces the availability of LibreOffice 5.2.2, the second minor release of the LibreOffice 5.2 family.

LibreOffice 5.2.2, targeted at technology enthusiasts, early adopters and power users, provides a number of fixes over the major release announced in August. For all other users and enterprise deployments, TDF suggests LibreOffice 5.1.5 “still”, with the backing of professional support by certified people (a list is available at: http://www.libreoffice.org/get-help/professional-support/).

A summary of the most significant new features of the LibreOffice 5.2 family is available on the website: http://www.libreoffice.org/discover/new-features/.

People interested in technical details about the release can access the change log here: https://wiki.documentfoundation.org/Releases/5.2.2/RC1 (fixed in RC1) and https://wiki.documentfoundation.org/Releases/5.2.2/RC2 (fixed in RC2).

Download LibreOffice

LibreOffice 5.2.2 is immediately available for download from the following link: http://www.libreoffice.org/download/libreoffice-fresh/.

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation at http://donate.libreoffice.org.

Several companies sitting in TDF Advisory Board (http://www.documentfoundation.org/governance/advisory-board/) are providing either value added Long Term Supported versions of LibreOffice or consultancy services for migrations and trainings, based on best practices distilled by The Document Foundation.

by Italo Vignoli at September 29, 2016 11:00 AM

September 28, 2016

Michael Meeks

2016-09-28 Wednesday.

  • Mail chew, poked at a pivot table import profile. Spent a while triaging and prioritising bug/features. Out for a fine pub lunch with David.
  • More mail, bashed slideware, read stories in the evening.

September 28, 2016 08:01 PM

Florian Effenberger

Happy Birthday, LibreOffice!

Vor sechs Jahren, am Morgen des 28. September 2010, saß ich mit einem guten Freund zusammen. Die Nacht zuvor war extrem kurz, um online mit Kollegen aus aller Welt noch die letzten Änderungen an der Pressemitteilung einzuarbeiten, die von vielen Freiwilligen erstellte Webseite zu prüfen und den Server gemeinsam mit vielen Helfern auf den erwarteten Ansturm vorzubereiten. Wir starrten zusammen auf den Monitor, die Uhr fest im Blick, im Hintergrund lief noch Musik und um Punkt neun Uhr, gepaart mit ziemlich viel Herzklopfen, wurde eine neue Ära eingeläutet – die Ankündigung des LibreOffice-Projekts und der damals noch zu gründenden Document Foundation ging über den Äther.

Am Vortag hatten wir uns mit ausreichend Proviant eingedeckt und genug Telefone standen bereit, wussten wir doch am Morgen noch nicht, was die kommenden Stunden bringen würden.

Nicht nur offen, sondern frei

Die Wochen zuvor waren extrem spannend. Auf der knapp vier Wochen vorher zu Ende gegangenen Konferenz in Budapest konnte man eine regelrechte Aufbruchstimmung fühlen – „Foundation“, das war das Wort, das man immer wieder über die Flure schallen hörte, von Eingeweihten wie Unbeteiligten. Im Lauf der Zeit fanden immer mehr Aktive zusammen, grübelten über Namen für Programm und Foundation, tüftelten an Ideen und Konzepten und arbeiteten an der Infrastruktur, der Bestückung der weltweiten Mirrors und nicht zuletzt mussten auch Logo und Design gefunden werden und das alles, ohne allzu großes Aufsehen zu erregen. Am Abend zuvor waren schon die einzelne Vorzeichen sichtbar, die ersten Begrüßungsnachrichten auf den Mailinglisten machten die Runde – wenn ich mich recht entsinne, war der erste Satz auf der deutschen Liste ein Zitat von Georg Greve: „Am Anfang war alle Software frei.“

Auf ins Getümmel!

Da war er also nun, der große Tag, der den Beginn einer neuen Ära markieren und nicht zuletzt auch mein Leben maßgeblich verändern sollte.

Am Anfang waren noch viele Fragen offen – die Foundation existierte bislang nur auf dem Papier, ein nur vorübergehender Treuhänder in Form des damaligen Freies Office Deutschland e.V. war gefunden, aber Spenden gab es ebenso wenig wie ein Budget. Aber wir hatten schon damals etwas, das bis heute anhält – Zusammenhalt, ein gemeinsames Ziel, Aktive weltweit, Kollegen, die zu wahren Freunden wurden und „ihr Ding“ mit Spaß, Mut und Überzeugung angehen.

Die ersten Rückmeldungen waren überwältigend – wenige Stunden nach der Ankündigung begannen die ersten Entwickler ihre Patches einzureichen, die IRC-Kanäle füllten sich, die Mailinglisten erwachten zum Leben und die Presse im In- und Ausland hat die Ankündigung mehr als positiv aufgenommen.

All die Bedenken, die noch am Vorabend in meinem Kopf umhergeisterten – Wird der Server Slashdot standhalten? Klappt die Verteilung auf die Mirrorserver? – waren mit einem Mal wie weggeblasen. Es fühlte sich einfach verdammt gut an, auch wenn wir die Augen kaum von htop lassen konnten, um die Serverauslastung zu verfolgen. Und ja, wir haben den Slashdot-Effekt überlebt!

Rückblickend wird mir immer stärker bewusst, wie viele helfende Hände Anteil am Erfolg von „Tag 0“ hatten – Webdesigner, Systemadministratoren, Übersetzer, Marketing-Experten, Entwickler und Tester, Unternehmen und Organisationen, die uns von Anfang an unterstützt haben und nicht zuletzt zahlreiche Linux-Distributionen, die LibreOffice direkt in ihre Repositories aufgenommen haben.

Reichlich Zuspruch

Am Tag der Ankündigung fand in Paris eine Veranstaltung statt und die Kollegen vor Ort konnten direkt die Fahnen für LibreOffice hochhalten und die Idee der Stiftung in die Welt hinaustragen.

Zwei oder drei Wochen nach der Ankündigung fand in Nürnberg eine Konferenz statt und das Gefühl war einfach unbeschreiblich – der Zuspruch, die Aufbruchstimmung, der Enthusiasmus, der Interviewmarathon mit der Presse, noch heute erinnere ich mich wahnsinnig gern daran. Auch die erste CeBIT, ein halbes Jahr nach Projektstart, wird unvergessen bleiben, war sie doch auch die Gelegenheit, zahlreiche Mitstreiter zum ersten Mal seit dem „Launch“ in persona wiederzutreffen. LibreOffice war bereits fest im Vortragsprogramm präsent und wurde, wenn meine Erinnerung mich nicht trügt, auch gleich mit einem Publikumspreis bedacht.

Wir gehen dann mal stiften…

Seit diesen frühen Tagen haben wir einen weiten Weg zurückgelegt. Die Gründung der Foundation – damals ganz bewusst noch als englischer Begriff, da die Rechtsform noch nicht feststand – sollte dabei deutlich länger dauern als zunächst gedacht: Nach Analyse verschiedener Optionen stand schlussendlich fest, dass es eine Stiftung nach deutschem Recht sein sollte, um die Sicherheit und Garantien für unsere Community zu erhalten, nach denen wir so lange gestrebt haben. Das „Ticket“ für diese Rechtsform war der Kapitalstock, in unserem Fall in Höhe von 50.000 € – aber das Problem war, dieses Geld hatten wir schlichtweg nicht. Nach einer mit großartiger Unterstützung der Presse durchgeführten Kampagne erreichten wir binnen acht Tagen unser Spendenziel im Rahmen der „Fundraising Challenge“, wie wir sie genannt haben – lang vor Ende unserer selbst gesetzten Deadline.

Die zweite Herausforderung war das Abfassen der Stiftungssatzung, denn wir wollten die Sicherheit des deutschen Stiftungsmodells kombiniert mit starken Rechten für all diejenigen, die sich engagieren – das Prinzip der Meritokratie. Diese Idee stiftungskonform umzusetzen hat insgesamt beinahe ein ganzes Jahr gedauert. Viele Iterationen der Satzung zwischen Stiftungsaufsicht, Community und unserem unglaublich engagierten Anwalt später war es so weit – die Idee des „Mitglieder-Kuratoriums“ war geboren und zahlreiche gute Rückmeldungen und Anmerkungen zur Satzung dankbar eingearbeitet. Ich erinnere mich noch daran, wie wir gemeinsam auf der FOSDEM 2012 das Stiftungsgeschäft in der Hotel-Lobby vor uns hatten – das dazugehörige Foto muss ich bei Gelegenheit nochmal raussuchen…

Heute zählt die Stiftung an die 200 Kuratoren aus allen Ländern, Kontinenten, Berufsgruppen, Religionen, Sprachen und Kulturen und spiegelt damit die Vielfalt der Community wider und die großzügigen Spenden aus aller Welt ermöglichen es uns, zahlreiche Projekte und Ideen umzusetzen, die anfangs noch undenkbar schienen.

Die Idee freier Software ist dem Stiftungsgedanken dabei übrigens ähnlicher, als man zunächst denkt.

Die erste Konferenz

Die erste offizielle Konferenz nach einem informellen Treffen auf der FOSDEM war die LibOCon 2011 in Paris. Durchaus noch etwas, nennen wir es mal „kreativ“ organisiert – ich erinnere mich an zwei verschiedene Veranstaltungsorte, die Party in einem eher unbekannten Viertel der Stadt und den Tag, an dem ein Referent durch den Raumtrenner auf die Bühne des anderen fiel – war die Konferenz ein unglaublicher Erfolg und mehr als nur Ausdruck des „Community Spirit“, den wir alle die letzten zwölf Monate aufgesogen haben. Seitdem findet jedes Jahr im Frühherbst eine LibreOffice Conference statt: 2012 im Wirtschaftsministerium in Berlin, 2013 an der Universität Mailand, 2014 an der Universität Bern, 2015 in Aarhus, 2016 an der Universität Brno und 2017 wird die Konferenz in Rom ausgetragen.

Einen festen Platz im Programm nehmen auch die Hackfeste ein – Veranstaltungen, bei denen selbst ich als „Alien“ (sprich: Nicht-Entwickler) mich wohl fühle und die uns unter anderem nach München, Freiburg, Hamburg, Gran Canaria oder Brüssel gebracht haben. Der Erfahrungsaustausch mit Gleichgesinnten, das gemeinsame Hacken am Code und das Lernen neuer Fertigkeiten ist wichtiger Bestandteil der LibreOffice-Community und das „Pasta Hacking“ mit den italienischen Kollegen ist mittlerweile schon leckere Tradition.

Es menschelt

Neben der Arbeit „am Gerät“ ist die LibreOffice-Community auch privat zusammengewachsen. Viele Freunde weltweit, Menschen die man rund um den Globus kennt, Einblicke in Kulturen und Lebensweisen, die einem sonst verschlossen wären, auch das macht eine Open-Source-Community aus. Ich persönlich bin ja ohnehin der Meinung, dass man die Arbeit in einem Open-Source-Projekt mit dem gemeinsamen Zubereiten eines leckeren Essens vergleichen kann…

Ob Liebe nun durch den Magen geht, das vermag ich nicht zu sagen, aber im Lauf der Zeit fand nicht nur das ein oder andere LibreOffice-Pärchen zusammen. Es gab auch mindestens eine Projekthochzeit und das erste LibreBaby wurde auch schon auf den Konferenzen gesichtet – die Nachwuchsfrage ist also geklärt.

Auf eigenen Beinen stehen

Mit sechs Jahren haben viele Kinder schon ihren eigenen Kopf und einen ausgeprägten Charakter entwickelt, die Weichen für den weiteren Lebensweg werden so langsam gestellt. Als im Privatleben stolzer Onkel kann ich sagen, dass das eine wunderbare Zeit ist – die Pubertät, die mal mehr oder weniger spannend verläuft, liegt noch weit vor einem, aber schon jetzt zeichnen sich Stärken und Schwächen, Talente und Fähigkeiten ab, die den weiteren Lebensweg maßgeblich bestimmen werden.

Jeder Geburtstag ist etwas Besonderes, jedes neue Jahr wartet mit Aufgaben, Herausforderungen und Erfolgen auf – LibreOffice ist da keine Ausnahme. Und genauso wie der Zusammenhalt in einer guten Familie dafür sorgt, dass es gemeinsam voran geht, genauso sorgt auch der Zusammenhalt in der Community dafür, dass am Ende des Tages die richtigen Entscheidungen getroffen werden und das Kind wächst und gedeiht und Eltern und Freunde mit Freude erfüllt. Im Fall von LibreOffice sind das weit über 100 Millionen Freunde weltweit.

Sechs Jahre ist eine lange Zeit. Die Welt verändert sich, man selbst verändert sich, Freunde kommen und gehen. Umso schöner ist es zu sehen, dass das, was wir vor genau sechs Jahren am 28. September 2010, gemeinsam auf den Weg gebracht haben so erfolgreich ist, so vielen Menschen jeden Tag aufs Neue große Freude bereitet und für viele von uns auf die ein oder andere Art zu einem festen Bestandteil ihres Lebens geworden ist.

Lust bekommen?

Wer jetzt Lust bekommen hat, sich in einem der für mich spannendsten Open-Source-Projekte einzubringen, viel Neues über sich und die Welt zu lernen und dabei die mitunter inspirierendsten und engagiertesten Menschen zu treffen, die ich bislang kennenlernen durfte, der sollte unbedingt bei uns mitmachen, auf eine der zahlreichen Veranstaltungen (beispielsweise in München) kommen oder sich bei einer der nächsten Telefonkonferenzen einwählen! In einem Open-Source-Projekt mitzumachen ist nicht nur gut für den Lebenslauf, sondern auch eine persönliche Bereicherung, die das Leben manchmal ganz schön auf den Kopf stellen kann…

In diesem Sinne: Alles Gute zum Geburtstag, LibreOffice – und bleib so quirlig, gesund und fröhlich wie du bist!

<figure class="wp-caption aligncenter" id="attachment_88" style="width: 300px">Happy Birthday, LibreOffice!<figcaption class="wp-caption-text">Happy Birthday, LibreOffice!</figcaption></figure>

Merken

Merken

Merken

by Florian Effenberger at September 28, 2016 01:16 PM

Björn Michaelsen

Merging Communities

Come together, right now
— Beatles, Abbey Road, Come together

So September, 28th 2016 is the 6th birthday of LibreOffice and at the recent conference, we took a picture of those who were there on day zero:

brno32

As you might notice, I am not on that picture — on day zero I was working at Oracle, and were surprised by the news — like many others in this picture:

brno30

This is everyone at this years LibreOffice conference who used to work on the OpenOffice.org codebase at StarDivision, Sun or Oracle. A few people are in both pictures: Caolán McNamara and Thorsten Behrens were with LibreOffice from the start, but also worked at the OpenOffice.org team in Hamburg at some point in time. Of those working on OpenOffice.org still when LibreOffice started, I was the first to join LibreOffice — I had quit my job for that. It was an exciting time.

Looking back, both of these groups appear small — mostly because merging them, the LibreOffice community became so much more that the sum of its parts:

brno23

And of course, while a lot of people were at the conference, not everyone could
join, so there are more contributors from each of these groups than are in the
pictures. This years “state of the project” presentation showed again that the members of The Document Foundation are a truly worldwide community:

tdf-members

So, like the branches of the different descendants of OpenOffice.org, the
contributors and communities did come together in Brno to push
LibreOffice forward as one!


by bmichaelsen at September 28, 2016 10:58 AM

Official TDF Blog

Happy 6th Birthday, LibreOffice

On September 28, 2010, LibreOffice was announced with the distribution of this press release:

OpenOffice.org Community announces The Document Foundation

The community of volunteers developing and promoting OpenOffice.org sets up an independent Foundation to drive the further growth of the project

The Internet, September 28, 2010 – The community of volunteers who develop and promote OpenOffice.org, the leading free office software, announce a major change in the project’s structure. After ten years’ successful growth with Sun Microsystems as founding and principal sponsor, the project launches an independent foundation called “The Document Foundation”, to fulfill the promise of independence written in the original charter.

The Foundation will be the cornerstone of a new ecosystem where individuals and organizations can contribute to and benefit from the availability of a truly free office suite. It will generate increased competition and choice for the benefit of customers and drive innovation in the office suite market. From now on, the OpenOffice.org community will be known as “The Document Foundation”.

[snip]

The Document Foundation is the result of a collective effort by leading independent members of the former OpenOffice.org community, including several project leads and key members of the Community Council. It will be led initially by a Steering Committee of developers and national language project managers. The Foundation aims to lower the barrier of adoption for both users and developers, to make LibreOffice the most accessible office suite ever.

The Foundation will coordinate and oversee the development of LibreOffice, which is available in beta version at the placeholder site: http://www.libreoffice.org. Developers are invited to join the project and contribute to the code in the new friendly and open environment, to shape the future of office productivity suites alongside contributors who translate, test, document, support, and promote the software.

Speaking for the group of volunteers, Sophie Gautier – a veteran of the community and the former maintainer of the French speaking language project – has declared: “We believe that the Foundation is a key step for the evolution of the free office suite, as it liberates the development of the code and the evolution of the project from the constraints represented by the commercial interests of a single company. Free software advocates around the world have the extraordinary opportunity of joining the group of founding members today, to write a completely new chapter in the history of FLOSS”.

This is a group picture – at LibreOffice Conference in Brno – of many of the people who made that announcement possible, in different capacities:
TDF founders in Brno

From left to right: Florian Effenberger, Tor Lillqvist, Andreas Mantke, Andras Timar, Caolan McNamara, Miklos Vajna, Olivier Hallot, Michael Meeks, Thorsten Behrens, David Tardon, Sophie Gautier, Jan “Kendy” Holesovsky and Italo Vignoli

This is a group picture of the people – mostly volunteers – who attended the LibreOffice Conference in Brno in September 2016, traveling from Asia, Africa, Europe, North America and South America. They are the ones who make LibreOffice and Document Liberation projects possible today.

brno29

What we have achieved in six years, and what you can expect in the foreseeable future

Six years have gone by, and it seems like only yesterday. The Document Foundation has a stable governance, a growing team taking care of daily tasks and a community spanning over six continents (although there might be LibreOffice users in Antartica).

membersmap

During this timeframe, the project has been able to attract new developers for 72 months in a row, quite an achievement for a source code which was said to be extremely difficult to contribute to (at least, when under the OpenOffice name). Last, but not least, LibreOffice has just won Infoworld’s Bossie (Best of Open Source) Awards for the sixth straight year in a row.

newdevelopers72months

bos16-libreoffice-100683495-orig

Starting from tomorrow, we will be focusing on the next major release – LibreOffice 5.3 – which will be launched at the end of January 2017, just before FOSDEM in Brussels. Stay tuned.

For people new to the project, this is a collection of the articles published on September 28, 2010, and still available on the net:

 

by Italo Vignoli at September 28, 2016 09:22 AM

September 27, 2016

Michael Meeks

2016-09-27 Tuesday.

  • Mail chew, commercial call, built ESC stats, synched with a partner.

September 27, 2016 09:00 PM

September 26, 2016

Michael Meeks

2016-09-26 Monday.

  • A series of meetings, team and otherwise through much of the day - feeling really ill & groggy - annoying.

September 26, 2016 09:00 PM

Official TDF Blog

Document Liberation Project interview: Alex Pantechovskis

Alexis Pantechovskis LibreOffice developer

While most of our recent interviews have been focused on LibreOffice, this week we’re talking to someone involved in our sister project, the Document Liberation Project (DLP). If you’ve never heard of DLP before, watch our short video for an overview.

Alex Pantechovskis is a new contributor to the DLP, and has been working on libzmf, a library for importing Zoner Callisto/Draw documents.

Where are you based, what’s your IRC nickname, and GitHub profile?

I live in Lithuania, Vilnius. My IRC nick is AlexP11223, and my GitHub profile is at https://github.com/AlexP11223.

What prompted you to start work on libzmf?

It was a Google Summer of Code (GSoC) project. I thought that this project is interesting for me and the most suitable for my skills, so I contacted the mentor (David Tardon) via IRC and started working on it.

What was the biggest challenge working on the library?

ZMF4 is not the most complex file format (ZMF2 for example is much more complex, and this is one of the reasons why only ZMF4 is supported in libzmf so far), so working with it was not very difficult. But still there were some challenges, mostly related to reverse engineering: in binary formats it is often difficult to understand the exact structure of each element. Some small pieces such as vertical text align in tables are still not covered. Sometimes first attempts are found to be wrong as more details are uncovered, requiring rewrites of related code in the library.

Another challenge is: in some cases, when a feature doesn’t work as expected, it may be difficult or time-consuming to determine what causes this: wrong format understanding, wrong implementation, incorrect usage of librevenge and other libraries, bugs in libodfgen, bugs in LibreOffice…

What do you want to do next? (Either with libzmf or another library)

I don’t know – currently I am busy with studying at university, and some other things. It is possible that I will continue working on libzmf later, to add some of the missing features, or one of the other libraries.

What does the Document Liberation Project mean to you?

A great community doing important work.

How can others help to contribute to the DLP and open up proprietary files?

There are many ways to help. The most obvious is of course development: creating a new import library for some file format or improving one of the existing libraries or tools.

Also, most proprietary file formats do not have published specifications, so in order to work with them the structure needs to be reverse engineered and documented (preferably by contributing to OLE Toy project).

Another way, that does not require any programming skills, is creating and contributing sample documents for regression testing. It is an important but time-consuming task, because the documents should cover all format features (such as all parameters that can be set for a shape in a drawing application, or all text formatting options) and also many formats have more than one versions, so a separate set of documents is needed for each version.

What’s your favourite text editor and why?

For simple text, config files etc. I usually use whatever is available such as gEdit and Vim – on Windows I usually use Notepad++.

For coding I prefer IDEs like Visual Studio (C/C++, .NET) or JetBrains products (web development, Python, Java). I like the features offered by IDEs such as powerful refactoring, code completion, error/warning highlighting, convenient integrated debugging etc., and I have a powerful PC with SSD and a lot of RAM, so performance is usually not an issue. But I understand why many developers prefer editors like Vim (better text editing productivity, consistency, available everywhere), and it is especially relevant for big projects with complex build systems like LibreOffice, where it is hard/impossible to fully integrate (and maintain) an IDE.

During libzmf development I worked on Linux because it would be much more difficult to set up the needed environment on Windows (acquiring/building dependencies like Boost, librevenge, libtool, Autotools), so I used Qt Creator IDE. It allows developers to easily create a non-Qt C++ project from source files – and it worked fine most of the time.

Thanks Alex! And to anyone reading this who wants to get involved, join us and help to free the world from closed, proprietary file formats.

by Mike Saunders at September 26, 2016 12:46 PM

September 25, 2016

Michael Meeks

2016-09-25 Sunday.

  • NCC in the morning, picnic lunch; slugging and tidying. LOTR take-two after tea. Rest.

September 25, 2016 09:00 PM

September 24, 2016

Michael Meeks

2016-09-24 Saturday.

  • Put up Miriam's shelves and mended a music stand in the morning; lunch - out to the races (free tickets) - to see some horses run; not my scene really - an amazing gender imbalance at the race-course: ~all men. Back, watched some Scorch Trials movie with H. and N.

September 24, 2016 09:00 PM

September 22, 2016

Official TDF Blog

LibreOffice wins Bossie Awards 2016

bos16-libreoffice-100683495-origEvery year, InfoWorld editors and contributors pick the top open source software for data centers, clouds, developers, big data analysts, and IT pros. LibreOffice has been selected amongst InfoWorld’s top picks in open source business applications, collaboration, and middleware.

According to Doug Dineley, InfoWorld’s Executive Editor: “Open source software projects continue to fuel an amazing boom in enterprise technology development. If you want to know what our applications, data centers, and clouds will look like in the years to come, check out the winners of InfoWorld’s Best of Open Source Awards”.

by Italo Vignoli at September 22, 2016 07:40 PM

September 21, 2016

Official TDF Blog

Official Results of the 2016 Membership Committee Elections

noun_545315_ccThe board declares the following Members of The Document Foundation elected into the Membership Committee:

  • Katarína Behrens
  • Cor Nouws (tied for first with Katarína)
  • Gustavo Buzzatti Pacheco
  • Gabriele Ponzo
  • Miklos Vajna

The board declares the following Members of The Document Foundation elected as deputy members of the Membership Committee:

  • Stephan Bergmann
  • Klaus-Jürgen Weghorn
  • Charles-H. Schulz
  • Antonio Faccioli

Full detailed election materials are to be found at: https://elections.documentfoundation.org/2016-mc/, with the processed STV result here: https://elections.documentfoundation.org/results.php?election_id=8, and the list of all votes here: https://elections.documentfoundation.org/votes.php?election_id=8

The board wants to take the opportunity to thank all past and new members of the Membership Committee for their service to the community, and all candidates for running. Congratulations to the newly elected committee members and their deputies!

by Italo Vignoli at September 21, 2016 01:18 PM

September 17, 2016

Andreas Mantke

Plone Script Fun

The Plone content management system could run Python scripts from the command line. I worked already with such scripts in the past. I decided to work on a new script that reads the current users of the new LibreOffice extensions and templates website with some additional information (e.g. email-address, roles) and put this information into a csv-file.

Then I want a list of all user names line by line in a text file. The same I want for the contributors to the new website. This will help to regularly clean up the amount of accounts in the new website and delete not used accounts (the diff of both lists).

by andreasma at September 17, 2016 08:16 PM

September 14, 2016

>Szymon Kłos

LibreOffice conference 2016 - Brno


This year again I had the pleasure to attend in the annual LibreOffice conference. This time it was organized in Brno, Czech Republic on September 7-9th 2016.

The conference was very well organized. The conference venue was located in the modern campus of the Faculty of Information Technology at the Brno University of Technology. Every day we listened talks and participated in events on evenings. It was a good opportunity to meet my mentors and other GSoC students. One of the best things is that you can find out who is behind well known IRC nick :)

First day started with opening session and presentation of the state of the project. That day we also took part in HackNight - hacking together in the Red Hat office. My short talk was on the last day of the conference. There was a GSoC panel where we were able to present our projects. At the end we went sightseeing Brno.

I would like to thank sponsors, The Document Foundation and all organizers for a great event.

We also found out where will be organized next meeting.


See you next year in Rome!

by Szymon Kłos (noreply@blogger.com) at September 14, 2016 08:30 AM

September 13, 2016

Miklos Vajna

Using clang-based tools beyond loplugin LOCon lightning talk

The last week I gave a Using clang-based tools beyond loplugin lightning talk at LibreOffice conference 2016, on the last day. Click on the image to see all the slides.

If you’re a vim or emacs user and you work with C++11 code, you probably want to have a look at clang-rename, include-fixer and some editor plugin exposing the power of libclang (like YouCompleteMe or libclang-vim), sometimes these are really helpful.

September 13, 2016 12:37 PM

September 12, 2016

Miklos Vajna

A year in LibreOffice's RTF support LOCon talk

Last week I gave a year in LibreOffice’s RTF support talk at LibreOffice conference 2016, in the development track. Click on the image to see all the slides.

I’ve also published a number of (mostly) sightseeing pictures based on wondering around in Brno before and after the conference.

September 12, 2016 07:55 AM

September 11, 2016

Jan Iversen

Birthday and Libreoffice staff meeting in Brno

I became a year older today, while attending our staff meeting in Brno.

My collegaues surprised me in the morning with a birthday song, something that has not happened in many many years.

At lunch time, they gave the BIG SURPRISE, a cake and a bottle of italian “champagne”

BRNO, Staff meeting, LibreOffice

A BIG THANK to all my collegaues for making this day more special than normal.

The libreoffice community is really about having fun !!

 

THANKS


by jan at September 11, 2016 04:42 PM

Charles Schulz

Women & Free Software projects

I have never written about this rather sensitive topic before, but I recently realized that when we set up the concept of “Native-Language Communities” back in the old days of OpenOffice.org, the general idea was to allow everyone to participate to a Free Software project. Now, the stated ability -the basic freedom if you will- for women to contribute to any Free Software project has never been offically questioned. The reality, however, is more complex.

Surveying a broad range of Free & Open Source Software projects will highlight one unmistakable trend: Only very few women may be counted as contributors (active, regular, or otherwise) . Even The Document Foundation that is rather on the top of the projects with several women on the board of Directors, part of the foundation’s staff and among the most active developers, the community likely has about a dozen female contributors. A dozen over several hundred contributors: that’s not much. It is possible to explain this relative absence of female developers by several social and cultural factors (some jobs and industries tend to attract more males than females, etc.) . To a large extent that is probably true. What these factors do not take into account, however, is the social games of discrimination towards female developers occuring in some communities.

To many women, a large social group of men they are supposed to join may be intimidating – the same could probably be said of any men joining a large social group primarily populated of women. But when what looks intimidating reveals itself as being actually oppressing , that is the moment we have a true problem. Male developers shunning, criticizing, belittling and offending female developers because they are females, even when not necessarily expressed in an explicit way, is purely not acceptable. It is neither on the most basic moral grounds nor in the letter and spirit of the Free Software movement. The Internet, unfortunately, reveals protracted bullies, the kind of people who would probably not have the guts to ask the targeted woman out, or even not dare look at a female developer in the eyes and tell her what he would be able to write from the comfort of his own keyboard, miles away from her.

In the Free & Open Source Software projects, a particular attention must then be paid to this double issue: ensuring female contributors feel at ease participating to the community while ensuring that no form of discrimination based on sex (or race for that matter) is explicitly or implicitly tolerated as an acceptable behaviour. In concrete terms, clear rules against discrimination should be laid out and enforced – the latter being the key part of the solution – while a number of ideas should be explored in order to ease the participation of female contributors to Free Software projects. The Debian Women project is in many ways a great testbed for future initiatives.

Meanwhile, let’s all remember that regardless of our personal views on society, religion, politics and other topics, no one should be discriminated for its involvement and contribution to Free Software projects. Free Software is too important to let it sink under those issues, and female contributors deserve the same respect and the same roles as male developers. Software freedom comes for everyone.

by Charles at September 11, 2016 10:08 AM

September 10, 2016

Jiri Eischmann

LibreOffice Conference 2016

LibreOffice Conference 2016 is over and for us organizers it’s a time to reflect.

libocon16-logo

It was the third big open source desktop conference we’ve managed to get to Brno (after GUADEC 2013 and Akademy 2014). 3 days of talks, 150 attendees from all over the world, 4 social events.

The conference went pretty well from the organizational point of view. Feedback has been very positive so far. People liked the city, the venue (FIT BUT campus is really, really nice), the parties, and catering during the conference. TDF board even lifted Red Hat to the highest sponsorship level for the amount of work we did for the conference. The only major bummer we had was no online streaming. It’s quite easy to set it up with the university’s built-in video recording system, but the university didn’t allow it in the end. Nevertheless, we treated online streaming as nice-to-have. Video recordings are important to us and we’ll do our best to get them online as soon as possible.

I’ve (co)organized quite a few international conferences, but what was new for me was an attendee who gets seriously sick and needs medical services. One of the Libocon attendees got a serious infection in his leg and we spent a lot of time driving between hospitals, talking to doctors, arranging things. Everything ended well and the attendee got so better than he was even able to fly back home as he planned originally which didn’t look very likely at the beginning.

What I really don’t like doing is being an organizer and speaker at the same conference. As an organizer you’re just too busy and can’t concentrate on a talk you’re supposed to deliver. I volunteered to do an introductory talk in the Friday’s Czech track. I was even given already prepared slides and using someone else’s slides is another thing I don’t like doing. So as you can imagine it was not one of the best talks of my career🙂 But the Czech track turned out to be quite good overall. I just wish more people had come, but if you only have <2 weeks to promote the program you won’t get crowds to the conference.

I’d like to thank The Document Foundation for a great cooperation, and all attendees for being so kind and forgiving us minor glitches in the organization. It was an exhausting, but great experience, and I hope to see everyone in Rome next year where I can again be in the comfortable seat of a visitor.


by eischmann at September 10, 2016 03:05 PM

Markus Mohrhard

Writing a LibreOffice Calc UI test

After the blog post describing the design of the UI testing framework I wanted to quickly follow up with a post showing how to write a simple test.

As is a bit expected (in the end I’m still a calc developer😉 ) currently the support for calc tests is better than for other applications. There is already support for writer, impress and math with different degree of completeness. Especially the special main windows have only a limited support for special operations right now. A future blog post will show how to add introspection support to a special UI element.

In this blog post I will show how to add a simple Calc UI test that creates a range name.

Basics

We will start with a new file that contains just the minimal boilerplate code to have a new test that is discovered by the test framework. We place the file in the uitest/calc_tests directory as this one is listed in uitest/UITest_calc_demo.mk to contain test code.

Inside of any class derived from uitest.framework.TestCase any method with a name starting with test will be executed by the test framework. We will simply name our method for now test_number_format

 

Writing the test

Let us start with the code and explain on the code what each part does.

1  from libreoffice.uno.propertyvalue import mkPropertyValues
2
3  from uitest.framework import UITestCase
4
5  class CreateRangeNameTest(UITestCase):
6
7      def test_create_range_name(self):
8
9          self.ui_test.create_doc_in_start_center("calc")
10
11         self.ui_test.execute_modeless_dialog_through_command(".uno:AddName")
12
13         xAddNameDlg = self.xUITest.getTopFocusWindow()
14         xEdit = xAddNameDlg.getChild("edit")
15
16         actionProps = mkPropertyValues({"TEXT":"simpleRangeName"})
17         xEdit.executeAction("TYPE", actionProps)
18
19         xAddBtn = xAddNameDlg.getChild("add")
20         xAddBtn.executeAction("CLICK", tuple())
21
22         self.ui_test.close_doc()

 

Obviously line 1 and 3 just import the method and class that we need.

Line 5 creates a class that inherits from our UITestCase class and therefore all methods in it will be executed as test cases.

Line 7 defines the test method. Note that the method name needs to start with test to be picked up by the test framework.

The test framework starts LibreOffice and opens the start center so line 9 is a helper method that clicks on the Calc button in the start center and waits until the document is ready.

By line 11 we have a working calc document and need to open the range name dialog. There are a few helper methods for this in the UITest class. All dialogs are opened by sending an UNO command ID (in our case “.uno:AddName“) instead of going through the menus. Currently there are two separate methods for modal and modeless dialogs but the plan is to combine the two methods into one. As soon as this method returns the dialog is ready and we can work with the dialog.

Line 13 and 14 select different UI elements. In line 13 we get a reference to the current top window that has the focus. This is the window that represents the whole dialog. From this UI element we ask for the child with the ID “edit”. The ID is imported from the ui file of the dialog. xEdit now contains a reference to the name edit of the dialog.

Line 16 and 17 send a string that should be typed to the edit. mkPropertyValues in line 16 creates the required com.sun.star.beans.PropertyValue sequence from a dict. In line 17 we send this sequence as argument to executeAction. The first argument to the method is the action that should be executed on the UI element. For the TYPE action the framework generates keyboard events that are sent to the element.

Line 19 and 20 select the “add” button and send a “CLICK” action closing the dialog. At this point we could add any code we want to assert that the range name has actually been created correctly.

Finally in line 22 we close the document. The UITest.close_doc method correctly handles the query dialog requesting confirmation that we want to discard all changes.

Running the test

Before we push the test to master we should obviously check that the test is working. A simple way is to execute all UI tests in the uitest module through make uitest.uicheck. However we would like to see the UI while the test is being executed and the tests are run headless by default.

The solution that I currently use is a simple script starting a test. Obviously the plan is to have a better solution in the framework at some point.

When you execute the test with the visible UI you’ll notice that the test is too fast to see what is going on. A quick and dirty solution is to add python’s time.sleep which stops execution for a bit. The other solution that you can actually leave in the code (only leave a few useful ones in a test) in interesting places is uitest.debug.sleep. This method is ignored unless the test is started in debug mode by passing the --debug parameter to the test.

More

You can see the test in the repository in the uitest/calc_tests/create_range_name.py file. The second test in that file shows how to create a local range name by selecting the second entry in the combo box.

More blog posts and wiki pages documenting the UI test framework are going to follow soon.

If you have any question or suggestion please contact me.


by Markus Mohrhard at September 10, 2016 04:20 AM

September 09, 2016

Miklos Vajna

Collaborative editing using LibreOfficeKit LOCon talk

Yesterday I gave a Collaborative editing using LibreOfficeKit talk at LibreOffice conference 2016, in the development track. There were many interested parties — not a surprise, as this is the power horse behind LibreOffice Online. :-)

September 09, 2016 07:45 AM

September 08, 2016

Miklos Vajna

Improved digital signature handling in LibreOffice LOCon talk

Earlier today I gave a Improved digital signature handling in LibreOffice talk at LibreOffice conference 2016, in the development track. The room was well-crowded — seems this year classification was a hot topic. ;-)

Quite some pictures are now available on Twitter, don’t miss them.

September 08, 2016 01:45 PM

September 07, 2016

Markus Mohrhard

UI testing in LibreOffice

Anyone familiar with testing in LibreOffice knows that for a long time we have had one huge weak point in our testing infrastructure. Until now we were more or less unable to do any UI testing which means we had no chances to test a fairly big part of our code base. We have existing tests for import and export, for performance problems, for normal low level classes and even two frameworks for our UNO API. More or less for everything except for our UI we already have a solution that works quite well.

This post will outline why it took until now to add the UI testing framework and how the design tries to solve some of the weak points of existing UI testing approaches.

Difficulties of UI testing

I have been discussing different designs for an UI testing framework for a few years with other developers at various conferences but never felt like one of the designs would not cause more problems than it solves. I’ll outline below how the new UI testing framework solves some of the problems that I have with other concepts.

My list of requirements for a good (UI-)testing framework are:

  • Easy to add a test: This is even more important in an UI testing framework where we ideally want the UX team to add test cases as well.
  • Stable across unrelated changes: I don’t want to see failing tests because someone changed an unrelated part of the code. In the UI case this also includes that the test should not fail because someone renames a button or moves an UI element. This requirement is meant to reduce the maintenance costs of the tests.
  • As close to the code paths triggered by an user as possible: We want to test the code that is used in production and not some random test code.
  • Does not need random sleeps: Needing to add sleeps to deal with asynchronous events makes executing the tests brittle and includes random false positives.
  • Low number of false positives: Obviously if the number of false positives is too high developers start to ignore test failures.

 

This is a quite complex list and even the proposed solution might not always be able to fulfill all the requirements but at least it should improve compared to the other considered solutions. The most common solutions for UI testing that people propose are using the accessibility framework or hard coding the path to UI objects. However in my opinion both solutions have some problems that make them unsuitable as testing concepts in LibreOffice.

The hard coded path approach obviously is not stable across UI changes and becomes brittle across different OS versions. The big advantage compared to many other approaches is that you can in theory just record an user interaction and replay it during the tests. Also it would work with any version of LibreOffice without any changes but you pay with increased maintenance costs.

The accessibility based approach suffers from our poor quality of the accessibility code (some people will argue that it is a chance to clean it up) and that the code is not that close to what happens if a non-accessibility user does an action. Sadly the code is not yet stable so at least for a long time until we manage to improve the accessibility code significantly we would suffer from regularly failing tests which in the long run means that developers start to ignore the tests.

Compared to the hard coded path approach the accessibility idea is already an improvement from the maintainability based approach and is used in quite a few programs. However it still does not completely solve the problem of changing dialogs and it is much mroe complicated to write a test.

Design

To solve the problems outlined above the new framework trades upfront costs for easier maintenance later. From a mile away the UI testing approach is based on a bit of newly written introspection code interacting with a testing framework in python through a simple mostly un-typed UNO interface. To identify objects we use the ids that we introduced for loading dialogs from UI files.

Introspection code

The introspection code is a small bit of code around UI objects providing a simple standard interface to each UI object. The interface provides methods to get state and properties of the UI objects as well as sending commands to the objects. For a button a property could be a label and an action could be sending a click command. The introspection library would then call the method on the VCL button object that is called by a real button click.

Obviously we are still not directly taking the same code paths with this introspection code as a real mouse click but we can get as close as possible as any automation framework that is not sending real mouse events can get.

Introspection code for many commonly used UI objects is already available and adding new code for UI objects that are not yet covered is simple. More details on how to add such introspection objects will be added to the wiki page soon.

To solve the problem that many UI operations happen asynchronously we have added some events (for now only for opening dialogs) and will use events as a way to make the tests more reliable. Existing events that get reused are the events for signaling that a document is ready and that the document has been closed.

Finding an object is solved through the ID that we most of the time get from the ui file. Nearly all of them are locally unique so they make for some great identifiers that stay unchanged even when a dialog is reorganized or a new element is introduced. Obviously this would still cause issues when a button is moved from one container widget to another one and we ask the old one for a child with the ID. However as we assume locally unique IDs we just always walk up to the top level window (either of the dialog or the whole document) and search for there.

Python testing framwork

The actual tests are not written in C++ and while I’m normally not a fan of using different languages for writing tests it seems like the right decision here. The tests only interact with LibreOffice through the UNO interface and we want to lower the barrier for adding UI tests compared to our complicated internal C++ tests (which are still much more useful for anything that you need to debug regularly). Additionally debugging of the UI tests can normally happen by invoking the UI operations manually whereas debugging one of our other tests is bound to some function calls.

The testing framework is split into three parts: the test cases, the framework code specific to UI testing and useful UNO code. Splitting the last part out from the rest allows us to collect useful code snippets that can be used in other places or even by external developers interacting with LibreOffice. An example that is already in the framework code is the code used to start LibreOffice and create a socket connection.

Adding a new test mainly requires to create a class that derives from the main test class and through introspection each method whose names starts with test will be executed (an example; the sleeps are just for visual inspection).

To make the life easier there is a UITest object that provides access to some common operations like opening a dialog and waiting for the event that the dialog is ready.

 

Open issues

The implemented test framework trades stability of the tests against less code. For now only the most common UI objects have introspection code, which still covers around 90% of the objects, but there are still corner cases where we need to add more code to the introspection library. Nevertheless you can already write tests for many of the dialogs and can already inspect some of the demo code that I have written.

I’m also still chasing two race conditions that make the tests deadlock or fail. The deadlock case is already handled by a patch that is in gerrit and just not yet pushed to the repository, but the case that Impress tests fail with the new template chooser is still under investigation(the time.sleep in [1] are currently mandatory).

I would also like to move some of the tests([2],[3],[4],[5]) from the uitest module into the correct application module (sc for calc, sw for writer, …) but that needs some more makefile code.

Another open issue is still how to best organize running the uitests under gdb. There is some support already but sadly it is not working as well as it should.

Conclusion

I’m going to add more documentation in form of blog posts and wiki pages soon but you can already get an idea of how the tests work by inspecting the code in the uitest module.

Executing the tests should mainly work (except for the two problems mentioned above) with a make uicheck or make uitest.uicheck after a successful make.

Please report all problems and suggestions to me so that I can integrate them into the new framework.


by Markus Mohrhard at September 07, 2016 05:46 PM

Andreas Mantke

New Release For The New LibreOffice Templates Site

I worked on some more bits of the Plone 5 add-on for the new LibreOffice templates website. There were especially some localisation tags missing etc. I updated them and the corresponding localisation template file. The new release ships also with a first localisation into German. The source code is available at the repository of The Document Foundation at github (https://github.com/tdf/tdf.templateuploadcenter).

The new release is available at the ‚Cheeseshop‘:
https://pypi.python.org/pypi/tdf.templateuploadcenter/0.10

by andreasma at September 07, 2016 02:06 PM

September 06, 2016

TDF Infrastructure Status

jenkins (ci) unavailable

Jenkins VM has gone bonkers, to recover we need to move other VMs off the hypervisor to be able to reboot. Sorry for any inconveniences this might cause - other services should continue to work without interruption.

by The Document Foundation at September 06, 2016 10:00 PM

September 02, 2016

Jan Iversen

GSoC 2016 is over

Google Summer of Code 2016 have ended, now we can evaluate.

I was Org. admin for

image

We got 12 slots from Google, which was used to create some awesome changes in LibreOffice, which will be released later this year with 5.3.

I am proud to see that Google recognises our consistent work, to deliver the best open office package on the planet…and even keep it free.

Thanks to all the students who participated, you can be proud of yourself. We had 86 Students apply for the 12 projects, so election was tough decisions, but I would like to thank all students who applied for projects, thanks for taking an interest in LibreOffice.

It is our hope that we will be able to run more projects at GSoC 2017.

Looking forward to talk/mail with students again next year. In the meantime we do not sleep, and I continue to help new contributors:

Developers get involved

http://www.libreoffice.org/community/get-involved/

And just for the fun of it, Google just mailed me a certificate

gsoc_mentor for jan iversen

 

Have a nice time out there.

Jan Iversen


by jan at September 02, 2016 06:03 AM

August 31, 2016

LibreOffice Design Blog

Tickets on behalf of UX

The simplest way to contribute to LibreOffice is to submit bugs and enhancement requests to our bugtracker. This is also true for design and usability related issues, where up until now we had the ux-advice component that these bugs

by The LibreOffice Design Team at August 31, 2016 01:26 PM

August 28, 2016

Andreas Mantke

OpenSuSE Leap 42.1 and Brother MFC 7320

I tried to get the scanner of a  Brother MFC 7320 into work with openSuSE Leap 42.1. I could install the software with a script ‚linux-brprinter-installer-2.0.0-1‘ downloaded from the support page of the vendor. But there was an issue with the conection to the scanner via USB-Port. Although the model is not new the scanner was not listed in /etc/udev/rules.d/55-libsane.rules. I looked with scanimage -L out for the scanner and it was listed. Then I run lsusb and got the vendor-id and the device-id. I added a new entry to the libsane.rules file:

# Brother MFC-7320 ATTR(idVendor)==“04f9″, ATTR(idProduct)==“01eb“, MODE=“0664″, GROUP=“lp“, ENV(libsane_matched)=“yes“

Then I had to add the user to the group ‚lp‘ and after a restart the scanner works.

Xsane got the scanner and I could also use the automatic scanner utility to scan more than one page at once. There is a special mode for this in xsane for this (drop down menu on the top right). I had to count the pages of the multipage scan and put the number in the field on the top left. There is a pop up window where I had to create a multipage project. Then everything was done by xsane and its toolbox.

by andreasma at August 28, 2016 08:08 PM

New Release For Extensionuploadcenter And Update Of Testwebsite

I worked on the localisation of the Plone add-on tdf.extensionuploadcenter and added the last bits. I published a new version with this changes and a first localisation into German today.

The testwebsite for the new LibreOffice extensions templates repository uses this new release and also the latest release of tdf.templateuploadcenter. Thus it reflects the current development status.

by andreasma at August 28, 2016 02:11 PM

August 27, 2016

Andreas Mantke

Localisation Of The TDF-Extensionuploadcenter

The new LibreOffice extensions website will be driven by a new Plone add-on (tdf.extensionuploadcenter). I released a new version of this add-on some days ago. I’m working on the localisation of this add-on yet. I already created a translation template file (*.pot) and compiled a localisation file from it. I used the latter for a translation of the strings to German (as proof of concept).

by andreasma at August 27, 2016 10:36 AM

August 26, 2016

Charles Schulz

What makes a great Open Source project?

Recently the Document Foundation has published its annual report for the year 2015. You can download it as a pdf by following this link, and you can now even purchase a paper copy of the report. This publication gives me the opportunity to talk a bit about what I think makes a great FOSS project and what I understand may be a great community.

If it is possible to see this topic as something many people already went over and over again, think again: Free & Open Source Software is seen as having kept and even increased its momentum these past few years, with many innovative companies developing and distributing software licensed under a Free & Open Source license from the very beginning. This trend indicates two important points: FOSS is no longer something you can automagically use as a nice tag slapped on a commodity software; and FOSS projects cannot really be treated as afterthoughts or “nice-to-haves”. Gone are the days where many vendors could claim to be sympathetic and even supportive to FOSS but only insofar as their double-digits forecasted new software solution would not be affected by a cumbersome “community of developers”. Innovation relies on, starts with, runs thanks to FOSS technologies and practices. One question is to wonder what comes next. Another one is to wonder why Open Source is still seen as a complex maze of concepts and practices by so many in the IT industry. This post will try to address one major difficulty of FOSS: why do some projects fail while others succeed.

My analysis is that because FOSS is a combination of several utterly different things (licensing, collaborative practices, philosophy, ethics, business models…) it is quite hard to claim that FOSS has “won” anymore that it has “lost”. Business models may for a time and under the right circumstances bring convincing proof of their relevance. Licenses may or may not gain popularity among projects because of a variety of factors. Philosophy may evolve to encompass new technological challenges (Free Software and cloud computing), etc. But what does a successful, friendly and great Free Software project do? What does this mean? Below are a few points that I believe to be key parameters to have a striving and growing FOSS project:

A clear and clean intent: The original author(s) of the project should be clear about their intent and the reasons that make them start the project. If it sounds obvious or perhaps some sort of justification no one should have to make explicit, in my experience there are wrong reasons to start a project and often bold claims that are made in order to “cover up” the initial intent behind the project. I remember clearly that just a few years ago, an established vendor “dumped” -really there is no better word than this one- a code base for an application development framework on to Apache. Apache also accepted the code dump of the OpenOffice.org codebase to Oracle, but I will not quote this example as it could be taken as an easy trolling from yours truly. So let’s go back to the other, unnamed Apache project. The vendor at the time made bold claims that it wanted to push its development framework to the top and make one of the most used tools in that category. Because it would be Open Source, it would automagically attract new developers behind the project and new developers as consumers of that framework. Fast forward till today: the vendor still has some resources into the community, but the project, while relatively active, is nowhere where it could have been and the community quite endogenous (i.e: the affiliation of developers shows a clear lack of diversity). The problem with the initial intent was that the bold claims the vendor made at first were not reflecting the reality of what it actually wanted to do: lower its costs in a highly competitive field while finding a plausible exit strategy.

Clear rules, clean governance, simple goals: This seems like a no-brainer, and yet many projects fail at addressing these points to this day. By clear rules and clean governance, original developers should make it easy for contributors to, well, contribute. It may be more difficult than it seems. It is easy enough (sometimes) to publish the code repository; less easy to justify a distributed code revision tool (aka Git but there are others) over a centralized one like SVN; it is however much harder to attract non-developers to the project, because this usually entails having quality assurance practices everybody agrees on, a workflow for documentation, volunteers for users support, and perhaps some low-hanging fruits in the field of devops and infrastructure. The challenge, then, is to weld in all these bits and pieces together to have an effective process generating code, happiness, and revenue (not just for the original developers though). Clean governance is trickier. It does not only rely on clear rules although they do make up for a large part of the governance. It does not just imply transparency. Clean governance exists and works well when no contributor can have its hand forced by a party that essentially yields too many resources in the project. Clean governance, in a nutshell, exists when no one can seriously make the claim that the game is rigged. You will find many projects with “one”, most important (corporate) contributor, and many will claim the project works well. I’m sure it does, but my experience shows that the imbalance that may not affect the everyday’s life of the community can gradually transform into a dysfunctional project with an ineffective governance that is rigged and only able to serve one party’s interest. It should be added that Free Software by itself does not make claims against such situations as the largest contributor should pretty much have the largest influence – and that’s fine with me. It is fine in smaller scale project with one contributor; and yet again it still raises the question of what would happen if that person were to leave the project. On this point, there’s no easy answer; but ensuring there’s as little imbalance as possible is a good thing to do. I’ve set aside simple goals because far from being a mere slogan, there are actually an important factor among the rest. Whatever the goals and intent of the original developers may be, a large or small part of it may not be shared by every contributor to the project. And that’s all right of course: the project exists and finds its coherence on the “segment” of the goal(s) that is actually the common interest shared by all the contributors of the project. If your own, ultimate goal is to build and fly a transcontinental airliner, it may well be that I’m only interested in powerful jet engines; or that I may be interested in a military airfreighter. So while we may not work all the way up to the airliner, we will work together on at least one specific project: the jet engine. This is where our combined interests align. Simple goals then are understandable, articulate, and stand a much better chance to be shared by a lot of potential contributors.

Good licensing & open doors: What’s good licensing? Don’t expect I will impose my views on what’s the best Free and Open Source Software license. I do have an opinion on the subject but it does not matter. Good licensing is licensing that is both well accepted by the contributors, and implies no or a minimum amount of friction and potential games to be played. Also, copyright aggregation is a no-go for many developers, even for a good cause. If it is to ensure the codebase has an unified IP in order to protect the “intellectual property” of the code base or avoid legal issues, other tools exists, such as declarations of origin whereby the contrbutor states that its contributions are indeed its own. This now leads me to what I call open doors. An open doors policy is the opposite of what’s happening in the Hotel California song, where you can get in but never leave. “Open Doors” truly empowers the developers and other contributors who want to participate and bring meaningful and important contributions. Yet this principle should never bend the rules of the project so that ignores the barriers to entry. In other words: I’ve been a strong advocate of the meritocracy principle for years. I have witnessed an unmistakable trend: meritocracy works in FOSS projects. It does work very well indeed. What it does not do, however, is to ensure that the barriers to entry to a project are both documented and low enough as to enable the potential involvement of as many parties as possible. Because of this, you could easily describe projects with proper meritocratic governance and transparent processes, but with a “domination” of just a few parties, one software vendors dominating the rest. Whether that would be an unspoken yet desired outcome remains to be debated of course.

With these few ideas in mind, I hope I’ve given some sort of “analysis chart” of what makes a good Open Source project. If we live in an era where even Wired titles that Open Source has won, maybe it’s time to improve and perfect our art. We’re not done with Open Source, we have just started.

by Charles at August 26, 2016 08:12 PM

August 21, 2016

>Akshay Deep

GSoC with LibreOffice: Work Product

Google Summer of Code 2016 is coming to an end. It was an awesome experience and I got to learn something new every time I switched my linux on. I was assigned a project before the start of GSoC with my mentors, Samuel Mehrbrodt and Yousuf Philips, but I managed to complete two projects in the given time frame.Here is the link to my GSoC Introduction blog. This blog post provides an overview of the projects I’ve contributed to LibreOffice during GSoC and it’s significance in the professional working environment.

List of latest Commits

Total commits count: 61 patches in master and 31 backport commits to LibreOffice 5.2.

LibreOffice gave me commit access soon after the GSoC coding period started. I also committed few patches of other developers.

I will now continue with an overview of my projects.

Project 1: Redesigning the Template Manager [Blog]

The above link provides description of all the functionalities which are there in the new design. The dialog has gone through a major rework solving the defects which were surfacing in the previous template manager for ex: visible empty folders.

Initial Commit: https://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-5-2&id=ca040d16d06fead95ad7ed8d10f5995fbade1219  New Template Manager

After the initial commit, I continued with my work and a series of major and minor commits were made to implement the functionalities. The commits can be found in the commit lists provided above. I’ll mention three of the important ones here.

After this project was completed, me and my mentors decided to take another project. It was Samuel’s idea to create an emoji toolbar control and we discussed the development process in detail.

Project 2: Emoji Toolbar Control [Blog]

The above blog contains all the information about the emoji control.

Initial Commit: https://cgit.freedesktop.org/libreoffice/core/commit/?id=72e6f08c692c0625db5ce377fb478a99660adb0d  GSoC Emoji Control

Adding Noto Emoji font to LO installation: https://cgit.freedesktop.org/libreoffice/core/commit/?id=ecb096841a1d7b4d468ba111df4ebafc13134c8e

Miscellaneous Tasks

and so on..

There was so much to learn during GSoC and I would like to thank the LibreOffice community for continuously helping and supporting me to complete the projects.

Thank you Google for such an awesome summer program. 👌


by akkidevblog at August 21, 2016 05:56 PM

>Susobhan Ghosh

GSoC Final Report

As Google Summer of Code 2016 draws to a close, I’d like to summarize my work for LibreOffice on the project - ‘Review of Sidebar and it’s functionality’. I had an awesome experience working with the LibreOffice community, under the mentorship of two amazing people - Katarina Behrens and Yousuf Philips.

This post aims at linking and listing out all the feature milestones developed during my project and the relevant commits, along with the goals missed and work to be done in the future.

Milestones Achieved

  1. Writer Page Deck - You can read the enhancement report here and the blog post describing the feature here.

    Commits


  2. Slide/Page Properties Panel for Draw and Impress - You can read the enhancement report here and the blog post describing the features here.

    Commits


  3. Shapes Deck - Default Shapes Panel for Draw - You can read the enhancement report here and the blog post describing the features here.

    Commits


  4. Media Playback Panel - You can read the enhancement report here and the blog post describing the features here.

    Commit


  5. Import Bitmap functionality in Area Content Panel - You can read the enhancement report here.

    Commit


  6. Styles Preview Checkboxfor Styles & Formatting sidebar - You can read the enhancement report here.

    Commit


  7. Miscellaneous Commits

Milestones Missed

  1. More Shapes Panel for Shapes Deck - You can read the detailed enhancement report here. This is a work in progress, and I was stuck at how to load the categories of shapes into LibreOffice, folder wise, similar to the Gallery. The draft of the work done can be found here (please mail/ping if you cannot access the patch).

    At the end, I have been focusing more on QA tasks to improve the quality of my existing contributions, instead of developing new panels and functionalities like Documents-level measurement (tdf#98453), Grid & Guidelines Panel(tdf#98820), Find & Replace Panel etc.


You may find all my gerrit patches here in one go, and most of my merged commits here too.

Overall, a summer well spent. I’ll be contributing to LibreOffice even after the completion of GSoC, aiming to fix the rest of the Sidebar issues. Happy Hacking!

August 21, 2016 12:00 AM

August 20, 2016

>Susobhan Ghosh

Media Playback Panel

If you’ve ever complained about the media playback toolbar taking up your precious screen space at the bottom, this one’s for you! The upcoming LibreOffice 5.3 will host the new Media Playback Panel in the Properties Deck.

The controls mainly draw inspiration from the ones in the Media toolbar at the bottom, and I’ll be describing the same in this post. This is a contextual panel, only showing up when a media item is selected.

The entire enhancement report can be found here. I myself have been working on this, with the help of my mentors - bubli (Katarina Behrens), and jay (Yousuf Philips).

#Features#

  • The Playback Toolbox housing 4 buttons to control media state:
    • Play: Play Media
    • Pause: Pause Media
    • Stop: Stop the playing Media (default selected when Media is not playing)
    • Loop: Sets the media playback on repeat
  • Seek slider: Slider to seek Media item at a particular time.
  • Time Status Box: Displays the elapsed and total time of currently playing and selected Media item.
  • Volume Slider: Slider to increase or decrease volume of Media item according to need.
  • Mute button: One click button or unmute selected Media item.

August 20, 2016 12:00 AM

Shapes Deck: Default Shapes Panel for Draw

One of the major improvements to Draw in the upcoming LibreOffice 5.3 is the introduction of the Shapes Deck. The Shapes Deck was envisioned to house two panels - Default Shapes Panel and More Shapes Panel. This post aims to describe the functionality of the Default Shapes Panel.

The entire enhancement report can be found here. The design session for the Shapes Deck can be found here. I myself have been working on this, with the help of my mentors - bubli (Katarina Behrens), and jay (Yousuf Philips).

The Default Shapes Panel is basically a catalog of all the shapes present in the shapes toolbar of Draw. It hosts 153 shapes spread out over 10 categories, namely:

  • Lines & Arrows
  • Curve
  • Connectors
  • Basic Shapes
  • Symbols
  • Block Arrows
  • Flowchart
  • Callouts
  • Stars
  • 3D Objects

The panel has been made scrollable to save space for the upcoming More Shapes Panel, which will be implemented right below it.

That’s all folks!

August 20, 2016 12:00 AM

August 19, 2016

>Akshay Deep

Emoji Toolbar Control 😎

Someone has rightly said, Emojis are the color of life 🎂. It’s use in text based softwares and editors are properly justified. LibreOffice was lacking this cool feature 😐. Me and my mentors, Samuel Mehrbrodt and Yousuf Philips, decided to work on Emoji integration in LibreOffice as part of my GSoC contributions.We planned to create a working control with proper emoji font support by the end of summer of code. This post provides an overview of the work done. The entire description of the idea can be found here Discussion on Emoji Integration.

User Interface

  • Control to be available in Writer, Impress and Draw, accessible via Standard Bar.
  • No UI idea proposed throughout the discussion. Hence, I was free to use any sort of widgets to facilitate the purpose.
  • Use of tabs to filter emojis based on categories
  • Emojis should appear as a grid
  • Easy insertion, unlike special character control which uses a modal dialog as of version 5.2
  • Font support (Removal of tofu char 🤓 )
  • Functionality should be present as a toolbar control, primarily in Standard bar
  • Proposed search filter (Only after the emoji details are translated and made locale-dependent)

 Backend, JSON Database and Font Support

  • Populate the control by parsing a JSON file which contains the data of all the emoji glyphs
  • Support most of the unicode glyph by packaging a emoji-specific font ‘Noto Emoji‘ by Google
  • Insert the unicode glyph to the editing pad formatted by the Noto font
  • Orcus JSON Parser to parse the json data file
  • Glade for UI designing and custom widget integration
  • Creation of custom widget to render font glyphs as a grid
  • Facilitate glyph insertion using InsertSymbol uno command.

Emoji Toolbar Control

After some pre-planned development and tricky debugging, I finally managed to get the toolbar control working. The beta version of toolbar control was merged and is ready to use, thanks to the help and guidance I got from my mentor and LO developers. Patch: GSoC Emoji Control: patch which makes all the above changes to LO.

emoji3a.png

Emoji Toolbar Control

Emojis gets inserted into the pad on clicking the respective emoji.

emoji4b.png

One should remember that unlike svg or png emoji, these emoji are glyphs of a particular unicode sequence. They hold all the properties of normal texts. Their colour and size can be changed just like any other character glyph.

emoji48.png

The enhancement still needs some love to become bug free. The emoji control is hidden in the standard bar by default. It can be activated by right-clicking on the standard bar and going to Visible Buttons > Emoji Control. Another way to do so is by using the Customize dialog. Go to Tools > Customize and navigate as shown in the picture below.

emoji5b.png

Activate Emoji control from customize dialog

The foundation for this enhancement has been built now. Further improvements have been proposed like:

  • Filtering of unsupported glyphs
  • Removal of duplicate glyphs (multicolor emoji are treated as duplicate glyph) as multicolor glyphs are not supported by any font
  • support for svg emoji, etc.

Cheers 🍻


by akkidevblog at August 19, 2016 11:25 AM

>Szymon Kłos

GSoC 2016 - Infrastructure for defining toolbars via .ui (Glade) files - Final report

My all commits can be found here: https://cgit.freedesktop.org/libreoffice/core/log/?qt=author&q=eszkadev%40gmail.com

Tasks from my proposal


Done:
  • Loading of different toolbar definitions in the Writer, Calc and Impress
  • NotebookBar and Classic mode switching
  • Mechanism to show/hide widgets depending on the context
  • Priorities for widgets to allow dynamic hiding according to screen size
  • Improved look of various widgets for their presentation in the toolbar

Not finished:
  • Mechanism to add new tabs for the extensions
  • Mechanism to customize the toolbar

Main changes


  • Controls converted to be used outside sidebar:
  • Possibility to change icon size in the Sidebar and Notebookbar [commit] [commit]

  • Sidebar panels converted to single widgets:
  • Container with widget priorities [commit]
    • widget groups are collapsed when there is no enough space, user can access them from a dropdown menu


  • Multiple Notebookbar implementations [commit]
    • user can switch to other view using menubar

  • Toolbar modes - tdf#101249 [commit]
    • User can switch between different modes: default, single toolbar, sidebar and notebookbar
  • Created custom widgets for better look:
    • SmallButton - button with reduced width [commit]
    • BigToolBox - container for large buttons with dropdown menu [commit]


    • NotebookbarToolBox - container with possibility to switch icon size to use in the Notebookbar


    • NotebookbarTabControl - TabControl with context dependent tabs and the file popup menu

by Szymon Kłos (noreply@blogger.com) at August 19, 2016 11:16 AM

August 18, 2016

>Susobhan Ghosh

Page Deck for Writer

One of the major improvements, in the upcoming LibreOffice 5.3 (scheduled to release on January 30, 2017), is the Page Deck for Writer. The deck hosts four panels - Page Format Panel, Page Style Panel, Page Header Panel, and the Page Footer Panel - to bring you the most commonly used page properties. This post aims to describe all the aforementioned panels and the features they provide.

The entire enhancement report can be found here. I myself have been working on this, with the help of my mentors - bubli (Katarina Behrens), and jay (Yousuf Philips).

Page Format Panel

  • Size dropdown to easily select standard page sizes.
  • Width and Height spinboxes to customize page size.
  • Orientation listbox to choose between Portrait and Landscape mode.
  • Margins listbox to select preset page margins. Available presets are -
    • None
    • Narrow (1.27 cm all around)
    • Moderate (lr: 1.91cm, tb: 2.54cm)
    • Normal 0.75" (2 cm all around)
    • Normal 1" (2.54cm all around)
    • Normal 1.25" (lr: 3:18cm, tb: 2.54cm)
    • Wide (lr: 5.08cm, tb: 2.54cm)
    • Mirrored (inner: 3.18cm, outer: 2.54cm, tb: 2.54cm, page layout: mirrored)
    lr = left + right
    tb = top + bottom

Page Styles Panel

  • Numbering dropdown to select numbering format of the pages. Corresponds to the 'format' option under Layout settings in Page Format Dialog.
  • Dropdown to change background of the page. Currently 5 settings - None (no background), Color (Solid Fill), Gradient, Hatching, and Bitmap
    • Pattern Setting
    • Color Setting
    • Gradient Setting - Make a gradient with two colors, which gives added customization compared to presets
    • Hatching Setting
    • Bitmap Setting
  • Layout Setting to select Page Layout - Right and Left, Mirrored, Only Left, and Only Right.
  • Columns setting to select frequently used page column layouts.

Page Header Panel and Page Footer Panel

Both these panels provide similar functionalities, so I'll be describing them in one go

  • Checkbox to enable header (or footer). <figure class="half"> </figure>
  • Margins setting to set the left and right margins of the header (or footer).
  • Dropdown to change the spacing of the header (or footer) from the top (or bottom) of editable area of the document.
  • The Margins and Spacing presets are similar, and currently 8 presets are present:
    • None
    • Extra Small (0.16 cm)
    • Small (0.32 cm)
    • Small Medium (0.64 cm)
    • Medium (0.95 cm)
    • Medium Large (1.27 cm)
    • Large (1.9 cm)
    • Extra Large (2.54 cm)

  • Setting to set same content for headers or footers on different pages of the document. There are four settings which are available -
    • All Pages - Sets the same header or footer on all the pages of the document
    • First Page - Sets a common header or footer to all pages except the first page of the document
    • Left and Right Page - Sets separate headers or footers for Left and Right sided pages.
    • First, Left and Right - First page has a unique header (or footer), followed by separate headers (or footers) for Left and Right sided pages

August 18, 2016 12:00 AM

August 16, 2016

TDF Infrastructure Status

askbot unavailable

Askbot unfortunately is having some database troubles. Infra is working on fixing the problem.

Update 16-08-17 15:00 UTC

ask.libreoffice.org back in service

by The Document Foundation at August 16, 2016 10:00 PM

August 12, 2016

LibreOffice Design Blog

Insert and Playback of Online Media

Gone are the days when users were limited to embedding local media and clip art bundled with an office suite, as we now live at a time where there is a plethora of online media at a user’s fingertips, so …

by The LibreOffice Design Team at August 12, 2016 07:00 AM