KDE PIM/Meetings/PIM October 2012 meeting: Difference between revisions

From KDE Community Wiki
 
(12 intermediate revisions by 5 users not shown)
Line 10: Line 10:
* Developing simple Akonadi example applications which showcase Akonadi and should hopefully make it easier for developers to integrate Akonadi in their applications
* Developing simple Akonadi example applications which showcase Akonadi and should hopefully make it easier for developers to integrate Akonadi in their applications
* KMail dev sprint and bug squashing?
* KMail dev sprint and bug squashing?
* Related to kmail but mentioning specifically. Since KDE 4.9.2 there seems to be an issue with kmail [http://lists.kde.org/?l=kde-pim&m=134964369713847&w=2 getting slower]. I'd be nice to dive in this issue with the people there and fix it.
* QML Calendar Akonadi integration sprint.
* QML Calendar Akonadi integration sprint.
* Figuring out all the [http://api.kde.org/4.x-api/kdepimlibs-apidocs/ PIM classes] and improving their documentation.
* Figuring out all the [http://api.kde.org/4.x-api/kdepimlibs-apidocs/ PIM classes] and improving their documentation.
Line 21: Line 22:
* Activating resources when added (When a new resource is adding for example in AddressBook, the user will have to "check it" manually.
* Activating resources when added (When a new resource is adding for example in AddressBook, the user will have to "check it" manually.
* Try to improve KMail user perception by fine-tunning when and how we FETCH
* Try to improve KMail user perception by fine-tunning when and how we FETCH
* Investigate if we can use accounts-sso instead of doing our own thing


=== DFaure (remotely) ===
=== DFaure (remotely) ===
Line 32: Line 34:
* Social Feed (lots of stuff)
* Social Feed (lots of stuff)
* New Address Book (+metacontacts a bit)
* New Address Book (+metacontacts a bit)
=== Milian ===
* performance
=== John Layt ===
* New Qt ICU backend including QTimeZone
* Plasma Calendar Service - See http://community.kde.org/Plasma/Clock
* KHolidays NG - JSON file format, Qt-only base library, KDE-only widgets
* New QML Plasma Calendar Widget - See http://community.kde.org/Plasma/Clock


== Agenda ==
== Agenda ==
Line 44: Line 56:


=== Friday 12th===
=== Friday 12th===
==== IMAP Improvements ====
* support dynamic switching between online and offline IMAP
* implement two pass (initial) sync, ie. do a first sync with online mode, and then if the user selected offline mode initially run a second sync with that enabled to fetch the missing bodies (depends on the above point obviously), this will give you a much faster initial access to the mail before having the full sync completed, aka the "Spanish sync"
* download throttling, to prevent a fast network connection from overflowing the IMAP resource
* parallel fetching and syncing, so that reading a single mail with online IMAP is not blocked by a long on-going sync (aka the "d4 problem")
* increase default sync interval from 5 to 60 min, common users are assumed to mainly work with inbox for incoming mails (ie. no shared folders and server side filtering), so IMAP IDLE is all they need and we can avoid the high load caused by frequent syncs
* fix cache policy overwriting by the IMAP resource to preserve user changes
* consider the time it took to sync when determining when the next interval sync happens, aka the "continuous sync problem"
* fix progress indicator during initial sync, aka the "non-monotonous progress problem"
==== <s>Indexing</s>Heavy Task Scheduling (aka "Spanish Scheduling") ====
Things to consider:
* KIdleTime
* OS scheduler
* PM inhibitions
* Akonadi agent status
* Battery/AC status
* Activities
* manual override
* other ongoing heavy tasks


=== Saturday 13th===
=== Saturday 13th===
Fixed stuff:
* Fixed accidental by-passing of unit test isolation.
* Fixed ETM not freeing up memory (pending review),
* Memory optimization by leveraging implict QString sharing for message headers (~10% reduction) (pending review).
* Optimize memory layout of Akonadi::ItemPrive (~5% reduction on 64bit architectures).
* Fixed ETM not updating correctly for resources with structural ancestor collections.
* Replaced synchronous Nepomuk calls in KMail with async ones.
* Fix individual item retrieval in the Kolab resource.
* Optimize Mixedmaildir resource filesystem access.
* Don't trigger Nepomuk Feeder for irrelevant changes.
* Fix filtering on MBox folders.
* Fix progress/status reporting during filtering.
* Fix folder monitoring in filter agent.
* Fix conflict handling in filter agent.
* Optimize required part calculation in filter agent by ignoring disabled filters.
* Fix install location of Sqlite Akonadi backend.


=== Sunday 14th===
=== Sunday 14th===


== Blogs ==
Fixed stuff:
* Improved handling of not configured vs. broken agent instances
* Optimized change recorder saving (pending review)
* Kill obsolete address completion jobs.
 
 
Analysis for the filter duplication issue:
* Problem: mails are duplicated on IMAP with spam-filtering locally
** Filter setup: pass-through spam filter, move and mark as read if spam
** Observation on IMAP log: FETCH UID x; APPEND ... -> UID 2; DELETE UID 1; DELETE UID 1
** APPEND is caused by a change due to spam filters adding headers, first delete belongs to that
** second DELETE is due to the move to a local maildir trash, but is replayed with the wrong RID
* Filter agent does store before move (log says "to be on the safe side")
* Conceptually move before store seems to be right (avoid expensive modifications that are deleted anyway)
* We did not find a scenario where move before store would be unsafe nowadays
 
 
Akonadi Server 1.8.1 release.
 
== Blogs / Media ==
 
* [http://www.youtube.com/watch?v=i8X4G9yXhLA KDE TeaTime Extra #1 - KDE PIM Sprint]
* markg85 : [http://kdeblog.mageprojects.com/2012/10/17/the-kde-pim-meeting-just-awesome/ The KDE PIM meeting, just awesome!]
* svuorela : [http://pusling.com/blog/?p=261 Kontact / PIM sprinting]
* amantia: [http://blogs.kde.org/2012/10/17/three-days-berlin-or-improving-pim-user-experience Three days in Berlin (or improving the pim user experience)]


== Organization ==
== Organization ==
Line 68: Line 146:
|-
|-
| Mark Gaiser || 2012-10-11 18:00 ||  || Eldenaerstr 28A || 2012-10-15 14:00 ||  
| Mark Gaiser || 2012-10-11 18:00 ||  || Eldenaerstr 28A || 2012-10-15 14:00 ||  
|-
| Volker Krause || 2012-10-11 20:35 || AB 6538 || Home || 2012-10-15 07:25 || LH 2057
|}
|}

Latest revision as of 07:26, 18 October 2012

Topics

Please do add your topics.

Markg85

These are just possible topics that i'd like to know more about.

  • Introduce new PIM folks to the PIM principle.
  • A lot of Akonadi knowledge sharing so a broader range of people knows what it all about and can use it in applications. Right now i know close to nothing about it.
  • Developing PIM applications.
  • Developing simple Akonadi example applications which showcase Akonadi and should hopefully make it easier for developers to integrate Akonadi in their applications
  • KMail dev sprint and bug squashing?
  • Related to kmail but mentioning specifically. Since KDE 4.9.2 there seems to be an issue with kmail getting slower. I'd be nice to dive in this issue with the people there and fix it.
  • QML Calendar Akonadi integration sprint.
  • Figuring out all the PIM classes and improving their documentation.
  • Discussing the future of Kontact. Right now it looks out of place in the current KDE. Perhaps replacing applications with modern ones where they exist and fit KDE. I for one would like to replace KOrganizer with my QML Calendar once it's production ready (far from that at the moment).

Afiestas

These are just possible topics that i'd like to know more about.

  • Showcase how may laptop gets up to 2gb memory using KMail, try to fix that.
  • Add a new status for resources called "Unconfigured"
  • EntityTreeModelPrivate::retrieveAncestors won't work (We have to figure out a way of fixing this, I have a patch and an idea we have to talk about it)
  • Activating resources when added (When a new resource is adding for example in AddressBook, the user will have to "check it" manually.
  • Try to improve KMail user perception by fine-tunning when and how we FETCH
  • Investigate if we can use accounts-sso instead of doing our own thing

DFaure (remotely)

I plan to implement some sort of incremental saving in ChangeRecorder to speed up operations affecting a large number of items. If there's still time after that, I'll ask for input on how to fix my other pet peeves:

  • Some sent mails have "Date: Unknown" (and others are 2 hours in the future)
  • Debugging mixedmaildir ending up with "MySQL server has gone away"
  • Plans for more parallelism in resources, for better reactivity to user actions

Marty K

  • Social Feed (lots of stuff)
  • New Address Book (+metacontacts a bit)

Milian

  • performance

John Layt

Agenda

Friday 12th

Saturday 13th

Sunday 14th

Meeting Notes

Friday 12th

IMAP Improvements

  • support dynamic switching between online and offline IMAP
  • implement two pass (initial) sync, ie. do a first sync with online mode, and then if the user selected offline mode initially run a second sync with that enabled to fetch the missing bodies (depends on the above point obviously), this will give you a much faster initial access to the mail before having the full sync completed, aka the "Spanish sync"
  • download throttling, to prevent a fast network connection from overflowing the IMAP resource
  • parallel fetching and syncing, so that reading a single mail with online IMAP is not blocked by a long on-going sync (aka the "d4 problem")
  • increase default sync interval from 5 to 60 min, common users are assumed to mainly work with inbox for incoming mails (ie. no shared folders and server side filtering), so IMAP IDLE is all they need and we can avoid the high load caused by frequent syncs
  • fix cache policy overwriting by the IMAP resource to preserve user changes
  • consider the time it took to sync when determining when the next interval sync happens, aka the "continuous sync problem"
  • fix progress indicator during initial sync, aka the "non-monotonous progress problem"


IndexingHeavy Task Scheduling (aka "Spanish Scheduling")

Things to consider:

  • KIdleTime
  • OS scheduler
  • PM inhibitions
  • Akonadi agent status
  • Battery/AC status
  • Activities
  • manual override
  • other ongoing heavy tasks

Saturday 13th

Fixed stuff:

  • Fixed accidental by-passing of unit test isolation.
  • Fixed ETM not freeing up memory (pending review),
  • Memory optimization by leveraging implict QString sharing for message headers (~10% reduction) (pending review).
  • Optimize memory layout of Akonadi::ItemPrive (~5% reduction on 64bit architectures).
  • Fixed ETM not updating correctly for resources with structural ancestor collections.
  • Replaced synchronous Nepomuk calls in KMail with async ones.
  • Fix individual item retrieval in the Kolab resource.
  • Optimize Mixedmaildir resource filesystem access.
  • Don't trigger Nepomuk Feeder for irrelevant changes.
  • Fix filtering on MBox folders.
  • Fix progress/status reporting during filtering.
  • Fix folder monitoring in filter agent.
  • Fix conflict handling in filter agent.
  • Optimize required part calculation in filter agent by ignoring disabled filters.
  • Fix install location of Sqlite Akonadi backend.

Sunday 14th

Fixed stuff:

  • Improved handling of not configured vs. broken agent instances
  • Optimized change recorder saving (pending review)
  • Kill obsolete address completion jobs.


Analysis for the filter duplication issue:

  • Problem: mails are duplicated on IMAP with spam-filtering locally
    • Filter setup: pass-through spam filter, move and mark as read if spam
    • Observation on IMAP log: FETCH UID x; APPEND ... -> UID 2; DELETE UID 1; DELETE UID 1
    • APPEND is caused by a change due to spam filters adding headers, first delete belongs to that
    • second DELETE is due to the move to a local maildir trash, but is replayed with the wrong RID
  • Filter agent does store before move (log says "to be on the safe side")
  • Conceptually move before store seems to be right (avoid expensive modifications that are deleted anyway)
  • We did not find a scenario where move before store would be unsafe nowadays


Akonadi Server 1.8.1 release.

Blogs / Media

Organization

See the Sprint page for more details.

Arrival/Departure

Name Arrival Note Accommodation Departure Note
Kevin Krammer 2012-10-12 08:40 OS 271 NH Express, Stresemannstr. 2012-10-14 19:10 LH 197
Mark Gaiser 2012-10-11 18:00 Eldenaerstr 28A 2012-10-15 14:00
Volker Krause 2012-10-11 20:35 AB 6538 Home 2012-10-15 07:25 LH 2057