Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
ICS
Das Austauschformat für Kalender. Jede Einladung, die du je bekommen hast, ist eine solche Datei.
ICS
ICS ist ein reines Textformat, das sich in jedem Editor öffnen lässt. Eingesetzt wird es für den Austausch zwischen Programmen.
Die Endung lautet .ics, der volle Name iCalendar. Beides sagt weniger aus als das, was die Datei halten kann — und davon handelt der Rest dieser Seite.
Es geht auf 1998 zurück. Die Spezifikation ist RFC 5545.
Einem Format, das so lange lesbar geblieben ist, kann man etwas anvertrauen, das man in zehn Jahren wiederhaben will.
Sie ist vollständig veröffentlicht, das Format lässt sich also aus dem Dokument umsetzen statt durch Nachsehen. Deshalb taucht es in so vielen Programmen auf, und deshalb gehen Dateien von vor zwanzig Jahren heute noch auf. Veröffentlicht heißt allerdings nicht lizenzfrei: Wo ein Format einen Codec einpackt, ist die Patentfrage eine eigene, die der Standard nicht mitbeantwortet.
ICS speichert seinen Inhalt exakt. Erneutes Speichern ändert nichts, es lässt sich also beliebig oft öffnen, bearbeiten und wieder ablegen, ohne dass sich Schaden ansammelt — genau das macht es zu einem Arbeitsformat und nicht zu einem Ausgabeformat.
Google Calendar, Apple Calendar und Microsoft Outlook lesen es, und die meisten Programme derselben Art ebenfalls.
Wenn eine Datei nicht aufgeht, liegt es selten am Format — häufiger daran, dass das Programm älter ist als das Format. Die Umwandlung in etwas Älteres ist der verlässliche Weg daran vorbei, und dafür gibt es den Rest dieser Website.
Kein Browser liest es.
Das ist der häufigste Grund, es umzuwandeln: nicht dass das Format schlecht wäre, sondern dass die Stelle, an der die Datei erscheinen soll, es nicht lesen kann.
ICS ist zum Öffnen und Ändern gedacht. Behalte die Datei in diesem Format, solange die Arbeit läuft, und exportiere daraus, wann immer eine fertige Fassung gebraucht wird.
Eine ICS-Datei ist entweder ein zugesandter Termin oder ein abonnierter Kalender, und fast jedes Problem mit dem Format beginnt damit, beides zu verwechseln.
Die erste Art ist die Einladung im E-Mail-Anhang. Sie beschreibt einen Termin — oder eine kleine Serie — und ist dafür gedacht, einmal geöffnet und importiert zu werden. Die zweite Art ist ein Feed unter einer Webadresse, den ein Kalenderprogramm wiederholt abruft: ein Vorlesungsplan, die Bundesliga-Termine, ein Dienstplan, der Feiertagskalender eines Bundeslands. Die Dateistruktur ist in beiden Fällen dieselbe, der Unterschied in der Nutzung ist es nicht. Ein Abonnement, das stattdessen heruntergeladen und importiert wird, wird zu einer eingefrorenen Kopie, die nie wieder aktualisiert — der mit Abstand häufigste Fehler.
Klartext, in einer Struktur, die ihr Alter nicht verbirgt: eine Eigenschaft pro Zeile, alles in Großbuchstaben, umgebrochen nach 75 Zeichen mit einer Fortsetzungskonvention, die ein einzelnes Leerzeichen an den Anfang der nächsten Zeile setzt. Jeder Termin steht zwischen BEGIN- und END-Markierungen mit Beginn, Ende, Titel, meist Beschreibung und Ort, und einer eindeutigen Kennung.
Diese Kennung verhält sich anders, als man erwartet. An ihr erkennt ein Kalender, dass eine Aktualisierung zu einem bestehenden Termin gehört und nicht zu einem neuen — eine erneut versandte Einladung mit derselben Kennung verschiebt also den ursprünglichen Termin, statt einen zweiten anzulegen. Wird sie mit einer neuen Kennung verschickt, haben plötzlich alle zwei Termine im Kalender.
Ein Termin kann seine Uhrzeit auf drei Arten speichern, und sie verhalten sich unterschiedlich. Eine lokale Zeit ohne Zonenangabe bedeutet „zehn Uhr, egal wo“ — richtig für einen Geburtstag, falsch für ein Meeting. Eine UTC-Zeit, am angehängten Z erkennbar, ist ein fester Zeitpunkt, den jeder Kalender in die eigene Zone umrechnet. Eine Zeit mit benannter Zone trägt eine vollständige Zeitzonendefinition in der Datei mit sich, damit die Umrechnung auch über eine Zeitumstellung hinweg stimmt.
Ein Termin, der für manche Teilnehmenden eine Stunde daneben liegt, ist fast immer dieser Fall: ein System hat eine lokale Zeit ohne Zonenangabe geschrieben und dabei angenommen, alle säßen im selben Land. Ein Termin, der bis zur Zeitumstellung stimmte und danach nicht mehr, ist derselbe Fehler eine Ebene tiefer — ein fester Versatz wurde dort eingetragen, wo eine benannte Zone hingehört hätte, was in Deutschland jedes Jahr Ende März und Ende Oktober auffällt.
Wiederholung wird als Regel beschrieben statt als Aufzählung jedes einzelnen Termins: jeden zweiten Dienstag, den letzten Freitag im Monat, jeden Werktag bis zu einem Datum. Das ist kompakt und exakt, und der Grund, warum ein Jahr wöchentlicher Besprechungen nur ein paar hundert Byte braucht.
Kompliziert wird es durch Ausnahmen. Ein abgesagter Einzeltermin und eine auf einen anderen Tag verschobene Sitzung werden beide als Ergänzung zur Serie gespeichert, und Programme setzen das unterschiedlich vollständig um. Deshalb verschiebt sich beim Verschieben eines einzelnen Termins einer Serie in fremden Kalendern manchmal die ganze Serie — die Regel hat die Reise überstanden, die Ausnahme nicht.
Bei einer einzelnen Datei tun alle drei dasselbe: ein Import kopiert die Termine einmalig hinein. In Google Kalender findet sich das unter Einstellungen, Importieren und exportieren; in Outlook unter Datei, Öffnen und Exportieren; auf dem Mac unter Ablage, Importieren. Vorab festlegen, welcher Kalender die Termine erhält, denn sie nachträglich zu trennen ist mühsam.
Bei einem Feed die Abonnieren-Funktion nehmen und die Adresse eingeben statt einer heruntergeladenen Datei. Google nennt es „Über URL“, Apple ein Kalenderabonnement, Outlook „Aus dem Web abonnieren“. Der Kalender ruft dann nach eigenem Zeitplan ab — Google und Outlook messen das in Stunden und lassen sich nicht einstellen, Apple bietet in den Abo-Einstellungen ein Aktualisierungsintervall bis hinunter zu fünf Minuten. Dass eine Änderung an der Quelle nicht sofort sichtbar wird, ist normal und kein Fehler.
Die ICS-nach-CSV-Umwandlung dieser Seite liest ausschließlich Termine — Aufgaben, Notizen und Erinnerungen im selben Kalender bleiben außen vor —, und aus einer wiederkehrenden Serie wird genau eine Zeile, nicht eine je Wiederholung. Die Wiederholungsregel selbst wird weder aufgelöst noch in einer eigenen Spalte ausgegeben.
Eine benannte Zeitzone wird dabei nicht umgerechnet: Die Spalte zeigt die im Termin gespeicherte lokale Uhrzeit, die Zonenangabe selbst fällt weg. Eine Umrechnung würde eine vollständige Zeitzonendatenbank voraussetzen, und eine geratene Annahme — etwa pauschal UTC — würde jeden betroffenen Termin verschieben statt ihn richtigzustellen. Das gilt es zu wissen, bevor die Tabelle für eine Terminplanung weiterverwendet wird: Sie ist ein Auszug, keine vollständige Abbildung des Kalenders.
Es ist Text, jeder Editor öffnet es, und für einen einzelnen Termin ist das oft der schnellste Weg zu sehen, was ein Kalender tatsächlich mitgeteilt bekommt. Die einzige Regel, die zu beachten ist: Eine fortgesetzte Zeile beginnt mit genau einem Leerzeichen, und wer es entfernt, verändert die Eigenschaft stillschweigend.
Für eine schnelle Korrektur ist das vertretbar — ein falsches Datum, ein Tippfehler im Titel, eine Beschreibung, die vor der Weitergabe anonymisiert werden muss. Für strukturelle Änderungen, besonders an Wiederholungsregeln, sollte ein Kalenderprogramm schreiben. Die Regelsyntax ist streng, der Fehlerfall ist ein Termin, der ein ganzes Jahr an den falschen Tagen erscheint, und meist merkt es niemand, bis ein Termin verpasst wird.
| Endung | .ics, .ical |
|---|---|
| Medientyp | text/calendar |
| Erstmals veröffentlicht | 1998 |
| Spezifikation | RFC 5545 |