Akonadi Calendar

John Layt jlayt at kde.org
Thu Oct 27 18:36:30 UTC 2011


On Thursday 27 Oct 2011 05:50:46 David Narvaez wrote:
> On Sat, Oct 15, 2011 at 6:09 AM, David Narvaez
> 
> <david.narvaez at computer.org> wrote:
> > Hi all, sorry for the cross posting,
> > 
> > I was about to work on fixes in the calendar events dataengine dealing
> > with the Akonadi calendar support, and found this README[0] explaining
> > a migration plan for the dataengine into Akonadi, etc. I wonder what's
> > the status of that migration: if it's already in progress (and needs
> > any help) or if it's still pending. Also, what would be the status of
> > fixes to that feature? First fix in kdepimlibs and then port to the
> > copied code in calendar dataengine? Or should fixes be frozen while the
> > migration happens?
> So after 12 days without an answer I'm assuming:
> 
> 1) No one is taking care of that migration
> 2) There's no freeze to fix bugs on that code
> 
> I assume we are now too close to the freezes to try any drastic move,
> but can we plan for November to pick this topic up? I could take care
> of the migration if someone tells me how files should end up
> structured in Akonadi.
> 
> David E. Narváez

Hi,

Sorry for not picking up your first email, I've been offline a lot lately.  
Seeing as I'm the one who wrote that README I should fill things in a bit 
more.

The original author of the data engine had to copy the Akonadi interface from 
kdepim as it was not available in kdepimlibs at the time.  I moved it to the 
subfolder and updated it with some bug-fixes [1] as well as overhauling the 
data engine itself.  I'm supposed to be keeping the code in sync but forgot 
before the last release, so we need to look at refreshing the copy before the 
next release.

The intention has always been to move the Akonadi calendar interface into 
kdepimlibs so everyone could use it, but I don't know if this has been done 
yet.  Once done we can delete the copy and switch the data engine to the 
kdepimlibs version.  

Sergio, do you know the status of this?

It was at this point that I was suggesting we might move the code from the 
Calendar engine to the Akonadi data engine so the implementations and 
interfaces are consistent, but thinking about it again Akonadi is an 
implementation detail and a bad name for a high level api so perhaps separate 
data engines for Calendar, Mail, and Contacts are better even if they use the 
same underlying code and consistent api.

Currently the Calendar data engine is a one-way affair, it just fetches the 
existing events from Akonadi, you can't use it to add new events.  What I 
would like to see happen is a two-way integration using a Plasma service [2] 
for which I wrote the initial operations definition file [3] but stalled at 
that point.  The idea here is not to provide a full api or feature set, as 
creating events is rather complex and Akonadi/kdepimlibs provides advanced 
widgets for doing that which you don't want to be trying to replicate in 
Plasma as well.  I think an advanced PIM Plasma widget should link directly to 
and use the PIM widgets.  What the service would provide is api for adding 
simple events such as one-off reminders for plasmoids that want to integrate 
but are not really PIM specific.

The other big thing that needs investigation is the abiltiy to configure what 
Akonadi resource to use, at the moment it just uses the default resource but I 
can imagine users might want to show different calendars in different widgets.  
Whether this is something to be provided through the data engine api or if 
it's something an applet should use akonadi directly for is a matter for 
debate.

Basically, as far as I know, no futher work has been done on the Plasma end or 
the Akonadi end.  If you have any more questions, poke me with a stick and 
I'll get back to you when I can.

Cheers!

John.

[1] https://projects.kde.org/projects/kde/kde-
workspace/repository/revisions/master/show/plasma/generic/dataengines/calendar/akonadi
[2] http://techbase.kde.org/Development/Tutorials/Plasma/Services
[3] https://projects.kde.org/projects/kde/kde-
workspace/repository/revisions/master/entry/plasma/generic/dataengines/calendar/calendar.operations



More information about the Plasma-devel mailing list