[Tickets #7470] Sunbird/Lightning alarm dismissal and snooze incompletely implemented
bugs at horde.org
bugs at horde.org
Fri Oct 10 17:32:23 UTC 2008
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/7470
------------------------------------------------------------------------------
Ticket | 7470
Created By | elliot at marlboro.edu
Summary | Sunbird/Lightning alarm dismissal and snooze
| incompletely implemented
Queue | Kronolith
Version | 2.3
Type | Bug
State | Unconfirmed
Priority | 2. Medium
Milestone |
Patch | 1
Owners |
+New Attachment | iCalendar.patch
------------------------------------------------------------------------------
elliot at marlboro.edu (2008-10-10 13:32) wrote:
Subscribing to an ics file via the rpc.php file and kronolith stores
and returns alarms but not dismissals or snoozes. This causes alarms
to fire every time the remote calendar is refreshed and can lead to
mental instability.
It appears that there is no specification for sending alarm dismissals
or snoozes to and from a server which would lead one to believe that
they should be stored on the client. Sadly Sunbird and Lightning send
these items with their own tags in the ics file and expect to get them
back when they refresh their calendars.
It appears that groupware implementations are starting to implement
some version of this unofficial system to stop their users from going
insane clicking dismiss every five or ten minutes. Bedework has
implemented dismissals by storing the X-MOZ-LASTACK as sent by Sunbird
and then returning the value when the calendar is next requested.
I thought it would be slightly nicer if the data was stored in the
appropriate locations within horde and kronolith so that the same
alarms do not fire in kronolith after they have been dismissed by
Sunbird and vice versa.
Attached is my proposed fix. It may not be the most efficient way of
solving the problem, but it seems to work in our minimal testing.
Here's how it attempts to work:
1. Sunbird requests an ics file
2. Horde checks to see if the alarms have been dismissed or snoozed
and returns an X-MOZ-LASTACK if dismissed and an additional
X-MOZ-SNOOZE-TIME if snoozed based on horde_alarms
3. Sunbird dismisses or snoozes an event
4. Horde updates the alarm_snooze and alarm_dismissed columns in
horde_alarms accordingly
The attached patches are for lib/Horde/iCalendar.php and
kronolith/lib/Driver.php and are based off of the kronolith 2.3
release (Webmail 1.2)
More information about the bugs
mailing list