ggpwnkthx
ggpwnkthx

Reputation: 21

Can the Alarm/Reminder of iCalendar Event be disabled via iCal file?

Quick synopsis:

I've developed a project management system that help our sales reps keep track of events by emailing them iCal files. At the moment everything is working perfectly, but they do not want to have reminders that pop up. Rather, they ONLY want the events to be on their calendars.


Caveat:

Having them change the settings of their email client is, unfortunately, not an acceptable solution.


Research:

According to the iCalendar specifications, the VALARM component can be set so that the Alarm/Reminders are defined, but I can't seem to figure out how to disable the alarms all together.

This seems to work in Outlook 2013, but I don't know why:

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 15.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20130625T191929Z
DTEND;VALUE=DATE:20130627
DTSTAMP:20130625T174218Z
DTSTART;VALUE=DATE:20130626
LAST-MODIFIED:20130625T191929Z
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:test
TRANSP:TRANSPARENT
UID:040000008200E00074C5B7101A82E00800000000304147C0A971CE01000000000000000
    0100000004A6B73D79A177C4ABFF1E0DCAE7E273F
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
    N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ve
    rsion 08.00.0681.000">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted f
    rom text/rtf format -->\n\n<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>\n\n</
    BODY>\n</HTML>
X-MICROSOFT-CDO-BUSYSTATUS:FREE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MS-OLK-AUTOFILLLOCATION:TRUE
END:VEVENT
END:VCALENDAR

Am I missing something obvious?

Thank you.

Upvotes: 2

Views: 3761

Answers (5)

spaceengineer
spaceengineer

Reputation: 1

After doing a LOT of trial and error, I have figured out what makes the outlook notification go away (at least for my case). I had to search the opposite issue (why is outlook showing reminders to figure out an educated guess). This is specific to using METHOD:PUBLISH or CANCEL (method REQUEST is different).

Here is my first code that had the alarms defaulting (VALARM is not what made the difference):

BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST (or CANCEL based on your application)
BEGIN:VEVENT
ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected]
ORGANIZER;CN=\"Name of Organizer\":MAILTO:[email protected]
DTSTAMP;TZID=America/Chicago:20240103T170800
DTSTART;TZID=America/Chicago:20240103T170800
DTEND;TZID=America/Chicago:20240103T180800
TRANSP:OPAQUE
SEQUENCE:0
STATUS:CONFIRMED (or CANCELLED based on your application)
UID:1234
DTSTAMP:20240104T080000Z
SUMMARY:Event 1
DESCRIPTION:n/a
LOCATION:Dome 1
PRIORITY:5
X-MICROSOFT-CDO-IMPORTANCE:1
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

Code that worked: (ATTENDEE;PARTSTAT=DELEGATED;CN='Attendee Name';[email protected]:MAILTO:[email protected] is the only difference!)

BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST (or CANCEL based on your application)
BEGIN:VEVENT
ATTENDEE;PARTSTAT=*DELEGATED*;CN='Attendee Name';[email protected]:MAILTO:[email protected]
ORGANIZER;CN=\"Name of Organizer\":MAILTO:[email protected]
DTSTAMP;TZID=America/Chicago:20240103T170800
DTSTART;TZID=America/Chicago:20240103T170800
DTEND;TZID=America/Chicago:20240103T180800
TRANSP:OPAQUE
SEQUENCE:0
STATUS:CONFIRMED (or CANCELLED based on your application)
UID:1234
DTSTAMP:20240104T080000Z
SUMMARY:Event 1
DESCRIPTION:n/a
LOCATION:Dome 1
PRIORITY:5
X-MICROSOFT-CDO-IMPORTANCE:1
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

Upvotes: 0

Tom
Tom

Reputation: 1

Well, I had the same issue. I created a .ics to bulk import a few dozen calendar holds based on a table from Excel. I did not define the VALARM, but when using the mac calendar import it natively inherited this and applied my default alarm. Comparing events with and without an alarm set, I found all events had the VALARM blocks, BUT all events I had marked as no reminder had the exact same trigger value set. Looks like setting it for a Value of 4/1/1976 at 00:55:45Z is the equivocal to no alarm.

BEGIN:VALARM
  X-WR-ALARMUID:#####
  TRIGGER;VALUE=DATE-TIME:19760401T005545Z
  X-APPLE-DEFAULT-ALARM:TRUE
  ACTION:NONE
END:VALARM

And this is why 4/1/1976 haha. Typical programming fashion, there's always a reason behind the random date or name selected. Kinda like Python's name... "Founders Steve Jobs and Steve Wozniak created Apple Computer on April 1, 1976,[1] and incorporated the company on January 3, 1977,[2] in Cupertino, California." - wikipedia

Upvotes: 0

Bruce Kahn
Bruce Kahn

Reputation: 71

There is no way in iCalendar to specify a VALARM component and have it marked as "disabled". It either exists and is active or it simply does not exist.

Some clients like Outlook do not have the concept of disabling an alarm (and being able to reenable it later). The only client I know of that does support the idea of disabling an alarm is Notes but there may be others.

The only way to achieve this is to use an X- property that not everyone supports or to simply remove the VALARM in question.

You could consider having a "send with alarms" preference in your system so that users can indicate if they want you to send them or not. If users opt out then simply remove the VALARM component(s) from what you generate before you send it to them.

Upvotes: 1

Arnaud Quillaud
Arnaud Quillaud

Reputation: 4635

If I understand your problem correctly, the client on the receiving end will automatically add a (default) alarm although none was specified in the original VEVENT.

There is no way in iCalendar or iMIP/iTIP to explicitly convey the information that no alarm should ever been associated with an event. And as far as iMIP/iTIP, it is actually a bad practice to have an alarm in the VEVENT that you are sending. After all, my notion of the best alarm is likely to not be yours.

As far as your example, this may be due to the TRANSP property being set to TRANPARENT (you dont care about it since it does not consume your time) but that is a rather wild guess.

Upvotes: 1

Dmitry Streblechenko
Dmitry Streblechenko

Reputation: 66215

If I remember correctly, at least some versions of Outlook will set the reminder to the default value (15 minutes) if VALARM part is missing. Can you set the alarm to a date in the far future?

Upvotes: 1

Related Questions