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/kde-pim/attachments/20210807/d6096bec/attachment.sig>


More information about the kde-pim mailing list