[Kde-pim] [SORT-OF-SOLVED] Re: More breakage on upgrade to 4.4.3

Kevin Krammer kevin.krammer at gmx.at
Tue May 25 15:13:56 BST 2010


On Tuesday, 2010-05-25, Raj Mathur (राज  माथुर) wrote:
> On Tuesday 25 May 2010, Kevin Krammer wrote:

> > The point I was trying to make is that it uses the KResource API,
> > thus has access to storage methods available through KResource
> > plugins. Akonadi might be using different ones, so addresses added
> > through kabcclient might not show up in KAddressBook if they differ.
> 
> I'm a bit confused now... I was under the impression that KAddressBook
> and Akonadi are different beasts, and independent except that
> KAddressBook feeds into Akonadi.  Are you saying that they're
> interlinked and KAddressBook won't work without Akonadi at all?  And
> that KResource (whatever that is!) is another interface to another set
> of databases and services?

KAddressBook is a GUI for contact data. Contact data can be stored in multiple 
formats and places, e.g. in your case one contact per file in a directory.
So to be able to work with more than just one way of storing contact data, 
KAddressBook goes through some storage API.

One such API, inherited from KDE3 times, is KResources. Another one, 
introduced during in KDE4 is Akonadi.
KAddressBook has been using this new API since KDE SC4.4, others will follow.

Exchange between applications using these different APIs can be done on two 
levels:
- they can use the respective API's methods to read/write the same on-disk 
data
- there is a plugin for the old API that works on top of the new API, thus 
letting the new framework handle the disk I/O

Option one has the disadvantage that two processes could be writing the same 
file(s) at the same time, overwriting each other's changes.
Option two has the disadvantage of having an additional layer of abstraction 
between the app and the on-disk data.

> > However there is a compatibility plugin for contacts which looks like
> > a KResource storage plugin to kabcclient but writes into Akonadi
> > folders. We call that a client side bridge.
> > 
> > It should work, especially for your use case, but since it is bound
> > by the rather limited KResource API, there can be occasional
> > glitches when the operations it is supposed to perform do not map
> > very well to how Akonadi performs their equivalent.
> 
> Right, tried to add a VCard using kabcclient and it works (except for
> the irritating KResource Migration Tool pop-up... any way to disable
> that?)  I can see the new VCard in my directory under .kde/.../kabc/ and
> I presume that eventually KAddressBook will pick it up too.  Thanks,
> this really helps.

Since kres-migrator fails for you, it will probably create the backend handler 
for the file kabcclient created in .kde/share/apps/kabc

Cheers,
Kevin
-- 
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20100525/a435c70a/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