< KDE PIM‎ | Meetings
Revision as of 23:05, 27 February 2011 by TMG (talk | contribs) (→‎GSoC: add a section about quality vs quantity)

KDE PIM/Meetings/Osnabrueck 9

The annual KDE PIM Meeting Osnabrück 9 will take place at the Intevation offices in Osnabrück from Friday, February 25th 2011, to Sunday, February 27th.

Location / Travel Information


Neuer Graben 17
49074 Osnabrück
Phone: +49-541/335083-0

Arrival: see http://www.intevation.de/travel.en.html




Non-locals, please add your travel details and accomodation needs (Do you want to share a double room with somebody?) to the following table.

Name Arrival Departure Accommodation needed Comments
Cornelius Schumacher Friday afternoon, by train Sunday evening, by train yes
Till Adam Friday afternoon, by train Sunday evening, by train yes single room, please
Georg Greve canceled sickness
Volker Krause Friday afternoon, by train Sunday evening, by train yes
Tobias Koenig Friday afternoon, by train Sunday evening, by train yes fine with sharing a room
Ingo Klöcker Friday afternoon, by train Sunday evening, by train yes (non-smoking room) fine with sharing a room
David Jarvie Friday end of afternoon, by plane and train Sunday afternoon, by train yes
Stephen Kelly Friday afternoon, by train Sunday evening, by train yes
Thorsten Staerk Friday afternoon, by train Sunday evening, by train yes fine with sharing a room
Thomas McGuire Friday afternoon, by train Sunday evening, by train yes (non-smoking room) fine with sharing a room
Sérgio Martins Thursday evening, plane lisbon->dusseldorf, then bus&&train Monday, train to Bremen, then plane yes Arriving Friday and leaving Sunday would cost 300 euros more than i'm paying now
Andre Heinecke resident
Björn Ricks resident
Bernhard Reiter resident
Grégory Oestreicher Friday end of the afternoon, by train Sunday mid-afternoon, by train yes Fine with sharing a room
Kevin Krammer Friday around noon, by plane (ARR 12:05) Sunday evening, by plane (DEP 18:50) yes Fine with sharing a room
Christian Mollekopf Friday morning, by train Sunday evening, by train yes Fine with sharing a room
John Layt Friday 09:35 on AB8811 from London Monday 15:25 on AB8820 to London, Sunday flight would have missed most of the day and cost £60 more, so cost neutral yes Fine with sharing a room, but a single may be easier for Sunday night


Please add topics you would like to cover here:

  • KDE PIM 4.6 release
  • Kontact touch, demo on several devices if people are interested (N900, HTC Touch Pro2, Ideapad, Aava Mobile Smartphone, Wepad). Experiences, especially size.
  • KDEPIM and professional development, credits discussion
  • Kontact from KDE 3 under KDE Platform 4, config file clashes?
  • Outlook invitation compatibility and "enterprise" setting in general. Ideally, we would like to reduce each point
  • sqlite vs mysql and the indixes, measuring and example data
  • Webpresence of Kontact and KDE PIM is lacking a lot
  • Kontact (Desktop and Touch) on windows
  • experiences with setting up the continuous build systems for Kontact Touch on Maemo and CE: problem of full builds -> saegerwerk. Problem of included files and dependencies.
  • is a better maintainer for ktimetracker available (question from tstaerk)?
  • Git workflow ( fwd port with git-merge or git-cherry-pick? )
  • N900 performance problems. Still spurious appointment conflicts when syncing.
  • Summer of Code ideas brainstorming
    • Merged contact view in KAddressbook
    • Social networking resources (Studivz, LinkedIn etc)
    • ...
  • Trash handling in Akonadi
  • Import/Export in Akonadi
  • Exchange support status?
  • Nepomuk integration for Calendar Incidences and Notes?
  • Demo of my hackweek project (Cornelius)


This is a first uninformed guess. Details to be decided.


Arrival and start to meet and work

18:10 Official Opening by Cornelius

18:15 Agenda Planning

19:00 Kontact Touch Demo

19:30 Dinner (Rampendahl)

22:30 Hacking


08:00 Breakfast

09:00 KDE 4.6 Release

10:00 Migration

12:30 Lunch

13:00 Demos of Cornelius' and Christian's Projects

14:00 Group photo

14:45 Group Discussions / Hacking

16:50 Git Workflow

17:05 Enterprise Build Options

17:30 Nepomuk

18:00 Dinner


08:00 Breakfast

09:00 Hacking

10:00 Google Summer of Code

10:30 Contacts Merging

12:30 Lunch

Departure and end of meeting

Meeting Notes


