LibreOffice Hackfest 2011 in Munich

    From The Document Foundation Wiki
    Hackfest 2011 Munich Logo Plain.png
    Hackfest Munich 2011
    next →
    Dates02. to 04. September 2011
    LocationProject LiMux and Café Netzwerk

    From September 2nd to September 4th, the first LibreOffice Hackfest will take place in the City of Munich, Bavaria, GermanyWikipedia logo v3.svg. This event is kindly supported by the LiMux migration project of the Bavarian capital city.


    We would like to thank our following sponsors and supporters for making this years' Hackfest possible:

    Interested in sponsoring the event with money or supplies? Contact the organizers!


    We have two venues. The main venue is the LiMux project's office, where most of the activities will take place:

    Project LiMux
    Sonnenstraße 25, 7th floor
    80331 Munich

    From Hauptbahnhof (main station) take the U1/U2 to Sendlinger Tor or the U4/U5 to Stachus (Karlsplatz). Follow the Sonnenstraße until you see the green sign of the Goethe Institut. Enter the passage. The entry is on the right-hand side.

    Café Netzwerk, located about 10-15 minutes by feet from the main venue, is just a fallback in case we need a second room, or want to stay longer than the employees of the city of Munich. It can also be used for depositing stuff and sleeping (more on that later).

    Café Netzwerk
    Luisenstraße 11
    80333 München

    From Hauptbahnhof (main station) take the U2 to Königsplatz and use the exit Karlstraße/Luisenstraße. Alternatively, you can use the tram 20 or 21 to Karlstraße.

    In a nutshell: We meet at Sonnenstraße, not at Café Netzwerk.

    Notes for car drivers

    If you don't have a German car with a positive eco zone registration, you're not allowed to drive in the city center of Munich. Even with a eco zone registration, parking space in the city center is quite hard to get. Christian summarized the parking and park+ride situation in Munich.

    Parking lot for transportation

    The LiMux team has reserved two parking lots over the weekend near Sonnenstraße that can be used for people who have to transport goods to the venue. In case you need one of these parking lots, please contact the organizers in advance, as special keys are required.

    Sleeping at Café Netzwerk

    It is possible to sleep at Café Netzwerk, although we try to organize couchsurfing instead. If you want to sleep at Café Netzwerk, please ping Florian in advance, and do not just add your name to the list. For those who plan to sleep at Café Netzwerk: You need a sleeping bag and a mattress, because we have to sleep on the plain floor, there are no beds. Be aware that Café Netzwerk has no showers, just normal restrooms. The LiMux office has showers we could use, however.


    Please add your name and e-mail address to this list in case you want to participate. We will use this list for planning and logistics.

    1. Effenberger, Florian
      Mobile Phone: +49 151 14424108
    2. Behrens, Thorsten
    3. Ertsey, Andor
      Organizer (Project LiMux, Munich)
    4. Henschel, Regina
    5. Timar, Andras (sleeping at Café Netzwerk)
    6. Pechlaner, Wolfgang
    7. Bosdonnat, Cedric
    8. Abe, Takeshi
    9. Bubli
    10. Vignoli, Italo
      Haking Pasta
    11. Vajna, Miklos (sleeping at Café Netzwerk)
    12. Mohrhard, Markus
    13. Christoph Noack (sleeping at Café Netzwerk)
    14. Daniel Benkmann (Project LiMux, Munich)
    15. Christoph Lutz (Project LiMux, Munich)
    16. Stefan Ströbl (Project LiMux, Munich)
    17. Dennis Knorr (Project LiMux, Munich)
    18. Ignaz Forster (Project LiMux, Munich)
    19. Tobias Fischbach (Project LiMux, Munich)
    20. André Schnabel
    21. Friedrich Strohmaier (sleeping at Café Netzwerk)
    22. Haas, Uwe (oder Stefan, evtl auch beide)
    23. Christian Lohmaier (maybe only Fri & Sat)
    24. Bjoern Michaelsen (Canonical)
    25. Fridrich Strba
    26. Dietmar Klarl-Naue (DBI)
    27. Christian Dywan (Lanedo) (sleeping at Café Netzwerk)
    28. Christian Kellner (Lanedo) (sleeping at Café Netzwerk)
    29. Michael Natterer (Lanedo) (arriving Sat evening) (sleeping at Café Netzwerk)
    30. Armin Dänzer (Café Netzwerk) sleeping at Home (maybe Friday & Sat)
    31. Sigrid Wever (Munich) sleeping at Home (maybe Friday & Sat)
    32. Knut Olav Bøhmer
    33. Reinhard Holler (Friday and maybe Saturday, sleeping at Home)

    Andreas Kawohl (Schlafplatz vorhanden)


    As the Hackfest is some sort of unconference, there is no fixed agenda with items to be worked on. On this wiki page, we have compiled a list of topics and issues to work on, the rest will be decided on the fly and ad hoc at the venue. This sounds rather chaotic, but usually works out quite well. ;-)


    14:00 Setting up, people can start to arrive at Sonnenstraße (LiMux project office)
    About 19:00/20:00 Official start with meeting at the LiMux project office, socializing, and going out for dinner
    Open End: We will stay at Sonnenstraße, or move on to Café Netzwerk

    09:00 Breakfast at Sonnenstraße sponsored by LiMux
    10:00 Official start of Hackfest day one
    Approx. 13:00 Pasta Hacking with Italo
    Thereafter Ongoing Hackfest
    Open End: We will stay at Sonnenstraße, or move on to Café Netzwerk

    09:00 Breakfast at Sonnenstraße sponsored by LiMux
    10:00 Official start of Hackfest day two
    Approx. 13:00 Lunch sponsored by DBI
    Approx. 14:00 End of Hackfest

    Pasta Recipes

    Penne Cacio e Pepe
    Ingredients (servings 4)
    300 grams penne
    2 tablespoons of extra virgin olive oil
    100 grams grated Pecorino cheese
    1 tablespoon of black pepper
    Preparation (5 minutes preparation + 10 minutes cooking)
    Cook penne in abundant salted water. Drain when “al dente”, and put into a heated serving tureen, sprinkle with the grated Pecorino cheese and the pepper and pour on some tablespoons of cooking liquid to make sure the sauce is well-dissolved and amalgamated. Mix and serve hot.

    Rigatoni alla Gricia
    Ingredients (servings 4)
    300 grams maccheroni
    3 tablespoons of extra virgin olive oil
    40 grams jowl bacon
    60 grams grated Pecorino cheese
    Preparation (10 minutes preparation + 10 minutes cooking)
    Place a frying pan over medium heat. Add the olive oil and, as soon as it is hot, add the chopped bacon (or guanciale). Reduce the heat and cook until the fat in the bacon starts melting. In the meanwhile, cook maccheroni in abundant salted water. Drain when "al dente" and toss with the previously prepared sauce. Add grated pecorino according to taste.
    Food History
    Pasta alla gricia is a fairly old preparation that uses ingredients found in the mountains of Lazio and Abruzzo: guanciale, or pork jowl, and pecorino. Considered to be the ancestor of pasta all’amatriciana, pasta alla gricia is a symbol of the sheepherding culture in the area.

    Spaghetti Ajo, Ojo e Peperoncino
    Ingredients (servings 4)
    300 grams spaghetti
    4 cloves of garlic
    ½ cup of extra virgin olive oil
    1 or 2 chili peppers, according to taste
    Preparation (5 minutes preparation + 10 minutes cooking)
    Cook spaghetti in abundant salted water. Drain when "al dente". In the meanwhile, warm the olive oil with the garlic and the chili pepper, without letting them burn, then dress the pasta.


    • Providing on-site UX advice before/during/after the hacks :-)
    • Any need for: Short talk about UX and usability? Who are the users we hack(fest) for?
    • I (=Regina) do not have any ready presentation, but I suggest to do some work together that weekend. I can imagine the following subjects. Do you have interest in any of them?
    1. Tools ▸ Options is a muddle of user settings and document settings, and settings which are likely corporate specific. We can sort this out and bring a proposal to the Wiki for further discussions of a better way for settings.
    2. Draw has a powerful 3D engine, but the dialog for 3D-properties is ancient and confusing. We need a totally new one. In addition a live preview should be implemented. We can discuss this and write a proposal of needed dialogs and features.
    3. Rendering of 3D-charts is so slow, that you can not use them for larger data series. We can try to figure out the reasons.
    4. Lots of people complain about the mail merge wizard. We try to sort out the user requests and bring a proposal for a better wizard to the community.
    5. There are lot of problems for novice and casual developers. We gather those problems and provide solutions and instructions for beginners. For example I personally are interested in how to make Git like patches when using tarballs and how to use MSVC for debugging.
    • better handling of formula error messages in calc
    1. get rid of messages like Err:502 for illegal argument
    2. provide some feedback what is wrong like a pop-up or a icon similar to the notes icon
    • some tips for "beginners" about build system e.g.
      • how to do fast builds,
      • packaging options (so that other people can test my builds)
    • I'd like to discuss some problems around numbering / outline indents in writer (see tdf#32781). I'm going to do some worke on that, but the mentioned defaultnumberingproder does not seem to be the right place.
    • Extension interface (Christian Dywan)
      • Proper error reporting for erroneous OXT/ extension folder (missing files, missing keys, more specific and understandable errors)
      • Print errors and stack traces of failing extensions
      • Make Python UNO exceptions visible
    • Using Jenkins and Gerrit in the Libreoffice project

    Concrete Hacks

    Module Topic Remarks Issue # Mentor Participants

    Multiple instances of soffice.exe At launch soffice.bin tries to connect to another process already running. If the first process allows the connection, but never answers after that, the second process can get stuck in an endless loop. Every soffice.bin started after that, will also get blocked. i#114963
    Andor Ertsey

    Switch "-nolockcheck" affects lock-files of documents If you open a locked document from another computer via "soffice -nolockcheck"the dialog for locked documents isn't shown. The document is opened read-only instead. i#108936
    Stefan Ströbl
    Writer Consolidate diverging mail merge mechanisms with different timings There are three different ways to perform a mail merge. Each one has a different performance and seems to use a different mechanism under the hood. i#118222
    Christoph Lutz
    Writer Non-linear execution time in mail merge It seems that the OOo mail merge has a complexity of O(n²). i#118224 Bjoern Michaelsen Christoph Lutz
    Calc External web reference to Calc sheet no longer works This is a regression in OOo 3.2.1 and later and LibreOffice i#118221 Markus Mohrhard Andor Ertsey
    Writer Pressing return at the end of a bookmark extends the bookmark
    i#77358 Cedric Bosdonnat Andor Ertsey
    Writer Calling setString twice on bookmark's text range deletes adjacent bookmark
    i#103669 Cedric Bosdonnat Andor Ertsey
    Writer Several issues with InsertDocumentFromUrl Our template management system WollMux heavily relies on XDocumentInsertable::InsertDocumentFromUrl. There are several issues with this function, where the format of the inserted document is destroyed. i#109152

    Andor Ertsey
    Writer Making the styles navigator look better An unfinished patch has been received a long time ago and someone in the french community made a mockup... It would be nice to try to approach that mockup as much as possible during the hackfest to get it bootstrapped.

    Cedric Bosdonnat

    Implement an Unhosted store backend The unhosted spec defines a way to have peer-to-peer web storage, building on top of standards like webdav. Goal: attempt to have a working prototype, using the demo site. Example app e.g. here.

    Thorsten Behrens
    Writer Header / Footers edition improvements A new UI for editing header / footers has been started a while ago and still needs quite a lot of improvements. The goal here is to progress quickly on this feature and pack it ASAP.

    Cedric Bosdonnat


    • Visio Import filter (Fridrich Strba)
      • Initial text support implementation the LO Draw side
      • Approximation of Uniform Bezier Splines the libvisio side. Reusing the code we had for Non-Uniform Bezier Splines already in libvisio
      • Some work on text transforms in libvisio
    • (Christian Dywan)
      • Show at best 1 notification every 5 seconds
      • Show x/y module status in both console and zenity notification
    • (Andras Timar)
      • Put LibreOffice API Documentation online
      • HTML files use LibreOffice logos and LibreOffice colors
    • RTF support (Miklos Vajna)
      • multiple "first page" headers (headers at the start of sections) are now exported (tdf#38966)
      • page breaks before empty paragraphs are now imported
      • the time (and not just the date) of postit fields are now exported
      • fixed export of character styles to be nice with old readers
    • l10n bits (Andras Timar)
      • Add Aragonese (an-ES) locale data
      • Add Swedish thesaurus
    • Writer Headers / Footers editing feature (Cedric Bosdonnat)
      • Finalized the drawing and positioning of a Window object to indicate the header / footer
      • Lots of cool discussions and ideas with Christoph Noack
    • CUI bits (Bubli)
      • Fixed long-standing shape fill dialog issue (i#95158) - selected fill colour is reset on tab switch
      • While at it, fixed some related issue(s), mostly wrt. shape fill previews not being correctly updated on colour/fill type change
    • Mail Merge/Bookmark performance (Christoph Lutz)
    • Initial Gerrit setup at (Bjoern Michaelsen)
    • Calc bugs and unit test improvements (Markus Mohrhard)
      • merged cells with shadows now work with undo/redo and movement
      • filter unit tests for range names and basic features
    • Calc "Range Names" user experience decisions (Markus Mohrhard, Christoph Noack) --> design description to be available soon
    • port filter gbuild patches to LO (Michael Stahl)

    Hotels and lodging

    There are many hotels in the vicinity of Hauptbahnhof (main station). There are several youth hostels around the city also. The A&O Hostel Hackerbrücke is about 15 minutes from the city center and is reasonably cheap.

    Food and beverages

    The LiMux project team will try to organize breakfast for Saturday and Sunday. In case you do not want to participate, please let us know in advance, so we can buy accordingly. Otherwise, feel free to skip breakfast at the hotel, and eat together with us. ;-) The LiMux team will also try to organize some snacks and drinks.

    Italo Vignoli will cook pasta for lunch on Saturday. There will be three different pastas, easy enough for casual hackers to learn but good enough for everyone to enjoy. Recipes have been chosen based on the chef's family heritage, so they will be a mix from the center of Italy: penne "cacio e pepe" (pecorino cheese and black pepper) from Rome, spaghetti "ajo ojo e peperoncino" (garlic, oil and red paprika) from the surrounding countryside, and rigatoni alla "gricia" (guanciale and pecorino cheese) from Amatrice (this is the original recipe of the more famous "amatriciana", because tomato arrived in Europe from the Americas while people in Italy were already eating pasta some 3.000 years ago).

    On Friday evening, we will go out for dinner. Saturday's dinner will be determined on the fly, based on what we are hungry for. ;-) Please note that participants have to pay for food on their own, it is not paid for by the organizers. For Sunday's lunch, the kind folks from DBI team will sponsor a round of food and beverages for all participants, up to 250 €. Thanks a lot for this generous support, that is really appreciated!

    Marketing Material

    The File:Hackfest 2011 Munich contains:

    • Logo: SVG source of the logo, full logo (hackfest + LibreOffice logo), plain logo (hackfest logo only), motto ("Eating Spaghetti, Hacking Code")
    • Information Panel: SVG source incl. example text, directions (left, right, straight ahead) (Note: Use "Save copy as..." in Inkscape and save/print as PS).