< KDE PIM‎ | Meetings
Revision as of 15:18, 11 February 2012 by Bernhard (talk | contribs) (→‎Blogs: added link to the dot story by Stephen)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

KDE PIM/Meetings/Osnabrueck 9

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


  • Andre Heinecke
  • Bernhard Reiter
  • Björn Ricks
  • Christian Mollekopf
  • Cornelius Schumacher
  • David Jarvie
  • Grégory Oestreicher
  • Ingo Klöcker
  • John Layt
  • Kevin Krammer
  • Stephen Kelly
  • Sérgio Martins
  • Thomas McGuire
  • Thorsten Staerk
  • Till Adam
  • Volker Krause


  • 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)



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...

Ingo actually completed the migration of all relevant information from pim.kde.org to http://community.kde.org/KDE_PIM this weekend.

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 disruptive 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 rolling 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, focusing on fixing Akonadi/Nepomuk integration.
  • Platform 11 / Randa in June
  • Berlin Desktop Summit 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!"

Blogs and Dots

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.