[Kde-pim] Akonadi being a desktop-indepent standard

Cornelius Schumacher schumacher at kde.org
Sat Aug 16 20:34:42 BST 2008


On Saturday 16 August 2008 16:18:45 Holger Berndt wrote:
>
> There could be a spec for PIM module preferences, maybe D-Bus based, in
> the freedesktop.org namespace, according to which each user can define
> his own choice of programs. Technically, this could be done by D-Bus
> service files.
>
> Each program supporting this spec would have to implement a
> corresponding interface. Though I don't know Akonadi well, that
> interface could probably be based on what Akonadi supports already
> anyways. In the easiest case, the API for an addressbook could contain
> something like that (D-Bus xml excerpt):
>
>   <interface name="org.claws_mail.addressbook">
>     <method name="GetContacts">
>       <arg type="as" name="ret" direction="out"/>
>     </method>
>     <method name="AddContact">
>       <arg type="s" name="contact" direction="in"/>
>       <arg type="s" name="ret" direction="out"/>
>     </method>
>     <method name="DeleteContact">
>       <arg type="s" name="uid" direction="in"/>
>     </method>
>     <method name="ModifyContact">
>       <arg type="s" name="uid" direction="in"/>
>       <arg type="s" name="contact" direction="in"/>
>       <arg type="s" name="ret" direction="out"/>
>     </method>
>   </interface>
>
> Data transfer should be in a well known, well defined format, such as
> strings of vcards in the case of an addressbook.

Akonadi basically specifies this kind of API. It's more than a set of D-Bus 
calls, because this isn't the best choice for transmitting large amounts for 
data, but Akonadi provides a platform-independent API which can be used by 
any PIM program.

Other applications like Claws Mail could implement their own storage with this 
API or use the implementation Akonadi already has. All other programs could 
then seamlessly integrate with all the other programs which use this API.

> To come back to the synchronization example: Instead of an Evolution
> plugin, a KDE PIM plugin, a Claws Mail plugin, a Thunderbird plugin
> etc, only a D-Bus plugin would be necessary for all PIM components that
> implement this spec.

Yes, that's exactly the idea of Akonadi. Implement synchronisation with the 
Akonadi API and you get syncing with all apps which use this API for free.

-- 
Cornelius Schumacher <schumacher at kde.org>
_______________________________________________
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