Question

I am working on custom SharePoint calendar which uses .NET code to render VCALENDAR payload with the email which I send to all attendees.

So far my implementation is working great except for updating recurring events. Outlook didn't able to recognize modified DTSTART/DTEND when I send updated VCALENDAR with same UID. Look like I am missing particular field for recurring events.

Here is sample of my VCALENDAR which I am sending to all attendees to update existing recurring event:

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft CDO for Microsoft Exchange
VERSION:2.0
BEGIN:VTIMEZONE
    TZID:tz
    X-MICROSOFT-CDO-TZID:10
    LAST-MODIFIED:20111229T172655Z
    BEGIN:STANDARD
        DTSTART:20111106T020000
        TZOFFSETTO:+0000
        TZOFFSETFROM:+0000
    END:STANDARD
    BEGIN:DAYLIGHT
        DTSTART:20120313T020000
        TZOFFSETTO:+0100
        TZOFFSETFROM:+0000
    END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
    SUMMARY:Simple Event\, Attendees:Tin Tin 
    ORGANIZER:MAILTO:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    LOCATION:Conference Room
    DTSTAMP:20111229T172652Z
    UID:D26B0632-8496-4E76-977F-E7A04AF4CF4D
    SEQUENCE:1
    URL;VALUE=URI:http://acme/Lists/Conf/DispForm.aspx?ID=1178
    DTSTART;TZID=tz:20111229T140000
    DTEND;TZID=tz:20111229T150000
    RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH;WKST=SU
    END:VEVENT
END:VCALENDAR
Was it helpful?

Solution

To properly update any existing event through VCalendar, always make sure to increment the SEQUENCE value in VEVENT section:

BEGIN:VEVENT
    SUMMARY:Simple Event\, Attendees:Tin Tin 
    ORGANIZER:MAILTO:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=;X-NUM-GUESTS=0:mailto:tin.tin@acme.com
    LOCATION:Conference Room
    DTSTAMP:20111229T172652Z
    UID:D26B0632-8496-4E76-977F-E7A04AF4CF4D
    **SEQUENCE:2**
    URL;VALUE=URI:http://acme/Lists/Conf/DispForm.aspx?ID=1178
    DTSTART;TZID=tz:20111229T150000
    DTEND;TZID=tz:20111229T160000
    RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH;WKST=SU
    END:VEVENT
END:VCALENDAR
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top