Same procedure as last every year...

Free/Busy Handling

The DAV and OpenChange protocols (and possibly others, in the future) need to have their own free/busy handling, while the free/busy manager in kdepim/calendarsupport currently only supports HTTP retrieval.

The basic idea to make free/busy work for those protocols:

  • Implement free/busy support in the resource itself, as there is already a connection to the server in there
    • Each resource capable of handling free/busy gets a D-Bus interface with an API to query for free/busy information based on a time range and email. This is similar to how mail sending in resources is handled, see kdepimlibs/akonadi/transportresourcebase.h and kdepim-runtime/agents/mailtransport-dummy.
  • The free/busy manager in kdepim/calendarsupport will be extended to first query all capable resources for free/busy information, and then fallback to using HTTP. The free/busy lists from the resources will use the same cache as the HTTP lists, in the free/busy manager.

4.6 Release and Migration


Last remaining blocker: Mail migration.

  • Fails in error cases (no wallet, no network)


  • Make migration is optional
  • Fix migrator error scenarios
  • Fix no wallet scenario


New features:

  • Per-folder cache policies
  • New touch front-ends
  • New calendar/contact backends (Google, Facebook, DAV, etc)
  • Plasma access to the calendar, Plasma mail front-end
  • TODO


  • Ready to use, but very distruptive technology change.
  • Highlight application changes, not backend changes.
  • TODO


  • Fix migrator (ideally this weekend)
  • RC release ASAP (ca. March 2nd with 4.6.1)
  • Final release in about a month (4.6.2, April 5th)

Trash Handling


  • Delete Item if already marked as deleted
  • Move to trash collection if available
  • Flag item with MarkAsDeleted attribute

MarkAsDeleted attribute:

  • collection to restore Item

(can be translated by the resource, i.e. to the imap mark as deleted flag)


Per Resource Setting:

  • TrashCollection: For remote resources the applicaton could still setup a separate resource with a local storage format which is used as trash.
  • Time before MarkAsDeleted items are deleted by the janitor agent(based on modificationTime of item)


Hide MarkAsDeleted items, except if parent collection is a trash collection


  • DeleteAction -> DeleteJob
  • TrashAction -> TrashJob

Janitor Process

Process to delete items based on MarkAsDeleted attribute and the configuration how long items should be kept


  • Search for git log about reason for sql indices (hours)
  • Bulk import API (hours)
  • Email Dataset Korpus (Enron-Template) (hours-days)
  • Low Level DB Introspection API (days)
  • Transaction Scheduling (R/W Queue) (weeks)
  • Nested Sets (weeks)
  • Reuse of Prepared Statements
  • Correctness of SQLite (constraints)
  • (updateable) Views
  • improved Object Relation Mapper

Git Workflow

  • Enterprise branches: clone or branch? -> branch
  • Central model, like with SVN
  • Follow general KDE rules, discuss in general KDE context

Enterprise Build Options

  • Compliant with RFC/standards/specifications or compatibility with other solutions (eg. Outlook/GMail)
  • Thomas will compile a list of existing differences depending on KDEPIM_ENTERPRISE_BUILD, individual options will be discussed on the on the mailing-list


Thomas will be the KDE PIM GSoC coordinator.

We decided to go for quality of projects this year, not quantity. Last year we basically had too many slots and as a result some projects of which the outcome wasn't as good as we would have wished for.

Ideas were brainstormed and will put on to http://community.kde.org/GSoC/2011/Ideas .

Contact Merging

  • Implement on top of Nepomuk instead of roling our own solution -> blocked at the moment by Nepomuk.
  • Default solution for conflict: take both bits of data, there is nearly no data field that can only exist in one version (birthday is basically the only exception, even the name can change over time).
  • Akonadi/Nepomuk feeder manages merging and back-propagation.

Upcoming Meeting

  • Small sprint in April/May, focussing on fixing Akonadi/Nepomuk integration.
  • Platform 11 / Randa in June
  • BDS in August

Shared Import/Export

Existing code:

  • KMailCVT (most complex import)
  • KAddressBook (most complete system)
  • KOrganizer (most complex features)
  • KJots


  • Import/export from different file formats
  • "Export" to other representations (HTML, PDF, printing,...)
  • Bulk operations in apps with no tree/list view interface (e.g. korganizer)

Needed components:

  • Generic stuff selection dialog
  • Shared interfaces for import/export plugins
  • Async interface for import/export


Steve to Volker: "You can't remove something that's already not there!"

This page was last edited on 11 February 2012, at 15:18. Content is available under Creative Commons License SA 4.0 unless otherwise noted.