[Kde-pim] On-demand lazy loading of items in Akonadi

Christian Mollekopf chrigi_1 at fastmail.fm
Tue May 7 15:38:57 BST 2013


On Tuesday 07 May 2013 12.16:09 Jan Kundrát wrote:
> Hi,
> before I start spreading possible misinformation, I'd like to check by the
> horse's mouth. Is it technically feasible to implement the following in
> Akonadi?
> 
> - Don't fetch envelopes of all message in a mailbox, sync just their UID and
> FLAGS
> 
> - Implement an intelligent preload of items (i.e. when requesting envelope
> for message X, fetch everything between X-100 and X+100)
> 
> - Delegate certain operations like sorting, threading and searching to the
> IMAP server without having to fetch anything but UID first
> 
> I have no idea whether Akonadi imposes certain restrictions on immutability
> of the individual items, for example, which might make doing the above
> impractical.
> 

As Kevin already said; That should all be feasible, although some 
infrastructure may not be in place yet (especially for serverside features 
like threading and searching). But I think noone would object to such 
additions and we'd love to have support for more efficient handling of IMAP 
resources.

> I asume that the KDE's IMAP resource does not do this (I've checked the code
> and it looks like that is the case to me). Why is that?
> 

I think the IMAP resource was written with the primary target to support basic 
online IMAP access, but with a strong focus on the offline IMAP access. 
Obviously none of the above features are available when offline, and you anyways 
need to download the full payload. There have been discussion however on how 
to optimize this, in particular:
* Download first headers only, and the message only later on => Make headers 
quickly available, take your time with downloading the rest later on.
* Limit what is downloaded offline (i.e. headers only for everything, and then 
the actual messages for the last X months only)

Of course all the serverside features are equally useful for an offline scenario 
when connected to the network, we just can't rely on it to be available all 
the time.

None of this has been implemented yet because we've only got so much time ;-)

Cheers,
Christian
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list