On Monday, August 12, 2019 6:49:48 AM EDT Daniel Vrátil wrote:
> 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.
>
Agree with Dan.
I'd say not to put plugins directly into KCalendarCore, but create a new repo
for that purpose.
If needed.