The Document Foundation Planet

 

May 15, 2013

Florian Reisinger

LibreOffice SI-GUI Release 4.0.3.5

For everyone, who thinks, that this release is a minor one (4.0.3.4 -> 4.0.3.5) is definitely wrong. I am very excited to announce this new version, because of a few things:

  • All languages are updated (Some languages were behind with the last releases)
  • All the l10n  work has been done within 24h – Congrats :)
  • Very much user feedback has been built-in
  • A shiny new UI is in
  • A lot of ( really, you can hardly imagine how much work it was in fact….)

Special thanks to Pedro Lino for all the suggestions, which finally made the UI looking  the way it is now and for all the bugs he submitted so quickly.

Please have a look at the new UI :

Screenshot of version 4.0.3.5

Screenshot of version 4.0.3.5

So, please try it now :)

http://reisi007.bplaced.com/program/setup.exe

Changelog


Tagged: C#, GUI, QA, screenshot, Server Installation, Server Installation GUI, software, technology, UI

by Florian Reisinger at May 15, 2013 12:18 PM

May 14, 2013

Joel Madero

March – PreStats Report

Hi All,

I’m working on March stats and want to know if anyone has particular interests that they’d like me to report on. Unfortunately I butchered actually pulling the list in March so I only have 19 of the 31 days — my mistake, but it’ll offer some highlights hopefully.

So if there are particular things that interests people, please let me know asap (such as # of unconfirmed, # of reports per version, etc.., etc…)

I will have these done in the next 48 hours so the sooner the better for any requests.


by joelmadero at May 14, 2013 04:41 PM

Florian Reisinger

LibreOffice Server Install GUI new UI – Follow up 2

Hi,

Today was a really productive day, so that I want to share English screenshot of the latest version. (I made a gallery, so that you are able to compare it with the old UI and a side by side screenshot is right after the break :) Any suggestions?

Latest test version (2013-05-14 14:52) Latest version currently available

Latest testing and stable build side by side

Latest testing and stable build side by side


Tagged: C#, coding, GUI, innovation, LibreOffice, QA, screenshot, Server Installation, Server Installation GUI, software, technology, UI, Windows

by Florian Reisinger at May 14, 2013 01:03 PM

LibreOffice Server Install GUI – New UI – Follow up

Hi and thank you for all the positive feedback :) I continued developing the new UI and, because of your feedback, the “Download any LibreOffice version” option will not be hidden in the download menu, but get a place in the main UI. ( I am currently working on that functionality :) ) Anyway, here is a gallery, which shows 3 pics this time.

The first is the ancient one from current stable release, the second is the first draft and now follows the second draft :) Any opinions? [Sorry, text on screenshots is in German...]

You may find an update of this post here.

My local testing build My local testing build, snapshot from 2013-05-14-9:00 Latest version currently available
Tagged: C#, GUI, LibreOffice, open source, parallel installation, QA, screenshot, Server Installation, Server Installation GUI, software, technology, UI

by Florian Reisinger at May 14, 2013 06:55 AM

May 11, 2013

Michael Meeks

2013-05-11: Saturday.

  • Up, breakfast, read the Economist a bit; J. out for a sponsored walk, entertained the babes, did a bit of mail chew / gallery de-lamification. Played Sleeping Queens with the babes, fed them; J. back.
  • Emptied one camera and backed it up; emptied Julia's phone complete with photos of T-shirts kept for sentimental value (eg. GUADEC 1.0) that really need to get thrown out to make way for new ones: LibreOffice Conference Paris (1.0) eg. it seems action must be taken before cabinet making is necessary to fix the relevant (antique pine) chest of draws.
  • Idly fixed the gnome-vfs / samba problems in 4.0 while babes watched Madeline; tweaked more gallery bits. Bed early.

May 11, 2013 08:08 PM

Florian Reisinger

Better UI for SI GUI

Hi,

I am really active over the last few weeks and I am really proud of all the feedback I got in the vote for features. So, before I am able to implement new exciting features, I have to do some work in the background. One part is dev-like (For those, who are interested: Make the download part reuseable….) and, because of the lack of space for new buttons a “new” UI. I really appreciate early feedback, so please compare the two pictures and tell me your opinion. One note, right now, then the pictures ;) . The only thing which drops down is “Download”. You will understand, if you have a look at the pictures….

Latest version currently available My local testing build

PS: I am sorry for the German UI, of course other languages are available. Currently translations to English, German, French, Spanish, Slovenian, Danish, Portuguese, Hebrew and Dutch are available. Your language missing? Comment, if you are willing to translate :)


Tagged: C#, feedback, GUI, innovation, new, parallel installation, parallel installing, screenshot, Server Installation, Server Installation GUI, software, technology, translations, UI, Windows

by Florian Reisinger at May 11, 2013 06:41 AM

May 10, 2013

Michael Meeks

2013-05-10: Friday.

  • Up early, to work; mail chew. Interested to read Lionel's The cost of being convinced. That significantly under-plays the cost of discipleship - of meeting the total moral claims of Christ, and surrendering control of your life to him (though if you're worried about that, do a search on the number of Christian books about how to try to discern Gods guidance outside of clear scriptural commands; we have minds for a reason). In my experience - those moral claims and change of direction, purpose and boss are the primary stumbling blocks. Your view of the sanity of that of choice ultimately hinges on your view of the character of God - a loving, Father, companion, friend - or a petulant, capricious tyrant. Clearly there is no attraction to trusting the latter so I'm convinced of the profound goodness (or holiness) of the God I follow, making anything else rather un-attractive.
  • More mail chew; pleased to see Caolan's update on the UI dialog migration work here. Approaching 40% completion.
  • Call, lunch. Noticed while dunging out old mail, that the DrMemory had fixed the 5 or so bugs I suffered on Windows last time I played with it: nice. Discovered a load of interesting gmail mail that I'd completely ignored in the past - annoying: seems I missed a load of meals with passing friends at conferences etc. a wedding invite, and more. Will start reading it.
  • Poked at lots of hack-week projects, unwinding ones with unclear status, trying to look for commits etc. Dinner. Back to the hackery in the evening.

May 10, 2013 09:00 PM

May 09, 2013

Michael Meeks

2013-05-09: Thursday.

  • Up early, to work, mail chew; sync. with Noel; pleased by the great work the QA team are doing identifying duplicate bugs eg. this one, it's really great to see things cleaned up and associated into clusters like that.
  • Lunch, team meeting, ESC call. Vojtech's staff, up late.

May 09, 2013 09:00 PM

Official TDF Blog

The Document Foundation announces LibreOffice 4.0.3

Berlin, May 9, 2013 – The Document Foundation (TDF) announces LibreOffice 4.0.3, for Windows, OS X and Linux, the third minor release of LibreOffice 4.0 family. OS X Intel packages are now signed by The Document Foundation, to pass OS X Gatekeeper security without user intervention.

In the meantime, another large migration to LibreOffice has been announced, as the government of Spain’s autonomous region of Extremadura has just begun the switch to free software of desktop PCs and expects the majority of its 40,000 PCs to be migrated by the end of 2013. Extremadura estimates that the move to open source – including LibreOffice – will help save 30 million Euro per year.

Community is growing too. After the success of the LibreOffice Impress Sprint in Germany, it is now the turn of the first LibreOffice Bay Area Meetup. It will take place on May 11, 2013 starting at 2pm in the Hacker Dojo in Mountain View, California. Bjoern Michaelsen will be there for some good Q&A, and most importantly for some hands-on work on how to get involved in the project, with Simon Phipps keynoting about “Foundations and Empires”.

The Document Foundation and LibreOffice are still growing at a steady pace: +13% year over year according to data parsed by Ohloh, with an average of over 100 active developers per month since February 2013. These figures tops the cumulative number of over 650 new developers attracted by the project since the announcement on September 28, 2010.

