[Kde-pim] Akonadi design questions

Volker Krause vkrause at kde.org
Wed Jun 13 10:55:43 BST 2007


On Monday 11 June 2007 23:05:32 Christian Schaarschmidt wrote:
> > > I did some more doc reading. most of the documentation is available in
> > > doxy files, so techbase might not be such a good idea after all ... ;-)
> > > what about these ideas?
> > > - use bug.kde.org for todos, to seperate from real bugs we could use
> > > special component or target release. always up to date, you can
> > > assign/take the todo and close it with svn-commit
> >
> > interessting idea, I don't have any particullar preferrence here. But I
> > agree we need one maintained Akonadi todo list somewhere. With more and
> > more people getting interested in helping this would certainly help.
>
> ok, then lets try it ;-) where do we get a
> new product:akonadi
>                new component:server
>               new component: lib
>               new component: resource
>              ....

IIRC everyone with a svn account has enough access rights to add products and 
components. Having Akonadi in there will be needed sooner or later anyway.

> maybe a topic to be discussed with the other pim-guys at aKademy ?
> they might get "angry" if we start "poluting" bugs.kde.org with TODOs.

It's not like bugs.kde.org would be especially clean in the PIM area currently 
though ;-)
Will you be at aKademy? All the design stuff below is a lot easier discussed 
in person with a sheet of paper or a whiteboard to draw on ;-)

> > that all makes sense, feel free to change that stuff.
>
> ok
>
> > Thanks a lot for your work, it happens not very often there is someone
> > voluntarily helps with the docs ;-)
>
> don't "worry", that is just until I can start coding.
> I'll try to insert your answers were I see it fits, to be prepared for the
> next newbie ;-)
>
> this time I spent some time on thinking on the design it self. I would like
> to hear/discuss what you had planed to solve this topics:
>
>
> server/src/cachecleaner.cpp
> +    int expireTime = qMax( 5, policy.expireTime() );
> //why this 5 minutes minimum expireTime? I don't think this is
> documented...

hm, I don't remember why I added this, probably just a left-over from testing.

> imap resource
>   with caching disabled, how does kmail get informed about new mail?
>   as far as I understand it, no caching means no db-entry, hence no
>   SIGNAL

No caching means no local content, not no db entry at all. So, Akonadi always 
knows that a mail exists on the server, but not necessarily has any data in 
the cache. That's what is done by all resources we have currently, they only 
provide an empty item when listing a collection and content only on request.

> LDAP
>   How should searching be done?   downloading the complete LDAP directory
>   might not be possible/reasonable. Even if we do download we will never
> know if our copy is complete. nepomuk will only know about downloaded
> items. Concequence: search has to be part of resource, the resource knows
> how to contact the backend, local search can be delegated to nepomuk
>   Problem: if I configure one local addressbook and one LDAP, how can I
> search for contacts on both? I cannot go directly to nepomuk, because my
> LDAP copy might be incomplete.
>   Idea: searchProvider keeps track of what mimeType can be reached from
> which resource. does local search with nepomuk/strigi/XESAM and in paralell
> asks resources to update akonadi-db. monitors if resource has found more

The same problem happens with IMAP server-side search. The idea is (so far not 
yet implemented) to send the search query to the resources that support 
search as well and use local search for everything else. So, basically the 
same you came up with. But since all backends have different search 
capabilities, translating Akonadi queries (we might want to use the XESAM 
query language here, seems to cover all our needs) into backend queries might 
be incomplete in most cases. But that's as good as it can get without full 
download or restricting search to the lowest common denominator.

> strigi
>   and encrypted mail? I would say the user has to decide if those
>   mails should be indexed or not and the decryption job has to feed it to
>   strigi.  this might result in code duplication kmail/feeder; doing it in
> the backend doesn't fit to well into the content agnostic backend idea of
> akonadi.

Yep, that's definitely something the user has to decide. It's somewhat related 
with storing encrypted mails unencrypted locally. A "decryption filter" might 
help, but filtering is another large area that's not fully designed yet. 
There are some ideas about filter agents using pre-notification hooks which 
could provide a very powerful filtering infrastructure, but nothing concrete 
yet.

>   with leazy loading only envelops are loaded into akonadi. strigi has no
>   clue about the content until the complete fetch, hence the user wil not
>   find new mails. I am not sure if non-IT people will understand the
>   concequenses of leazy loading. I have no solution for that other than
>   good help/documentation ... or full load.

Yep, that can only be solved by full downloads or server-side search. The same 
problem existed in KMail and KNode in KDE3 without too much confusion, so I 
think it's understandable by normal users.

Btw, this is currently slightly broken since the strigi feeder fetches newly 
added items which triggers a full download. We probably need a protocol 
extension to fetch only local content to solve this.

> kaddressbook
>   future of contacts? In theory all the data for contacts we have
>   (name,address, birthday, ...) is metadata  that could (should?)
>   be stored in nepomuk

No idea, that's not my area ;-)
I'm not sure if this data can exclusively stored in Nepomuk, we need a way to 
sync changes back to eg. groupware servers.

regards
Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20070613/232671a4/attachment.sig>
-------------- next part --------------
_______________________________________________
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