Question

I'm trying to understand how iCal feeds & iCalendar clients deal with a large number of events in the past & in the future. Is there any way in which iCalendar clients can communicate a date-range to an iCalendar feed -- so that events outside the current date range being shown to the user are not needlessly sent down the wire.

If not, how does the iCalendar feed decide which date ranges to send the events for? If one keeps sending all the data down the wire, at some point it's going to become unmanageable for, both, the feed & the client. If the feed doesn't send data far back in the past & far out in the future, how do clients handle these 'holes' in the data?

Was it helpful?

Solution

you need to differentiate between the application side which is the event feed and icalendar (rfc5545) which is "just" the standard for

data format for representing and exchanging calendaring and scheduling information

in other words from the icalendar file format will only carry whatever information the server has been programmed to put in it. There is no predefined behaviour for calendar feeds in rfc5545.

for events feeds if you do not control the server, it would be safe to assume that the feed is only showing upcoming events and your question could be related to : How Do I Fetch All Old Items on an RSS Feed?

about how to keep track of the history if your users have a use case for going back in tie. in this case the only option would be for your client to keep a history and compare new .ics with the old one to display the most comprehensive history.

however if you also own the server / feed side you could decide of specific REST API to offer more flexibility to the client side (i.e. specify date range for the feed)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top