Rethinking the KOrganizer reminder daemon
Volker Krause
vkrause at kde.org
Sat Aug 7 11:47:24 BST 2021
Hi,
how we handle event reminders came up in a recent Plasma Mobile calendaring
discussion, I've tried to put that into a concrete proposal here.
For KOrganizer event reminders are handled by korgac [1], a 20+ year old piece
of code. While that works reasonably well from a technical POV, there's a
number of issues worth addressing IMHO:
(A) Security/privacy: korgac still has support for iCal alarm types "email"
and "procedure", something that shouldn't exist in a world of shared calendars
and iCal invites.
(B) UX: the main UI is a big dialog popping up in the middle of your screen.
We nowadays have a much more powerful desktop-wide notification system
supporting grouping, interaction, priorities and various inhibition
mechanisms, which would be better suited for this.
(C) Duplication of the reminder logic with other calendaring apps, see e.g.
Calindori's implementation [2].
As a way forward, we could:
(1) Drop support for iCal alarm types due to their danger, and handle all
alarms as regular notifications. For the rare cases where people actually rely
on that functionality KAlarm provides that for local (safe) sources.
(2) Use KNotification as the main and only UI for reminders. This means in
order to see event details beyond the title you would need to click on the
notification to open the calendar app. This also means the suspend option
would only be able to have an automatic default time (this is the only
functionality change I'm not entirely sure about, but it matches what is
usually offered on phones for example). Dismissing/suspending individual or
all reminders remains possible thanks to notification grouping.
(3) Base this on Nico's KCalCore plugin work once that becomes available for
Akonadi as well.
(4) Standardize the D-Bus interface towards the calendaring app between
KOrganizer, Calindori and Kalendar.
(5) Find a way to define a "default calendaring app" (like it's done for web
browsers), so that the reminder daemon doesn't need to hardcode which
calendaring app to launch. With (3) - (5) we should have all the pieces to
move towards a single unified reminder daemon that works with all our
calendaring apps, and works well both on desktop and mobile.
(4) and (5) could also be beneficial for the Plasma calendar integration.
Thoughts?
Thanks,
Volker
[1] https://invent.kde.org/pim/korganizer/-/tree/master/korgac
[2] https://invent.kde.org/plasma-mobile/calindori/-/tree/master/calindac
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-mobile/attachments/20210807/d6096bec/attachment.sig>
More information about the Plasma-mobile
mailing list