Developers are contributing not only to the code but also to the quality of the software, as in the case of Markus Mohrhard’s python script for LibreOffice that automatically imports some 24,500 documents and tests if the program crashes in the process (http://mmohrhard.wordpress.com/2013/04/19/automated-import-crash-testing-in-libreoffice/), or Florian Reisinger’s LibreOffice Server Install GUI which performs a parallel installation of LibreOffice without using the command line, for QA purposes (http://flosmind.wordpress.com/libreoffice-server-install-gui/).

LibreOffice 4.0.3 is another important step in the process of improving the quality and stability of the bleeding edge version of the suite, and facilitating migrations to free software by governments and enterprises.

The new release is available for immediate download from the following link: http://www.libreoffice.org/download/. Change logs are available at the following links: https://wiki.documentfoundation.org/Releases/4.0.3/RC1 (fixed in 4.0.3.1), https://wiki.documentfoundation.org/Releases/4.0.3/RC2 (fixed in 4.0.3.2), and https://wiki.documentfoundation.org/Releases/4.0.3/RC3 (fixed in 4.0.3.3).


by italovignoli at May 09, 2013 06:59 AM

Marc-André Laverdière

For Rebellious Screen Backlights

I had a problem on every Linux distro I ever used on this specific laptop. The light setting wouldn't change, no matter how much I pressed on the designated buttons.

On the #korora IRC channel, I got this very good tip from csmart I thought I should share:

As an administrator, open /etc/default/grub, and then locate the line that starts with GRUB_CMDLINE_LINUX. On that line, inside the quotes, add "acpi_osi=Linux acpi_backlight=vendor" (no quotes) and then you need to refresh your grub information and finally reboot.

You can get more information on the Arch Wiki.

by Marc-André Laverdière (noreply@blogger.com) at May 09, 2013 01:57 AM

May 08, 2013

Michael Meeks

2013-05-08: Wednesday.

  • Up early; music practise with the babes, packed them off to school. Mail chew, poked at slides, misc. admin. Dug through the crazy gallery creation / loading code - and with David's help cleaned up lots of building oddities. Up late.

May 08, 2013 09:00 PM

Florian Reisinger

LibreOffice Server Install GUI – Vote for feature

Hi,

In the last post, I asked you, what you want to have. I am going to try to implement every proposal with more than 5 votes. Feel free to keep commenting, what you want to have. It might find its way in the survey :)

<noscript>Take Our Poll</noscript>
Tagged: poll, proposal, Server Installation GUI, software, technology

by Florian Reisinger at May 08, 2013 06:57 AM

May 07, 2013

Michael Meeks

2013-05-07: Tuesday.

  • Up early, music practise with babes, packed them off to school. Mail chew, chased a Linux / samba bug and cleaned some duplicates up. Dave over for Bible Study in the evening.

May 07, 2013 09:00 PM

Caolán McNamara

WAS700 WASC700-INST key is PHILIPS123XYZ

My WAC700′s hard drive died a while ago, and my efforts to find a disk image I could use to clone a replacement didn’t pan out, leaving me with three useless WAS700 stations which I wanted to reuse as generic stations playing back from a software ps3mediaserver solution. But the blasted stations were configured to use some now long-dead wifi configuration I wasn’t using anymore and they need the station in order to be reconfigured to use a new wiki config.

This thread looked promising, but no success :-(

On the other hand the source for the WAC700 is available from philips, so with a bit of digging it turns out the WEP key for the WAS700 ad-hoc installation mode network WASC700-INST is PHILIPS123XYZ and not Philips123ABC or PhilipsABC123

With the right key, then the WAC700 emulator works wonderfully to reconfigure the stations, and then they can easily find and playback from the ps3mediaserver via auxillary input->select server.


1. wget http://www.p4c.philips.com/files/w/wac700_05/wac700_05_osf_eng.tgz
2. tar xf wac700_05_osf_eng.tgz
3. strings src_release_r4258_6720_1.2.10_en/linux/work/has/appfs/resources/fpm_firmware/20060221_was5_code_IVT1.2.10_release.rom|grep PHILIPS

by Caolán at May 07, 2013 07:58 PM

May 02, 2013

Joel Madero

UNCONFIRMED Bugs

Well I’ve procrastinated doing stats for March (and now I’ll be behind in April as well) – but I opted to do a quick post about our unconfirmed bugs right now. Quick overview of Jan 15th – April 27th. I pulled bugs *almost* every day. In my opinion our biggest duty as QA is to keep the unconfirmed bug count down and try to tackle triaging bugs as fast as possible. While we continue to press towards this goal the increasing number of users – and more specifically users who are willing to report bugs – continues to challenge our small QA team but, these stats highlight just how great our team is and continues to be. Tremendous thanks to each one of you who even take a few minutes out of your busy days to triage a bug or two.

Without further delay:

Between January 15th & April 27th 3,002 bugs were reported – I’m serious, no lie, over 3,000 bugs reported! Thanks (partly sarcastic?) to our fantastic users for reporting problems when you find them. This period covers 103 days (so about 29 bugs per day reported). Just maintaining our unconfirmed count would have been a tremendous success…..but, WE DID BETTER!

Week Last Count of Week
3 1414
4 1449
5 1395
6 1457
7 1487
8 1507
9 1475
10 1475
11 1554
12 1508
13 1482
14 1503
15 1481
16 1357
17 1313

The week # is determined by Spreadsheet’s “WEEKNUM” function, the last pull of the week is the # of bugs on the right.  As can easily be seen we DECREASED the overall UNCONFIRMED bug count by 101 bugs in 103 days – so putting the numbers together (number reported – (net change)) we get a whopping 3,103 bugs triaged during this period!

Truly incredible, again, thank you all for your hard work :)


by joelmadero at May 02, 2013 11:33 PM

Jan Holešovský

Recent documents in LibreOffice

This is again one of those little improvements that make LibreOffice much more usable, and that I so much love hacking on. I implemented a dropdown for the Open toolbar button that brings an easy access to the Recent Documents, and sent that the UX mailing list for feedback. I got some really useful hints. Even better - I gave Samuel code pointers to play with this a bit, and he came up with a beautiful patch that implements his ideas. And here is the result:

Samuel - thank you for this! :-) For anybody who would like to bring this functionality to the Start Center too (the screen you see when you start LibreOffice), here is an Easy Hack that will result in reusing the code for the Start Center too; and also will delete lots of duplicate code.

by kendy at May 02, 2013 09:46 AM

May 01, 2013

Marc-André Laverdière

openSUSE is Configuration Torture

I was having a lot of crashes with Linux Mint 14 on my laptop, so I considered trying a distro I didn't try yet. So I went for openSUSE. I regret it.

First, you notice that the wi-fi isn't enabling. This is very weird, because the live CD had it working out of the box. I had to turn on some option in YaST and then things went back to normal. This was a warning of things to come...

Then, there are crazy instructions to install JDK. Your eyes may bleed. So I did what any self-respecting geek would do, I installed the RPM from Oracle, and put together a script to automate the alternative-setting. However, that script isn't perfect and it gave me trouble trying to build LibreOffice.

The pain wasn't over. There are 3 interfaces to set up an HP printer - YaST, the KDE gui, and HP-Setup. Which one should you use? The right answer is HP Setup - not obvious. But if its a non-HP one, then you have to use YaST.

Note that you may need to reconfigure your firewall if you have a network printer. Instructions to do so are pretty unclear, and there is no wizard/magic GUI to do it for you.

Then, there is the fact that the SSH key/password daemon is not supplied out of the box. You need to install ksshaskpass. But the official package doesn't install. But, lucky you, the unofficial one does work.
But that doesn't make it enabled yet, you need to mess with many configuration files.

TrueCrypt doesn't work out of the box, so you need to mess with another configuration file.

Skype didn't work out of the box either, I had to manually pick the audio settings.

