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.
Participants
- 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
Topics
- 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)
Agenda
Friday
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
Saturday
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
Sunday
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
Website
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
Migration
Last remaining blocker: Mail migration.
- Fails in error cases (no wallet, no network)
Solution:
- Make migration is optional
- Fix migrator error scenarios
- Fix no wallet scenario
PR
New features
- IMAP IDLE
- 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
Message
- Ready to use, but very disruptive technology change.
- Highlight application changes, not backend changes.
- TODO
Plan
- 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
TrashJob
- 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)
TrashSetting
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)
TrashFilterProxy
Hide MarkAsDeleted items, except if parent collection is a trash collection
StandartAction
- DeleteAction -> DeleteJob
- TrashAction -> TrashJob
Janitor Process
Process to delete items based on MarkAsDeleted attribute and the configuration how long items should be kept
Database
- 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
GSoC
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
Existing code:
- KMailCVT (most complex import)
- KAddressBook (most complete system)
- KOrganizer (most complex features)
- KJots
Scope:
- 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
Quotes
Steve to Volker: "You can't remove something that's already not there!"