Skip to content

change calendar feed UIDs

Bengfort requested to merge change-calendar-feed-uids into main

django-ical used item_link to generate UIDs if item_guid was not defined. This behavior was directly inherited from django.utils.syndication.views.Feed, which is primarily intended for RSS or Atom Feeds.

  • In Atom, atom:id MUST be an IRI

  • In RSS, guid can be any string

  • In icalendar, UID can be any string:

    A good method to assure uniqueness is to put the domain name or a domain literal IP address of the host on which the identifier was created on the right-hand side of an "@", and on the left-hand side, put a combination of the current calendar date and time of day (i.e., formatted in as a DATE-TIME value) along with some other currently unique (perhaps sequential) identifier available on the system (for example, a process id number).

In addition to not being necessary, reusing item_link for item_uid has an issue: The link is not necessarily unique. For example, execution appointments link to the participation, so if there is more than one appointment for that participation they all get the same link.

Edited by Bengfort

Merge request reports