Brussels / 3 & 4 February 2024


Public calendars aggregation using Linkal

Calendars are a building block of our work tools. Unfortunately, managing calendars is often a nightmare. The reason for this is simple: the big companies hosting most of the calendar services are not trying very hard to provide interroperability between their services, or facilitate the use of calendars not hosted by themselves. One particular setting that is very painful when using calendars is the case of public-calendars. While a lot of organizations have a public-calendar available to stay informed about the events they organize, it is actually very complicated to leverage these calendars in a natural way: First of all, not all caldav clients support public-calendars, or at least not as well as “account” calendars. Often, they allow to “bulk import” multiples ical events inside your calendar client but not suscribe to the underlying calendar. This means that new events will not be added to your calendar automatically; Public-calendars are not easily composable: it is not possible to merge multiple public-calendars together in order for example to share a collection of calendars; It is not possible to filter events in public-calendars. We may be interested only in a subset of events in a calendar (events occuring on mondays for example, or taking place in Paris, or any other criterion).

Linkal is a software developped to solve the above problems. It is a public-calendar aggregator server. It acts as a man-in-the-middle between a caldav client and some public-calendars. Given a list of public-calendar, it emulates a calendar collection containing all these calendars. The user can then use its usual caldav client and add the collection as an “account” calendar (specifying the url of the Linkal instance instead of the caldav server). This allows the collection to be shared easily to multiple users and seamlessly updated.

The talk will present the challenges to collaborations using calendars and the solutions that Linkal provides.


Photo of Julien Malka Julien Malka