Inconvenient exporting calendar items in SharePoint 2013

Inconvenient exporting calendar items in SharePoint 2013

Within the calendar functionality of SharePoint 2013 it is possible to export an calendar item to Outlook. You can either connect the complete calendar to Outlook but there is also an option to export a single event. If you create an new calendar item and you open it a new contextual ribbon group is visible called ‘Custom Commands’. There you will find a button called Export Event that will export the currently selected event.

Export event

Exporting this even will create an iCalendar File (ics) that can be opened with your favorite mail client or calendar app (that supports iCal). However there seems to be a small glitch. If you create an all day event and try to export that it will contain all the metadata as you would expect however the start- and end time are a day to early. This issue will occur on both on premises installations and Office 365 tenants.

Event date difference in Outlook and the browser

When you open the .ics file with text reader it will explain why, as it start date for the item  is actually set a day earlier then what you can see in SharePoint. So importing the file into an app will render the date of the event too early

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//SharePoint MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
UID;TYPE=SharePoint:1
DTSTART:20140707
DTEND:20140708
LOCATION;ENCODING=8BIT;CHARSET=utf-8:CabFab
TRANSP:OPAQUE
SEQUENCE:1
DTSTAMP:20140708T093308Z
SUMMARY;ENCODING=8BIT;CHARSET=utf-8:All day event
DESCRIPTION;ENCODING=8BIT;CHARSET=utf-8:An all day event as test
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

This ics file gets generated by the owssvr.dll and gets a few parameters passed (the list id and item id). So if you would use Fiddler you would see the following call when clicking the ribbon button:

https://site/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List={cb363197-05fd-4903-9343-adb0cfeb3409}&CacheControl=1&ID=1&Using=event.ics

Unfortunately there is no way manipulate this call, or validate what the owssvr does with those parameters. Therefore the only option is to either use the other method to connect the calendar to Outlook: the connect and export functionality in the ribbon that allows you to connect the complete list to our Outlook client. Or to accept that exporting all day events will have the wrong date time format, as all other events that are are not checked with the all day checkbox will be exported as you would expect. They will show the correct date.

Leave a Reply