Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Specifying name, description and refresh interval in iCal (ics) format

Tags:

icalendar

I'm creating a iCal subscription calendar which is all working as expected; except I can't seem to specify seemingly basic things such as a default name to suggest to the client for the calendar, a description, and how often it should refresh.

I did find this specification revision: https://datatracker.ietf.org/doc/html/draft-daboo-icalendar-extensions-06

It does suggest that I can simply pass in the fields I want. Having done this and with the top of the ics file looking like this:

BEGIN:VCALENDAR VERSION:2.0 PRODID:-//My Company//NONSGML Event Calendar//EN URL:http://my.calendar/url NAME:My Calendar Name DESCRIPTION:A description of my calendar TIMEZONE-ID:Europe/London REFRESH-INTERVAL;VALUE=DURATION:P1D COLOR:34:50:105 CALSCALE:GREGORIAN METHOD:PUBLISH 

I'm simply finding that whilst no device/app that I've tried rejects the calendar, they are all ignoring the properties. I've used Outlook 2010, an iPhone on iOS 6, and Google Calendar. Outlook claims to respect some sort of refresh interval in the file, but when I subscribe my calendar - it says it's unspecified.

So the question is are these properties supported, or do I need to specify them as something else for each different client, or am I just plain out of luck?

like image 560
Codecraft Avatar asked Jun 17 '13 16:06

Codecraft


People also ask

Do ICS links automatically update?

ics file, you get a snapshot of the events in the calendar at the time of import. Your calendar doesn't refresh the imported events automatically -- even if the calendar's owner makes an update.

Is iCal and ICS the same?

ics format, also known as iCalendar, is a common bond between these and many other calendar applications, and no conversion is required. Calendar sharing through iCalendar is built in to the current versions of both Outlook and iCal.

What is Prodid in ICS file?

Basic Definition Property Name PRODID Purpose. This property specifies the identifier for the product that created the iCalendar object.


1 Answers

It turns out the answer was hiding in plain sight. The properties above are a draft proposal at the moment and unsupported by anything I tried. It's probably a good bet to include them in your calendar for the future - but for it to work now as well, do it like this:

BEGIN:VCALENDAR VERSION:2.0 PRODID:-//My Company//NONSGML Event Calendar//EN URL:http://my.calendar/url NAME:My Calendar Name X-WR-CALNAME:My Calendar Name DESCRIPTION:A description of my calendar X-WR-CALDESC:A description of my calendar TIMEZONE-ID:Europe/London X-WR-TIMEZONE:Europe/London REFRESH-INTERVAL;VALUE=DURATION:PT12H X-PUBLISHED-TTL:PT12H COLOR:34:50:105 CALSCALE:GREGORIAN METHOD:PUBLISH 

The actual working properties at the moment being:

X-WR-CALNAME X-WR-CALDESC X-WR-TIMEZONE X-PUBLISHED-TTL 
like image 132
Codecraft Avatar answered Oct 02 '22 23:10

Codecraft