And, weirdly, I don't see any pop-up telling me to install updates, which the live CD was showing. No, you need to install an applet for that. But wait, it conflicts with Apper. Waaaaaaaaaaaaaaaaaaa? Oh, and even funnier: YaST doesn't update all the repos you have set up, so you end up using two package managers. Double WAT!

If I wanted this kind of pain, I'd have installed Arch. And I'm doubting that Arch may be more sane...

I seriously can't recommend this distribution for my friends and family. The ease of setting up a printer in Ubuntu/Mint and Fedora is leagues ahead of openSuse. And as a sidenote, I'm not sure I actually got my printer to work reliably yet.

And about those stability issues? Well, I got a few crashes and freezes too...

My gut feeling right now is that I'll install Mint 15 when it is released this month.

by Marc-André Laverdière (noreply@blogger.com) at May 01, 2013 07:42 PM

Caolán McNamara

Converting LibreOffice dialogs to .ui format, 200 conversions milestone

We’ve now reached 200 dialogs and tabpages converted from LibreOffice’s classic fixed widget size and position .src format to the GtkBuilder .ui format. These are still our own widgets, we just reuse the file format and map the Gtk widgets to our own equivalents. I’ve now finally refreshed the original sample screen shots to reflect the current reality.

I estimate we require an additional 200 to 400 .ui files, unless a lot of the existing .src dialogs turn out to be orphaned dialog descriptions that are not in use. (This is unlikely)

The How to conversion guide is still relevant, and help is appreciated.

Additionally, there’s a short list of selected dialogs awaiting review for any HIG compliance issues or general layout improvements. We have a python script as ./bin/lint-ui.py (thanks leighman) to check for basic compliance with guidelines, but there’s room for improvement, e.g. checking that widgets have mnemonic widgets, etc.

by Caolán at May 01, 2013 03:23 PM

April 29, 2013

Cor Nouws

Orange party for Libreoffice - PartyWriter

If you haven't yet noticed: tomorrow will be the crowning of the new Dutch King: Willem Alexander. Inspired by some colourful posters, I decided to make a little funny extension for LibreOffice. Here is what it does:
To put it simple: with each space you type, the character style changes so you get a chain of different formatted words. Downloaden en documentation on the Nou&Off site.
Though it's just fun, it's a good case to see what you can do with styles, macro's, extensions. And there might be some nice ideas that can be added for future parties? Enjoy :-)

by Cor & OfficeBuzz (noreply@blogger.com) at April 29, 2013 07:55 AM

April 28, 2013

Official TDF Blog

LibreOffice happy to work with Coverity Scan results

Spending part of my time to LibreOffice QA, I look over the web page displaying all the commits for LibreOffice code (1) from time to time.
The last months, I saw an large amount of commits related to ‘Coverity’. I remembered that name from years back, in the old OpenOffice.org project.
To explain: Coverity is a project that runs all kind of automated code checks, discovering typical but often hidden programming errors. Memory leaks, but also errors that may cause little, not so often encountered errors for the users. The reports from Coverity are a valuable contribution to – among others – the LibreOffice development process.

The work on using the Coverity reports for LibreOffice is done by a variety of LibreOffice developers, some on the building and testing, others on the other work to fix the issues. In the first months many hundred improvements have been made, making LibreOffice more robust, better. There are still some few thousand issues left however :-) So pls get in contact if you like to help with these improvements.

Again it’s lovely to see that core and volunteer developers work together to get thousands of improvements in the LibreOffice code.
Of course in this special case it only can be done with to the work of the Coverity team, that helps open source projects to become more stable and improve quality. Thanks a lot for that!


by cornouws at April 28, 2013 08:17 PM

Naruhiko Ogasawara

"LibreOffice mini Conference 2013 Tokyo/Spring" report from a staff's perspective

We, Japanese LibreOffice community, are happy to done first (and not last, maybe) whole day LibreOffice event in Japan; the name is "LibreOffice mini Conference 2013 Tokyo/Spring"; here is a short report and our special guest, the calc hacker Kohei-san also wrote very nice report in his blog.

So I don't need to write a report one of attendee, but I'm a staff of the event.  And our community has less experience to have a big event yet, so I, as a member of LibreOffice Japanese team, have to record what we thought, what we decided and what we done; and share our (still small) knowledge with any other local communities.

The trigger of this event

I'm not sure but the seeds are put our mind in Open Source Conference (in short, OSC; Japanese most famous FLOSS event series) Aizu-Wakamatsu in last fall.  Aizu-wakamatsu is a symbolic local government for us because they had migrated MS Office to OOo, and now they use LibreOffice whole of their work, and they provide lots of administrative forms in ODF format.
Three people (Takizawa-san, Enoki-san and I) had been back from Berlin, so we had been little excited; we told.

"How about hosting LibreOffice Conference in Japan in the future?"
"Yeah, but we have less experience, so we should start from smaller events."
"Debian-JP people now start to grow their experience with annual whole-day event to have a miniconf in the future, and to host a DebConf.  We should follow their way."
"I hope we'll have Japanese ODF plugfest in here, Aizu-wakamatsu. Because here is a special place.'
Or something something... We had been dreaming.

I forgot detail, but at the end of last year one of our member wrote an event plan of LibreOffice: it describes how we'll get sponsers how we promote to media, etc. At first it might be a "small start" event but the dream had been grown, it's too big for us.  So we decided the plan should be postponed when we have enough experience.

The e-mail had come

 Some winter day, we got an e-mail from OSC organizer; they said:
"Meisai Univ., the place next OSC Tokyo will have, have enough space to do something each communities separated by OSC.
No rent fee is needed.  You need nothing about venue because everything about venue is by OSC organizer.  But you have to gather attendee by yourself and OSC organizer have no responsibility to advertise your event, because your communities events are totally different event with OSC itself."
This proposal seems have pros and cons both.

Pros.

  • OSC is most famous event series in Japanese FLOSS world, so lots of people come here.
  • We had attended OSC Tokyo at Meisei Univ., so we already know how about projection system, power sources, and so on.
  • Nothing contract, nothing fee we need.  It makes entry level low.

Cons.

  • OSC always have lots of very nice tracks.  OSC itself is our event's really strong competitor.
  • Meisei-Univ. is little bit far from center of Tokyo.  It's very hard to come from outside of suburb of Tokyo, e.g. Kansai-area, Tohoku-area.

But we decided we accepted their proposal.  Because it seemed a good "small start" event for us.  Some problem might be cause, but they might change our experience.

My work ... publication

I wasn't a leader of the event. So I can't tell everything of the event.  However I can tell what I did ... publication.

Frankly to say, my work was not good.  We can't beat our competitor; OSC.
Someone said; "I want to join LibreOffice track, but I can't find in the OSC's program,"
or "Finally I found LibreOffice name! I wondered why this year LibreOffice has no booth in OSC?"...

They don't thought we have our own event, not OSC itself but same place.  It's my fault.

Yes, right now I know my mistake.  My main field is:
  • Document Foundation Wiki
  • LibreOffice ML
  • Twitter / Facebook (via Event-support web service)
You already understand... All of above are for people already know LibreOffice and Document Foundation (About a Twitter and Facebook, most of posts are on my timeline, not a worldwide...).

I tried to use payed advertise service of Facebook; but it was not so effective to reach new of LibreOffice people.  But I'm not familiar of Facebook so I might made something wrong.  I need to investigate Facebook (or anything else SNS) feature.

We succeeded or ...?

