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