Wenn der Onlinekalender mal wieder rumzickt

Zur besseren Organisation unseres Lebens habe ich mehrere Onlinekalender eingerichtet. Diese basieren auf Owncloud und bestehen aus drei Kalendern. Der Kalender „Harald“ beinhaltet meine Termine. In „Manuela“ stehen die Termine meiner Frau und in „Familie“ stehen Termine die für uns beide relevant sind. Alle drei Kalender laufen über einen Account, so dass meine Frau und ich kompletten Zugriff auf alle Termindaten haben. Diese Kalender sind auf zwei iPhones und im Thunderbird in der Erweiterung Lightning eingebunden.

lightningHeute ist es passiert, dass im Lightning der Familienkalender den Dienst quittiert hat. Zu erkennen an dem gelben Schild mit dem Ausrufezeichen. Auf den iPhones war dieser Kalender ebenfalls kommentarlos verschwunden.

Fehlersuche

Im Thunderbird kann man im Menü unter Extras -> Fehlerkonsole oder mittels der Tasten Strg+Umschalten+J eine Fehlerkonsole aufrufen. Unter Mitteilungen fand ich folgendes:
fehlerkonsoleEin Error 404 bedeutet das eine ICS-Datei nicht gelesen werden konnte. Als nächstes habe ich mir den Link zu dem Kalender aus der Owncloud genommen und ihm im Browser aufgerufen.ics-listingDiese Auflistung lässt folgende Rückschlüsse zu:

  • Für jedes Event gibt es eine ICS-Datei
  • Die zuletzt erstellten stehen unten (erkennbar am Datum)
  • Mindestens eine dieser Dateien hat einen Fehler

Ich habe mir daraufhin die einzelnen Dateien angesehen, wobei ich mit der neusten angefangen habe. Die vorletzte (54FB86C8-1038-4E5C-85A6-90B6BEC86638.ics) ist schon auf Grund der kleinen Größe von 292 Bytes verdächtig. Der Dateiinhalt bestätigt den Verdacht:

ics-error Das ist kein gülitger Kalendereintrag. Somit steht fest, dass diese Datei weg muss. In Owncloud werden die ganzen ICS-Dateien direkt aus der Datenbank erzeugt, es gibt keine echte Dateien. In der Datenbank stehen die Kalendereinträge in der Tabelle oc_clndr_objects. Im Feld uri steht die Dateibezeichnung. Wie man an den Datensatz rankommt, kann man in einem MySQL-Tutorial nachlesen. Ich verwende dazu HeideSQL welches eine grafische Oberfläche zu MySQL anbietet und sehr leicht zu bedienen ist. Der Löschbefehl lautet für mein Beispiel:

delete from oc_clndr_objects where uri = "54FB86C8-1038-4E5C-85A6-90B6BEC86638.ics"

Nach der Entfernung dieser Zeile funktioniert der Kalender wieder:

lightning-workingWarum dieser Fehler überhaupt entstanden ist, weiß ich nicht aber es ist gut zu wissen, wie man ihn beheben kann. 🙂

Randbemerkung

Als ich von meiner Synology Diskstation den Kalender exportiert (per Lightning) und über die Weboberfläche von Owncloud importiert hatte, hat der Kalender mit Lightning auch nicht funktioniert. Als ich mir die oben genannte Tabelle mit HeideSQL angesehen habe, habe ich dort einige fehlerhafte Einträge gefunden. Es fehlten z.B. das startdate oder enddate bei verschiedenen Einträgen.