However, every tracks were really interesting (especially special guest Calc Hacker Kohei-san's "LibreOffice Development FAQ" (in Japanese, sorry!)), and about 20 people were there in each track.

Some small mistakes we had, but totally it was a nice event I believe.
And the mistakes let grow our community.  If we'll have next opportunity, we will do better.

It's a small step, but great start for us.


At last, thanks for global community people, especially in marketing-ML.
Italo, your video is very good gift for Japanese community!
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/v3VZScdSMNA/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/v3VZScdSMNA?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata"/><param name="bgcolor" value="#FFFFFF"/><param name="allowFullScreen" value="true"/><embed allowfullscreen="true" height="266" src="http://www.youtube.com/v/v3VZScdSMNA?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash" width="320"></embed></object>

by Naruhiko Ogasawara (noreply@blogger.com) at April 28, 2013 02:28 PM

April 27, 2013

Andreas Mantke

perfekter tag

hey ihr lieben!! alsooo gestern war sowieso schon ein schöner tag: es war warm, die sonne schien...keine probleme. Perfekt. Auch als ich zu unserem Bach spazierte und mich unter den kleinen wasserfall stellte und das eiskalte wasser mir zeigte dass ich lebte!! Meine schwester filmte mich dabei haha es war schön. Und kalt und ich war erfüllt mit ein wenig stolz weil ich einfach mal was getan hatte...irgendwas verrücktes, schönes. Dann am Abend schrieb ich mit mr. JS...lange....

by grinsi at April 27, 2013 07:20 AM

April 26, 2013

Official TDF Blog

LibreOffice Bay Area Meetup on May, 11 2013

After the success of the LibreOffice Impress Sprint in Germany last month, we are very happy to announce the first LibreOffice Bay Area Meetup. It will take place on May 11, 2013 starting at 2pm in the Hacker Dojo in Mountain View, California. Simon Phipps and Bjoern Michaelsen will be there and have some hopefully interesting topics prepared:

  • “Foundations and Empires” (Simon)
  • “LibreOffice, the Document Foundation, the universe and all the rest” (Bjoern)

We will also have time for some good Q&A, and most importantly: some hands-on work on how to get involved in the project.

We are excited this was made possible in collaboration with the friendly local folks helping us out here (notably and among others: Mike Higashi, Geo Mealer and Alison Chaiken) and hope to meet and greet many of you there.

You are invited, please consider dropping us a note here!


by bmichaelsen at April 26, 2013 09:07 PM

Lior Kaplan

The commit police: learning for recent reference mistakes

Continuing the previous post about commits and bugs, I’d like to review some mistakes I saw recently. Mistakes do happen, but mentioning them here is meant to teach others and hopefully to reduce similar ones in the future. This post isn’t about shaming the authors/commiters. Also, the points I highlight are what I consider as a mistakes or problems, other people might think differently.

  1. Mentioning two bugs in one commit message, which our system doesn’t support right now. So the second bug doesn’t get the commit notification, and that should be done manually (example: commit 2933935 and fdo#53278).
  2. Referencing gerrit changes as part of the commit message (example: commit 87f185d). Giving references as part of the commit is great and helpful, but I would prefer to see the reference to the actual commit and not to its review process. This is meaningful when you search the log. If the followup change is suggested when the first change is still in review it should be combined, otherwise it already have a commit to reference.
  3. Following up a commit, and not mentioning the bug it references (example: commit 87f185d). In this specific case, the we’re talking about a meta bug for translating comments from German to English (fdo#39468), so no harm done. But this important when you want to cherry pick a fix for a bug to other branches and might forget the follow up commits. It’s also relevant to more technical meta bugs (example: fdo#62096).
  4. Referencing a mailing list which reference a commit and a bug instead of referencing them directly (commit 21fea27, fdo#60534). This bug shows very well why correct referencing is important, a commit was made to fix the bug, a follow up commit was done without proper reference, and than the first commit was reverted. No one involved in trying to fix that specific bug knew about the follow up commit as it wasn’t documented anywhere.
  5. Referencing bugs though full bug URL instead of the right format (example: commit e1f6dac). Also the bug is referenced in the commit in the body of the message instead of the first line (header) which is more visible.
  6. Referencing non existing bugs (example: commit 3a4534b). Which got a manual notification in the bug by the comitter (fdo#33091).
  7. Using shortening services URL as part of commit messages (example: commit 86f8fba). There’s no way to know to what the reference is without using the service, which in this case was leading to a post on one of the projects mailing list. There isn’t any problem giving the direct URL to the list’s archive. It’s interesting whether we should link to our URL and is it “OK” to use other external services who also archive our mailing lists (example: commit e83990a).

To conclude, having references in commit message is really helpful, but please reference the right resource to help people find it easily and to let our automated services parse it.


Filed under: LibreOffice

by Kaplan at April 26, 2013 09:22 AM

User Prompt

Tip the tool: How to label toolbar functions

The basic cue to the provided function of unlabeled controls are tooltips. We recommend to define naming conventions to make those tips meaningful.

Naming Convention

Suitability for learning and self-descriptiveness, two of the basic usability goals, depend largely on the information users can read directly. Most graphical user interfaces use toolbar buttons to provide access to core functions. Those buttons usually contain an icon but no caption. The function is revealed by common sense (left most icon provides New), iconic depiction (a floppy points to Save), and tooltips that are shown when the mouse hovers the control. Obviously the latter are most important and it’s a good idea to have conventions for these labels.

It has become apparent that some of Libreoffice’ toolbar buttons provide confusing and sometimes misleading tooltips. Better labels would not only support learnability but also help to solve some of the mix-ups we found, e.g. in the case of the Navigator. It is common practice to name English functions starting with a verb followed by a noun or adverb. But take care with localization: different languages might have a different grammar! For instance, in German a verb-noun sequence has a strong imperative connotation and it’s better to have noun-verb labels. Anyway, the functions in each languages should be labeled consistently with the specific grammar in mind.

Recommendation for Libreoffice functions in the standard toolbar

We recommend to label all functions starting with a verb followed by noun or adverb (in case of English). Text should be concise, helpful, and easy to read. If the function can be started by shortcut it is added to the text in parentheses. Normal shortcuts combine the control-key (Ctrl) with a letter; the use of simple function keys should be avoided.

Old function label Suggested new label
New Create new document (Ctrl+N)
Open Open document (Ctrl+O)
Save Save document (Ctrl+S)
Send as email Email document¹
Edit File Toggle edit mode¹
Export as PDF Export as PDF
Print File Directly Print document directly¹
Page Preview Preview print output (Ctrl+P)
Spelling & Grammar Check spelling & grammar (F7)
AutoSpellcheck Toggle auto spellcheck¹
Cut Cut marked area (Ctrl+X)
Copy Copy marked area (Ctrl+C)
Paste Paste from clipboard (Ctrl+V)
Format Paintbrush Clone formatting²
Undo Undo last action (Ctrl+Z)
Redo Redo last undo action (Ctrl+Y)
Hyperlink Insert hyperlink
Table Insert table
Show Draw Functions Show draw functions¹
Navigator Show document structure (F5)
Gallery Show gallery functions¹
Data Sources Show data source functions¹
Non Printing Characters Display non printing characters (Ctrl+F10)
LibreOffice Help Open help browser (F1)

¹ It should be considered to remove this function from the standard toolbar

² Some functions need redesign, e.g. toolbar buttons must not get ‘overloaded’.

Conclusion

Functions should be labeled in a definite and unified way. Well named functions help users to understand the program and to learn how to use it efficiently. Convention for labels should be defined depending on the localization.

What do you think about these suggestions? Do you agree?

by User Prompt at April 26, 2013 08:19 AM

April 24, 2013

User Prompt

Metaphors behind icons – which are really useful?

Metaphors determine the association between a function and its icon. But sometimes these metaphors are misleading or ambiguous. With your help, we want to improve the metaphors used in Libreoffice.

What has happened before

Metaphors are the basis of any good icon design. For instance, scissors are used to cut something and this metaphor fits perfect for the respective computer function. On the other hand, it is rather difficult to associate a filing cabinet, for example, with the function Save.

There are different ways for improving the usability of a specific function and its respective icon. Depending on the problem one might change the label, change the icon to be more obvious or change the underlying metaphor altogether.

As we compiled the results of our last study, it became apparent that some metaphors of Libreoffice’ standard toolbar do not work in their intended way. Our next step is to prepare new icons based on stronger associations between the underlying function and its graphical representation.

What we plan to do

As a starting point we selected the functions that have room for improvement and investigated alternative metaphors user could associate with these functions. We tried to be creative in our vantage points and also incorporated some of the ideas you had when you commented on our previous articles.

We selected ten functions, that need improvement and created a few alternative metaphors for each of these functions. These are partly from the original, natural pendants of these functions, partly from associations found in cultural and historical contexts and partly from connotations we had for the word, i.e. the function itself.

The function undo could for instance be represented by the metaphor ‘correction fluid’, because both the function and the metaphor erase the last written words. Of course, undo does more than that, but the core functionality might be better represented than with the depiction of a clipboard as it is today.
The metaphors we are searching for do not have to be perfect. We are rather in brainstorming mode and ask for your support, because everyone will have different things in mind when hearing about a certain function. Additionally we want to compare as many different solutions as possible. Also we need some distractors in between to evaluate the strength of the association.

The ten selected functions with their original metaphor in LibreOffice Writer and some examples of the metaphors we created are listed below.

function original metaphor example suggestions
New document new

document

1365779738_Egg

egg

explosion

sprout

on/off sign

Save save

floppy Disc

1365786121_save_money_piggy_bank

piggy bank

lock

purse

HDD

downward arrow

Copy copy

two documents

1365786972_kcmmemory

RAM unit

key C

copy machine

x 2

arrows from a node

Paste paste

clipboard+Document

1365779843_Glue-64

glue

key P

pinned document

tooth paste

puzzle pieces

Undo undo

anti clockwise arrow

1365786148_Time_machine

clock backward

correction fluid

bin

washcloth

eraser

Redo redo

clockwise arrow

reversed bin

reversed bin

sisyphos’ rock

clock forward

pyramid

caged animal

Format Paintbrush format

brush

1365786836_color-palette_sticker

palette

stylised As

clipboard+T

brush+wrench

Page Preview preview

magnifier+printer

1365787158_Glasses

glasses

washing mashine

magnifier + document

Navigator navigator

compass

1365787236_sitemap

sitemap

road sign

navigation device

document with headings

Hyperlink link

chain links

hyperlink

globe

spider

‘WWW’

underlined blue ‘link’

We need you!

Every function should have at least four good alternatives. This is where you come into play. Please help us to improve the study with your ideas for alternative metaphors. These can be quite diverse and from different contexts. So every input is appreciated.

Once we have found sufficient metaphors for each of these functions we need to create icons to these metaphors that fit in one icon set. And at this point we need your assistance again since we are not designers but usability experts. Icons should be redesigned to not have any biases because of the color, style, etc. It does not need to have a really fancy design with 3D effects or the like. But the layout must not influence users decision which one to choose in the upcoming test.

In this final study we will present these icons and users decide which of the icons / metaphors is fitting best to the function. This way we hope to find unambiguous metaphors that solve the mix-ups from the LibreOffice study and that most likely can also be found in other applications.

Summary

Can you think of other metaphors for these functions? Do you have any suggestions concerning our approach? If you are a designer, or know one, who would like to help us in creating these test icons, please contact us.

by User Prompt at April 24, 2013 08:12 AM

April 23, 2013

Andreas Mantke

my heart is refusing me...

wow wo schön das lied!!! hier der Text auf deutsch: Und ich bin am Boden festgefroren Wie ein Narr habe ich dir geglaubt Trotzdem bin ich hoffnungslos verliebt Ich hätte nie gedacht, dass ich so hilflos sein würde Ich kann nicht glauben, das ich dir alles gegeben habe Du hat mich erdrückt, ich habe genug Nun will ich gehen, aber ich bin verloren So kann ich nicht weg brechen Obwohl ich es mir vorgenommen habe Mein Herz wird mir verweigert Ich für dich, du für...

by grinsi at April 23, 2013 02:21 PM

April 22, 2013

Andreas Mantke

...

hmm...ich kenne leute...viele leute, verschiedene leute. manche machen mich glücklich: Freunde, mr. JS, Familie, ... manche machen mir sorgen: ...es sind die Gleichen manche lassen mich zu viel über sie nachdenken...wieder die gleichen. Dadurch weiß ich dass ich sie lieb habe Aber bei einer Freundin habe ich einfach so ein schlechtes Gefühl. Ich weiß nie was ich machen soll, was ich sagen soll, denn es wäre falsch. Sie verletzt sich selbst. Ritzt sich. Warum? Egal...

by grinsi at April 22, 2013 07:18 PM

...ich doofii hihi

hey guyzzz also: sorry wegen gestern haha ich war einfach nur sauer aber heute hab ich ja mein handy wieder hihi und vielleicht kommt das jetzt echt ein wenig abhängig rüber. Und meine Eltern sind eh voll lieb und ich liebe sie auch! wirklich. nur es ist nicht immer so einfach ;) ok heute ist ein PERFECT DAY...naja also heute hatte ich lange theaterprobe und es war zwar etwas langweilig undsooo aber ich schrieb mr. JS"hey möchtest du zu unserer Theateraufführung kommen?" und...

by grinsi at April 22, 2013 05:40 PM

Cedric Bosdonnat

CMIS for GNOME

At SUSE, we recently had a Hackweek. It’s one week for all developers employed by SUSE to hack on any innovative open source project they want. Last years, I worked on libcmis and libcmis-c. And this year, I started implementing a GVFS backend for CMIS using libcmis-c. GVFS is the one of the low-level layers of GNOME to access files. A backend is a set of features like mount, unmount, read a document, writ a document, navigate in folders, etc. Currently GVFS has backends for FTP, SSH, WebDAV, Trash, Audio CDs, and quite a lot of other useful things. Having a CMIS backend would allow any Gnome application to access documents stored on a CMIS-enabled server.

What I achieved in one week:

  • mount and unmount a CMIS repository
  • read a document
  • provide the content of the folders and repositories
  • provide some of the CMIS properties

To have a complete backend to upstream, I will need to implement:

  • creating / writing files
  • deleting / moving items
  • creating folders
  • setting properties

The code can be found on a gvfs git clone in my freedesktop home. I wan to thank the Gnome hackers who kindly answered my beginner questions during this week.

by Cédric at April 22, 2013 01:23 PM

Andras Timar

Hyphenation in Calc and Draw

Hyphenation in cells and shapes was fixed a few days ago for Catalan (for example, paral·lel » paral-lel, instead of parall-lel), Hungarian (eg. asszonnyal » asz-szony-nyal instead of az-szoy-nyal) and Dutch (eg. omaatje » oma-tje instead of omaa-atje, cafeetje » café-tje instead of cafeét-je). Swedish, Norwegian and partly Dutch need only hyphenation dictionary extension to support non-standard hyphenation in LibreOffice, Greek and Dutch need also Writer and Calc/Draw (editeng) development to support the alternation after the hyphenation break. More information: bug 63711 (closed), bug 42383 (open), Hyphen library (see tests/unicode.* example for non-standard hyphenation patterns of Dutch, Greek, Norwegian and Swedish).
Calc_hyphenation

by Németh László at April 22, 2013 12:11 PM

April 19, 2013

Markus Mohrhard

Automated import crash testing in Libreoffice

I have been working recently on finishing the work on a python script for Libreoffice that automatically imports documents and tests if we crash there. The plan is to run this script automatically against all our bugzilla documents on a regular basis.

I have been running similar tests for calc files(the TEST_BUG_FILES) case already before the 3.5 and the 4.0 releases and fixed these crashes with Eike and Kohei before the releases. However this work was done half manually inside of an “unit” test and as soon as it crashed I had to restart the test. As a result of this complex setup it took me between 4 and 6 days to import all 6000+ calc documents. Back then I already had the idea that this task could be automated and moved to a TDF server.

I already tried to convince someone at the Munich hackfest to write such a script as an Easy Hack but had to wait till December until Joren picked up the task. Based on convwatch.py he implemented the first version that has undergone several iterations now and can be found in the Libreoffice dev-tools repository. The script is still looking quite ugly as I have been only adding code and it still contains a large number of debug output for me but the current version should work fine against current Libreoffice master.

After several toolchain problems, one needs a libstdc++ created with at least Linux binutils 2.23.52.0.1 or newer, I finally published the results of the current test run at the Libreoffice developer mailing list. In my latest test run I had a collection of a bit more than 24500 documents with the file extensions cdr, doc, docx, fodg, fodp, fods, fodt, odg, odp, ods, odt, ppt, pptx, pub, rtf, vdx, vsd, wpd, xls, xlsx. While 60 crashes might sound like a lot one has to remember that many of these crashes will never be seen by users. The test is run with a dbgutil build which means that we enforce the exception specification, we switch the standard library to the gcc debug library which has additional assertions and some crashes are related to the special set up of the test. Nevertheless we are planning to fix all these crashes and use the script as part of our automatic testing.

And finally a special thanks to the amazing Libreoffice community who was incredibly supporting in realizing this crazy concept.


by Markus Mohrhard at April 19, 2013 05:38 AM

April 18, 2013

User Prompt

Quick wins: Conclusions of the Libreoffice icon test

<style type="text/css"></style> <style type="text/css"></style>

Some of the icons of LibreOffice are confusing. Based on the findings of our last study we present some quick and easy changes that improve functionality.

Introduction

<style type="text/css"></style>

In this article we want to provide suggestions to solve some of the mix-ups that we found in our LibreOffice icon test. We examined the standard toolbar icons of LibreOffice Writer. Over the past few weeks we published a few articles, where we discussed some of the more striking outcomes of the test. On the basis of these findings we derived guidelines for creating icon metaphors in general and some long term ideas to design new icons  for Libreoffice. Now we want to present our recommendations for quick fixes to some of the problems and mix-ups that we found.

<style type="text/css"></style>

General advices

A toolbar is primarily used for fast access to frequently used functions. Additionally, it provides an overview of core functions and hence helps users to operate the software efficiently. It’s always a challenge to find a good balance between both requirements and to avoid clutter in the toolbar. We recommend to double check the usage not only by the developers but also with users.

Furthermore, every structure that can be added to the toolbar is beneficial. While the main menu allocates all functions in categories the toolbar only provides small separators. Functions that belong to the same category should be placed together. Different categories have to be separated. If possible those categories should be supported by different wording for labels, e.g. ‘Show’ for sidebars and ‘Open’ for dialogs. And, last but not least, icon design should consider to adopt categories, as done with color codes for mime types for instance.

In the following we present recommendations to remove functions from the toolbar in order to reduce clutter.

Page Preview

Term Tango Oxygen
Page Preview
Print File Directly
<style type="text/css"></style> <style type="text/css"></style>

Both Page Preview and Print File Directly have basically the same icon except that page preview has a magnifier / eye over the printer and Print File Directly has a lightning bolt (only Oxygen) above the printer. It could be assumed that the differences between the icons are too little and hence cause the mix-ups we found. On the other hand Page Preview gives a full overview of the current pages and allows to adjust the margins for the finished papers. This is always useful before printing, so Print File Directly could be integrated into the Page Preview view to improve functionality and reduce clutter.

Spelling and Grammar

Term Tango Oxygen
Spelling and Grammar
AutoSpellCheck
<style type="text/css"></style> <style type="text/css"></style>

Again Spelling and Grammar and AutoSpellcheck use almost the same icon. Therefore there are a lot of mix-ups. Spelling and Grammar opens a wizard and suggests different spellings for a single term. AutoSpellcheck toggles the marking of words that might be wrong and offers alternatives via a right-click. By the same drop down menu the function Spelling and Grammar can be accessed for more information. We suggest to remove Spelling and Grammar from the toolbar, as it is can easily be accessed by other methods.

Format Paintbrush

Term Tango Oxygen
Format Paintbrush
Show Draw Functions
<style type="text/css"></style> <style type="text/css"></style>

As discussed in ‘What is a pencil used for?‘ these two icons are often mistaken for one another. Format Paintbrush can copy the formatting and apply it to different areas. The function is not accurately named and the icon metaphor does not associate well with its function. We recommend changing both the name of the function and the icon metaphor. Show Draw Functions could then remain unchanged.

<style type="text/css"></style>

Data Sources and Gallery

Term Tango Oxygen
Data Sources
Gallery  gallery  gallery
<style type="text/css"></style> <style type="text/css"></style>

Data Sources and Gallery are seldom used functions in LibreOffice that get mixed-up quite a lot. Data Sources is a function that allows access to databases, such as LibreOffice Base. Our Motifs of LibreOffice User-Study showed that only very few users make use of Base. Gallery can be used to insert media from different ‘themes’ into the document (maybe it would be easier to just insert the specific media manually instead of first adding it to these themes). Both functions should be removed from the standard toolbar.

Navigator

Term Tango Oxygen
Navigator
<style type="text/css"></style> <style type="text/css"></style>

Navigator is another seldom used function. This might be due to the fact that its label is not quite feasible. An alternative might be ‘Show Document Structure’ (see Naming Convention). The metaphor behind the icons is a compass, which is fitting for the label Navigator ,but not for its function. The name of the function and its metaphor should be changed to improve usability.

Conclusion

<style type="text/css"></style>

We have found a lot of possible improvements for the icons of LibreOffice Writer. Functions should be labeled in a definite and unified way, some icon metaphors should be changed and toolbars should be tidied up, e.g. removing some seldom used function or merging some functions.

There have also been some mix-ups with commonly used functions that have no natural pendant to their icon metapher, like Copy and Paste and Undo and Redo. Therefore we are currently planning another study which will examine some of these metaphors. We want to determine if the currently used metaphors for a selected group of functions are good enough or if we can find some better fitting ones.

What do you think about these suggestions? Do you agree?

by User Prompt at April 18, 2013 09:34 AM

April 17, 2013

Kohei Yoshida

SUSE Hack Week

Last week was SUSE’s Hack Week – an event my employer does periodically to allow us – hard working engineers – to go wild with our wildest ideas and execute them in one week. Just like what I did at my last Hack Week event, I decided to work on integration of Orcus library into LibreOffice once again, to pick up on what I’d left off from my previous integration work.

Integration bits

Prior to Hack Week, orcus was already partially integrated; it was used to provide the backend functionality for Calc’s XML Source feature, and experimental support for Gnumeric file import. The XML Source side was pretty well integrated, but the normal file import side was only partially integrated. Lots of essential pieces were still missing, the largest of which were

  • support for multiple filters from a single external filter provider source (such as orcus),
  • progress indicator in the status bar, and
  • proper type detection by analyzing file content rather than its extension (which we call “deep detection”).

In short, I was able to complete the first two pieces during Hack Week, while the last item still has yet to be worked on. Aside from this, there are still more minor pieces missing, but perhaps I can work on the remaining bits during the next Hack Week.

Enabling orcus in your build

If you have a recent enough build from the master branch of the LibreOffice repository, you can enable imports via orcus library by

  1. checking the Enable experimental features box in the Options dialog, and
  2. setting the environment variable LIBO_USE_ORCUS to YES before launching Calc.

This will overwrite the stock import filters for ODS, XLSX and CSV. At present, orcus only performs file extension based detection rather than content based one, so be mindful of this when you try this on your machine. To go back to the current import filters, simply disable experimental features, or unset the environment variable.

Note that I’ve added this bits to showcase a preview of what orcus can potentially do as a future import filter framework. As such, never use this in production if you want stable file loading experience, or don’t file bugs against this. We are not ready for that yet. Orcus filters are still missing lots and lots of features.

Also note that, while in theory you could enable orcus with the Windows build, the performance of orcus on Windows may not be that impressive; in fact, in some cases slower than the current filters. That is because orcus relies on strtod and strtol system calls to convert string numbers into numeric values, and their implementation depend on the platform. And the performance of MSVC’s strtod implementation is known to be suboptimal compared to those of gcc and clang on Linux. I’m very much aware of this, and will work on addressing this at a later time.

Performance comparison

This is perhaps the most interesting part. I wanted to do a quick performance comparison and see how this orcus filter stands up against the current filter. Given the orcus filter is still only capable of importing raw cell values and not any other features or properties (not even cell formats), I’ve used this test file which only consists of raw text and numeric values in a 8-by-300000 range, to measure the load times that are as fair and representative as I could make them. Here is the result on my machine running openSUSE 11.4:

xlsx-load-times

The current filter, which has undergone its set of performance optimizations on raw cell values, still spends upwards of 50 seconds. Given that it used to take minutes to load this file, it’s still an improvement.

The orcus filter, on the other hand, combined with the heavily optimized load handler in Calc core that I put in place during Hack Week, can load the same file in 4.5 seconds. I would say that is pretty impressive.

I also measured the load time on the same file using Excel 2007, on the same machine running on top of wine, and the result was 7.5 seconds. While running an Windows app via wine emulation layer may incur some performance cost, this page suggests that it should not be noticeable, if any. And my own experience of running various versions of Excel via wine backs up that argument. So this number should be fairly representative of Excel’s native performance on the same hardware.

Considering that my ultimate goal with orcus is to beat Excel on performance on loading its own files (or at least not be slower than Excel), I would say we are making good progress toward that goal.

That’s all for today. Thank you, ladies and gentlemen.

by Kohei Yoshida at April 17, 2013 04:48 PM

April 16, 2013

Noel Power

Hackweek is here again

Yes, Suse “Hackweek” ( where you can scratch an itch on work time ) has just been and gone. This time I wanted to work on and tackle an aspect of usability ( to do with cell styles in Calc ) that really pisses me off, e.g. when you have some cell style and you want to see what that style will look like you more or less have to apply the style. Ok, if you are really sadistic you could open the Styles dialog ( F11 ), select the style and edit it ( and they you can access format dialog which describes ( but still doesn’t really show ) all the individual elements of the style ). Excel ( in later versions at least ) does a wonderful job with this by allowing you to preview the style in-place, in other words when selecting a style whatever cells are currently selected get that style temporarily applied. Excel also does the same thing for Font selection.
First I actually decided to try and implement a simple Font preview, it’s not quite what I wanted but it seemed maybe a simpler version of what I wanted to achieve and would provide the basic knowledge to be able to tackle the styles. After far more effort that I thought I managed to get a quite passable implementation of the Font preview working despite some unexpected challenges ( e.g. the listbox implementation doesn’t easily allow you to know about the currently highlighted element in the listbox which required some poking around in vcl ) Anyway in the end and after a couple of days a much smaller patch ( that the effort would have suggested ) appeared. It’s even in master right now with this commit
Next I started tackling the Styles preview, things initially seemed to go well, the cell previewed at least all of the font related information from the selected element in the Style dialog and after realising I was missing things like Rotation etc. I managed to get that stuff working too. Then of course I noticed things like cell background or border attributes weren’t being displayed, it took me quite some time to figure out in the drawing layer where this was happening and ( I wont say understand ) but find where to modify the code to do this. At this point I ran out of time :-(

A quick screencast shows what works currently. I really wish I had more time to tackle the style dialog itself ( or perhaps create a slimmed down version ) that would additionally in the control itself show some sort of preview of the style ( at least in terms of the font, background etc ) that could be shown on the toolbar. Also the existing dialog doesn’t track the mouse moves and highlight the element you hover over ( it’s not immediately obvious but the Styles dialog uses a Tree like widget ( although most of the time it displays like a listbox ) ) Another annoyance ( quite obvious in the screencast ) is the fact that the selection area is highlighted when previewing which has the irritating effect of changing the background colour.

The full set of patches ( based of libreoffice-4-0 ) for the hackweek work can be found here A squashed version is available here
Again note the Font preview part has been extracted from the above patches and already applied to master. There are still some issues with the CellStyle Preview that I would like to iron out before applying it.

by Noel at April 16, 2013 10:04 AM

User Prompt

Participate: New LibreOffice Icon Test started

The LibreOffice design team announces the start of the next online icon test. You are invited to participate!

After the great response to <link/> our last icon test with over 3000 people participating, we are now testing the icons of the formatting toolbar. So the test is basically the same as last time, just with a different icon set.

Again, the LibreOffice design team encourages you – next to taking part yourself – to promote the link to the survey widely (Participants do not need to be users of LibreOffice):

  • post it on your personal favourite social network,
  • ask your friends, parents,
  • send the link via email.

Thanks to the LibreOffice localisation team, the test is available in English, French, German, Italian, and Spanish this time. We warmly welcome volunteers that want to help us doing subsequent studies in even more languages! Please help to reach participants speaking your language.

The survey will run for about one week and the results of the tests will be published soon on this blog. If you are interested in the results of the last study this summarizing post is a good starting point.

Finally – here is where you need to go – it will take you less than 5 minutes if you are working fast:

http://userweave.net/survey/8704a50314dd4897809d9d790c6f7320

<link/>

(Study closed at 2013-04-22, 01:00pm GMT+1)

Thank you in the name of the LibreOffice design team.

by User Prompt at April 16, 2013 08:03 AM

April 15, 2013

Miklos Vajna

Hackweek 9

Last week was Hackweek at SUSE — below is a quick summary on what experiments did I do during that timeframe.

lcov

I did some experiments with using lcov on the LibreOffice codebase. The goal is to have a quick iteration, so you can see the current coverage of a file or a directory, select a method that is not yet tested, add a test for it, and "test" the test by checking if the coverage indeed got improved. As a first step, I tried this out on the Writer RTF import:

cd writerfilter
touch source/rtftok/*
make -sr -j8 gb_GCOV=YES <1>
cd ../sw; make -sr -j8 CppunitTest_sw_rtfexport CppunitTest_sw_rtfimport <2>
lcov --directory workdir/unxlngx6/CxxObject/writerfilter/source/rtftok/ --capture --output-file libreoffice.info <3>
genhtml -o coverage libreoffice.info <4>
  1. rebuild selected files with lcov options

  2. run the tests

  3. extract coverage information to a single .info file

  4. generate some nice HTML output from the .info file

Note
lcov had problems with gcc-4.7, fully updated openSUSE 12.2 or 12.3 is known to work.

There is a script available to make the above a bit more automated.

The speed of the above depends on the amount of code needing a rebuild + the number of tests, but it should not take more than a minute.

E.g. I noticed the bookmark import code isn’t tested, added a test for it, and that indeed improved the line coverage of rtfdocumentimpl.cxx: 84.1% → 85.0%.

A next area I wanted to test is the Writer RTF export. Let’s pick something in rtfattributeoutput.cxx… StartURL() is not tested, so a hyperlink testcase should help. Indeed it did: 50.2% → 52.0%.

Last, but not at least, thanks to Norbert Thiebaud, who added gb_GCOV to gbuild.

gdb pretty-printers

Then I experimented with improving our Writer gdb Python pretty-printers. One annoying shortcoming was the lack of handling uno::Reference<text::XTextRange>. Imagine one searches for a bug related to table import for DOCX or RTF. One idea is to check the arguments of the convertToTable() method call. The first argument is a 2D array of XTextRange pairs, that describe what will be the input for cell contents. So if you want to check the first cell, you do something like this:

(gdb) b DomainMapperTableHandler.cxx:798
(gdb) r
(gdb) print (*m_pTableSeq)[0][0]
$1 = uno::Sequence of length 2 = {uno::Reference to (XInterface) 0x1a73648, uno::Reference to (XInterface) 0x1a77f68}
(gdb) print (*m_pTableSeq)[0][0][0]
$2 = uno::Reference to (XInterface) 0x1a73648
(gdb) print (*m_pTableSeq)[0][0][1]
$3 = uno::Reference to (XInterface) 0x1a77f68

Not that helpful. Here is how one could work it around:

(gdb) print (*m_pTableSeq)[0][0][0]._pInterface->m_pImpl->m_pMark->m_pPos1
$4 = boost::scoped_ptr SwPosition (node 10, offset 0)
(gdb) print (*m_pTableSeq)[0][0][1]._pInterface->m_pImpl->m_pMark->m_pPos1
$5 = boost::scoped_ptr SwPosition (node 10, offset 20)

But this is not something anyone will remember. After adding a few new pretty-printers, now it’s like this:

(gdb) print (*m_pTableSeq)[0][0]
$1 = uno::Sequence of length 2 = {uno::Reference to (SwXTextRange *) 0x1a72b98, uno::Reference to (SwXTextRange *) 0x1a773b8}
(gdb) print *(*m_pTableSeq)[0][0][0]._pInterface
$2 = (SwXTextRange) SwXTextRange sw::UnoImplPtr SwXTextRange::Impl = {mark = sw::mark::IMark = {pos1 = boost::scoped_ptr SwPosition (node 10, offset 0), pos2 = empty boost::scoped_ptr}}
(gdb) print *(*m_pTableSeq)[0][0][1]._pInterface
$3 = (SwXTextRange) SwXTextRange sw::UnoImplPtr SwXTextRange::Impl = {mark = sw::mark::IMark = {pos1 = boost::scoped_ptr SwPosition (node 10, offset 20), pos2 = empty boost::scoped_ptr}}

Technically, it would be possible to make print (*m_pTableSeq)[0][0][0] work as well, but for a larger class without a pretty-printer that would result in multiple pages of output. Anyway, _pInterface is the same for all UNO objects, so something that is not too hard to remember.

An other improvement is the XTextCursor pretty-printer. Example usage: debugging of the commented text range ODF import. Before:

(gdb) b txtfldi.cxx:559
(gdb) print *rHlp.GetCursor()._pInterface->m_pImpl->pRegisteredIn->m_pMark
$1 = SwPosition (node 9, offset 4)

After the new pretty-printers one doesn’t have to type that much:

(gdb) print *rHlp.GetCursor()._pInterface
$1 = (SwXTextCursor)
    SwXTextCursor sw::UnoImplPtr SwXTextCursor::Impl = {registeredIn = SwModify = {point = SwPosition (node 9, offset 4), mark = SwPosition (node 9, offset 4), next = 0x1a28b88, prev = 0x1a28b88}}

RTF filter text frame rework

Finally, I experimented with reworking the textframe code in the RTF filter. In short, the motivation is to bring the RTF filter in sync with the OOXML one, which can nicely import and export text box gradients. To get there, there are 3 different problems to solve:

  1. The RTF import filter currently imports rectangle and textbox shapes as drawinglayer rectangles, even if they have some text inside. Just like the OOXML import filter, we would better import these shapes as Writer textframes, as long as they contain some text.

  2. The RTF export writes Writer textframes as old-style Word frames, not as text box shapes. This should be changed, as the old syntax doesn’t support gradients, and in general both the DOC and DOCX export filters already export new-style Word frames, so there is no reason why the RTF filter would not do the same.

  3. Once all the above is done, add support for gradients in the RTF filter, in a similar way OOXML filters were already improved to handle gradients.

  4. Once this all is done, add new testcases to cover the new code.

First I had hacked on #1, sadly Writer textframes and drawinglayer rectangles don’t share the exactly same UNO API, like drawinglayer has TextWritingMode and a Name property, Writer textframes have a WritingMode property instead, and additionally they implement the XNamed UNO interface, etc.

Then I switched to #3 — there I managed to reuse our existing VML import to do the hard work: the RTF tokenizer reads the RTF shape properties, then constructs the same VML model what is normally built from v:fill and v:shadow XML elements inside DOCX files, finally the VML import does the mapping of Word’s gradient concept to the Writer gradient concept.

At the end of the week I also hacked on #2 and #4 — and while I did so, I noticed two more interesting details of Word’s new-style RTF textframe markup:

  • The bad news: Writer supports having different top/left/bottom/right borders, RTF still just supports the concept of a single line around the textframe.

  • The good news: old-style RTF frames didn’t support different left/right or top/bottom external margins, but Writer does — so now using the new syntax, this is exported properly.

git

Unrelated to the above, I fixed an annoying git bug, when one tried to cherry-pick multiple commits at the same time, and copy&paste went wrong, the "unrecognized" arguments were just silently ignored. Now one gets an error instead.

docs.libreoffice.org

In parallel to the above, Thorsten was kind enough to explain how to update docs.libreoffice.org: The new output is generated using doxygen 1.8, it contains a bit more eye-candy. E.g. notice the new foldable subsections here. ;-)

April 15, 2013 03:31 PM

April 14, 2013

Naruhiko Ogasawara

Sorry to long time nothing... Just say hello

I have very short time to write this post; so it is just "coming soon (I hope)" programs.

First, as you know, I'm a LibreOffice guy, not a developer but a translator or something outreaching by hosting meetups or something.
I believe everyone already read Kohei-san's great blog article "Open Source Conference 2013 in Tokyo," it is good report of our memorable one step; first whole-day event about LibreOffice in Japan.  His article is perfect, nothing to add from me as an attendees, but I was one of the staff of the event, so I want to tell something from backyard of the event.

Then, another side of my face is "printing guy," I always think about future of printing how end users (especially from desktop and from mobile) do that, and what kind of changes will be coming.  We have annual event about such kind of theme, "Printing Summit," sorry I have no time so please see their official sites:

But in short, some printing guys will gather and discuss now and future of printing from Linux, Mobile, Cloud, so what kind of middleware, cloud services we need, and what kind of standard schemas, protocols should be implemented inside each printers.  This event will have in Apple office Cupertino, CA, opposite side of their current HQ.

Happy to say I decided I'll attend the meeting (as a private; it's my hobby, not work :). So I will write short report of this, if I will be able to catch entire discussions with my (not good English) ears.

Sorry for trivial post.  I hope see you soon!

by Naruhiko Ogasawara (noreply@blogger.com) at April 14, 2013 12:02 PM

April 11, 2013

Official TDF Blog

The Document Foundation announces LibreOffice 3.6.6

Berlin, April 11, 2013 – The Document Foundation (TDF) announces LibreOffice 3.6.6, for Windows, MacOS and Linux, targeted to enterprises and individual end users who prefer stability to more advanced features. This new release is suited to the increasing number of organizations migrating to LibreOffice, which is steadily growing worldwide.

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation. There is a donation page – with many options including PayPal and credit cards – at http://donate.libreoffice.org, to support the growth of the project in areas such as infrastructure, marketing and development of native language communities.

LibreOffice 3.6.6 is available for immediate download from the following link: http://www.libreoffice.org/download/. Extensions for LibreOffice are available from the following link: http://extensions.libreoffice.org/extension-center.

The change log – with over 50 bugs solved – is available at https://wiki.documentfoundation.org/Releases/3.6.6/RC1 (fixed in 3.6.6.1) and https://wiki.documentfoundation.org/Releases/3.6.6/RC2 (fixed in 3.6.6.2).


by italovignoli at April 11, 2013 01:03 PM