KCalendarCore plugins/datasources?

Daniel Vrátil dvratil at kde.org
Mon Aug 12 11:49:48 BST 2019


On Sunday, 11 August 2019 12:12:10 CEST Bhushan Shah wrote:
> [I am not subscribed to kde-pim list, please keep me or k-f-d in CC]
> 
> Hello,

Hi Bhushan,

> 
> So yesterday I was discussing this with the Volker in #kde-devel, that
> currently kcalcore doesn't provide a "plugin interface" to create a
> various data sources like, file storage, online/cloud storage, or
> akonadi storage, and Akonadi have it's own custom code for this.
> Would it make sense to have something like this in kcalcore itself?
> Volker mentioned to me that it needs close look at Akonadi based
> implementation and trying to finalize API.

There's KCalendarCore::CalStorage which allows users to write their own 
calendar data sources, which could be used as a plugin interface. Extending 
the library with a plugin infrastructure would also be OK IMO, but if we want 
to have a bunch of plugins to integrate between KCalendarCore and various 
backend-specific libraries (e.g. KGAPI, KDAV, Kolab, ...), we should create 
KCalendarAddons (or something like that), assuming there's actually any demand 
for this.

For Akonadi the way it works is that we create an instance of 
KCalendarCore::Calendar and directly populate it with entities loaded from 
Akonadi. We don't use the CalStorage interface for that as we don't need that 
kind of abstraction to integrate between KCalendarCore and Akonadi.

Regards,
Dan

> 
> 
> Thanks


-- 
Daniel Vrátil
www.dvratil.cz | dvratil at kde.org
IRC: dvratil on Freenode (#kde, #kontact, #akonadi, #fedora-kde)

GPG Key: 0x4D69557AECB13683
Fingerprint: 0ABD FA55 A4E6 BEA9 9A83 EA97 4D69 557A ECB1 3683
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20190812/213459da/attachment.sig>


More information about the kde-pim mailing list