KDE PIM/Meetings/Osnabrueck 9: Difference between revisions

From KDE Community Wiki
(→‎Blogs: added link to the dot story by Stephen)
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The annual [[KDE_PIM/Meetings|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.
The annual [[KDE_PIM/Meetings|KDE PIM Meeting]] Osnabrück 9 took place at the [http://www.intevation.de/ Intevation] offices in Osnabrück from Friday, February 25th 2011, to Sunday, February 27th.
 
== Location / Travel Information ==
 
=== Office ===
 
<pre>
Intevation
Neuer Graben 17
49074 Osnabrück
Germany
Phone: +49-541/335083-0
</pre>
 
Arrival: see http://www.intevation.de/travel.en.html
 
=== Hotel ===
 
[http://www.dom-hotel-osnabrueck.de Dom-Hotel]


== Participants ==
== Participants ==


Non-locals, please add your travel details and accomodation needs (Do you want to '''share''' a double room with somebody?) to the following table.
* Andre Heinecke
 
* Bernhard Reiter
{| border="1"
* Björn Ricks
|-
* Christian Mollekopf
! Name
* Cornelius Schumacher
! Arrival
* David Jarvie
! Departure
* Grégory Oestreicher
! Accommodation needed
* Ingo Klöcker
! Comments
* John Layt
|-
* Kevin Krammer
| Cornelius Schumacher
* Stephen Kelly
| Friday afternoon, by train
* Sérgio Martins
| Sunday evening, by train
* Thomas McGuire
| yes
* Thorsten Staerk
|
* Till Adam
|-
* Volker Krause
| 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
|}


== Topics ==
== Topics ==
''Please add topics you would like to cover here:''


* KDE PIM 4.6 release
* KDE PIM 4.6 release
Line 166: Line 45:


== Agenda ==
== Agenda ==
''This is a first uninformed guess. Details to be decided.''


=== Friday ===
=== Friday ===
Line 199: Line 76:
14:45 Group Discussions / Hacking
14:45 Group Discussions / Hacking


16:30 Git Workflow
16:50 Git Workflow


17:00 Nepomuk
17:05 Enterprise Build Options


17:30 Enterprise Build Options
17:30 Nepomuk


18:00 Dinner
18:00 Dinner
Line 211: Line 88:
08:00 Breakfast
08:00 Breakfast


09:00 Google Summer of Code
09:00 Hacking
 
10:00 Google Summer of Code


10:00 Contacts Merging
10:30 Contacts Merging


12:30 Lunch
12:30 Lunch
Line 224: Line 103:


Same procedure as <s>last</s> every year...
Same procedure as <s>last</s> 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 ===
=== 4.6 Release and Migration ===
Line 239: Line 129:
==== PR ====
==== PR ====


New features:
New features
* IMAP IDLE
* IMAP IDLE
* Per-folder cache policies
* Per-folder cache policies
Line 247: Line 137:
* TODO
* TODO


Messageing
Message
* Ready to use, but very distruptive technology change.
* Ready to use, but very disruptive technology change.
* Highlight application changes, not backend changes.
* Highlight application changes, not backend changes.
* TODO
* TODO
Line 272: Line 162:
Per Resource Setting:
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.
*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)
*Time before MarkAsDeleted items are deleted by the janitor agent (based on modificationTime of item)


==== TrashFilterProxy ====
==== TrashFilterProxy ====
Line 284: Line 174:
Process to delete items based on MarkAsDeleted attribute and the configuration how long items should be kept
Process to delete items based on MarkAsDeleted attribute and the configuration how long items should be kept


==== Database ====
=== Database ===
*Search for git log about reason for sql indices (hours)
*Search for git log about reason for sql indices (hours)
*Bulk import API (hours)
*Bulk import API (hours)
Line 296: Line 186:
*(updateable) Views
*(updateable) Views
*improved Object Relation Mapper
*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
=== Shared Import/Export ===
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 ==
== Quotes ==


Steve to Volker: "You can't remove something that's already not there!"
Steve to Volker: "You can't remove something that's already not there!"
== Blogs and Dots ==
* [http://thomasmcguire.wordpress.com/2011/02/27/facebook-support-in-kdepim/ Thomas McGuire: Facebook support in KDEPIM]
* [http://dot.kde.org/2011/03/15/9th-annual-pim-meeting-renews-commitment-innovation Dot Story by Steven Kelly ]

Latest revision as of 15:18, 11 February 2012

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

Shared Import/Export

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!"

Blogs and Dots