2

I have web application based on django framework. Application creates ICS file by cal python package. We are sending this ICS to differnt clients email ID(gmail, outlook, yahoo etc)

So I am facing problem in below Scenarios

Scenario - 1. Create Event 2. Update all Occurrences or update particular occurrence of event 3. Cancel all Occurrences or cancel particular occurrence of event.

Create - ICS file is working with Gmail and outlook but not with yahoo when i send this from web application, and if I send the same file from other clients like gmail it creates event in yahoo also.

Update - Same scenario is applicable for update case. Not working with yahoo.

Cancel - In cancel case ICS is not working for any client. I have few point in Cancel file like - METHOD : CANCEL UID : Same as sent in create and update case. Above two are mandatory fields

STATUS, SEQUENCE, RRULE - Is this required? If SEQUENCE is required then what will be the value of this variable.

Please give your suggestions.

  • RE SEQUENCE: The spec is fairly clear on when SEQUENCE should be provided and updated and gives some examples, basically 0,1,2 etc. https://www.kanzaki.com/docs/ical/sequence.html. This might also help https://icalevents.com/4437-correct-handling-of-uid-recurrence-id-sequence/. Note when sending ics files by email, what happens with them is at the mercy of the receiving user, their device, the calendar application they are using, whether they choose to import / add the event etc. For some use cases, providing an ics url to subscribe to is better (eg: school calendars vs practioner appts) – anmari Aug 05 '18 at 00:16
  • Thanks anmari, I have increment the SEQUENCE and it worked for me. Now, New ICS is working in Gmail, Yahoo and Outlook if we are deleting all event. If I delete Particular recurrence (pass RECURRENCE-ID;TZID=Asia/Kolkata:20180806T100000 in ICS file) it's working only in Gmail not for yahoo and outlook. Can you suggest something? – HemendraHada Aug 05 '18 at 05:30
  • In response to email I suggested that Hemendra validate the ics files, fixes the errors and add headers of mail contents-type = text/calendar. That has been done, now apparently one the delete of a single instance in a series is not working in Yahoo. – anmari Aug 08 '18 at 03:05

1 Answers1

2

Summary of Answers:

  1. add file header with contents-type = text/calendar.
  2. Validate all ics files and fix the errors such blank lines, line endings etc
  3. For the final cancel of a single instance within a recurring series not working in Yahoo, via email it sounds like Hemendra is issuing a "STATUS:CANCELLED" with the RECURRENCE-ID for the date to be removed. This maybe working with some applications however some may expect the formal way to remove an instance of a date in a series, which is to reissue the event series (RRULE) with the sequence number updated and including the date one wants to exclude as an EXDATE. "The EXDATE property is used to remove instances from a recurrence set defined by an RRULE." https://devguide.calconnect.org/Recurrences/

See also

anmari
  • 3,830
  • 1
  • 15
  • 15