Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Questions about generating an iCal feed

Other than providing an URL to request the most recent iCal feed, anything I need to pay special attention to generating an iCal feed??

How to indicate if ics file has been updated or not? http header LAST-MODIFIED?

What to do if the iCal file is huge? Shall I limit it to next n events?

How about past events, shall they be in the feed?

What do most calendar apps do if events are deleted or modified in the feed?

Thanks!

like image 373
Henry Avatar asked Jan 27 '12 23:01

Henry


People also ask

How does iCal feed work?

An iCalendar feed syncs data from one calendar or calendar service to another. You can set up iCalendar feeds to be inbound (coming into your calendar from another calendar) or outbound (going out of your calendar to another calendar).

What is iCal and how does it work?

iCalendar is a standard for calendar data exchange. The standard is sometimes referred to as "iCal", which also is the name of the Apple, Inc. calendar program that provides one of the implementations of the standard. Outlook can subscribe to Internet-based calendars, such as the Google calendar.

Does Google Calendar take iCal feeds?

Open Google Calendar and click on the same + sign in the Other Calendars section of the screen. Then, click on the From URL option. Paste the URL of the iCal file you'd like to subscribe to. Next, all you need to do is click the “Add Calendar” button.


1 Answers

Some pointers to try to help you as to my knowledge there is no standard way to handle ical feed as the "client" side is free to pull data with the frequency it wishes and display.

For instance Outlook has a custom property for this though "X-PUBLISHED-TTL:", Apple ical let's you set this and Google does not offer an option.

Regarding things to consider:

  1. using the unofficial URI webcal,
  2. not to have the property "METHOD" as then ical is only viewed as a carrier of information not a scheduler support,
  3. to notify about event changes you should update the sequence id, but looking at other issues you may want to consider updating the DTSTAMP of the given event to the timestamp you've update your event (though not standard compliant) or having a tag LAST-MODIFIED, though not guaranteed the ical feed reader will actually parse this tag.

If your file is huge you can of course limit to the next n events or give a time horizon but can you control what the users want to do with the received feed? Could they want to check something in the future and be surprised not to see anything they know should be there?

Same with past events, often removed to reduce size of the .ics but often users need/want to see when a specific event happened in the past.

Calendar apps when dealing with events deletion can either remove them from .ics if not scheduling is happening or they can follow itip and have a request:cancel propery.

Hope this helps.

like image 66
Auberon Vacher Avatar answered Dec 24 '22 22:12

Auberon Vacher