Baikal CalDAV: Wenn sich ein Kalender nicht synchronisiert

Vor kurzem habe ich bei der Baikal CalDAV Installation auf einem meiner Raspberry PIs einen Fehler festgestellt. Ein selten benutzter Kalender nahm zwar von allen Geräten (MacBook, iPad, iPhone) neue Termine klaglos an, aber die Synchronisation zwischen den Geräten funktionierte scheinbar überhaupt nicht. Alle anderen auf dem gleichen Account laufenden Kalender synchronisierten sich jedoch klaglos.

Der Übeltäter war wohl ein nicht ganz korrekt durchgelaufenes Update auf die neues Baikal Version. In der zum besagten Kalender gehörenden Zeile in der SQLite Tabelle Calendars war kein Wert für „synctoken“ eingetragen.

Eigentlich ist der Token für die Synchronisation eine einfache Zahl (Integer). Bei einer Änderung der Daten im Kalender wird der synctoken um eins erhöht. Jeder Client braucht dann nur seinen lokalen Token mit dem des Servers zu vergleichen und sieht sofort, ob es eine Änderung gegeben hat (ohne dafür jedes Mal alle Einträge des Kalenders vergleichen zu müssen). Wenn es also keinen eingetragenen Synctoken gibt, kann es auch mit der Synchronisation nicht klappen. Daher musste für die Fehlerbehebung einfach nur eine „1“ als Wert für synctoken eingetragen werden.

  1. Auf dem Baikal Server „sqlite3“ als Admin starten:
    sudo sqlite3
  2. Die Datenbank von Baikal laden (ggf. den Pfad anpassen!) (Befehl mit Enter absenden):
    .open /usr/share/nginx/www/baikal/Specific/db/db.sqlite
  3. Datenbankinhalt der Tabelle „calendars“ ausgeben lassen (Befehl mit Enter absenden):
    SELECT * FROM calendars;
  4. Der Anfang der Ausgabe für jeden Kalender sieht so ähnlich aus:
    ID|principals/BENUTZERNAME|KALENDERNAME|KALENDERID|SYNCTOKEN|KALENDERBESCHREIBUNG|2|#FARBCODE|BEGIN:VCALENDAR

    Wenn an der Stelle SYNCTOKEN keine Zahl steht, sondern einfach zwei Striche (Pipe-Symbole) mit oder ohne Leerzeichen nacheinander kommen, dann ist der synctoken für diesen Kalender nicht gesetzt. Die ID (ganz vorne in der Zeile) für diesen Kalender merken.

  5. Synctoken manuell setzen (Befehl mit Ender absenden):
    UPDATE calendars SET synctoken = 1 WHERE id = ID;

    Bei diesem Befehl bitte das groß geschriebene ID am Ende durch die in Schritt 4 gemerkte Zahl (ID) ersetzen.

  6. sqlite3 beenden (Befehl mit Ender absenden):
    .exit

Jetzt sollte auch dieser Kalender korrekt zwischen allen Geräten synchronisiert werden.

---
Beitrag interessant? Ich freue mich über einen Kauf bei Amazon*.

Apple Pages: Shortcut zum Einfügen von Fußnoten

Word kennt unter macOS standardmäßig die Tastenkombination alt + command + f (bzw. option + command + f) zum Einfügen einer Fußnote. Wer den gleichen Komfort unter Apples Pages erwartet, wird zunächst enttäuscht. Pages kennt keinen Shortcut für Fußnoten. Allerdings lässt sich dieser Umstand sehr leicht über die Kurzbefehle der Tastatur beheben.

  1. Pages Fußnote ShortcutSystemeinstellungen aufrufen und „Tastatur“ auswählen.
  2. Den Tab „Kurzbefehle“ öffnen.
  3. Im linken Teilfenster den Punkt „App-Tastaturkurzbefehle“ auswählen.
  4. Auf den Button „+“ drücken.
  5. Im sich öffnenden Fenster (s. Bild auf der rechten Seite)
    1. im Feld Programm „Pages“ bzw. „Pages.app“ auswählen,
    2. im Feld Menü „Fußnote“ (ohne Anführungszeichen) eintippen,
    3. im Feld Tastaturkurzbefehl die gewünschte Tastaturkombination drücken,
    4. auf den Button Hinzufügen klicken.

Pages Fußnote ShortcutDie neu hinzugefügte Tastenkombination sollte sofort im Fenster der Kurzbefehle auftauchen (s. Bild auf der linken Seite). Ab jetzt kann die gewählte Tastenkombination unter Pages zum Einfügen von Fußnoten genutzt werden.

---
Beitrag interessant? Ich freue mich über einen Kauf bei Amazon*.

macOS App: AUMount – Mehrere Speichermedien auf einmal auswerfen

Ich finde es ziemlich nervig, vor dem Trennen der Thunderbolt-Verbindung meines MacBooks alle verbundenen Festplatten und anderen Speichermedien wie USB-Sticks oder SD-Karten einzeln auswerfen zu müssen.

macOS App AUMountDaher habe ich angefangen, ein kleines Programm für macOS mit dem Namen AUMount zu schreiben, das mit einem Klick alle Laufwerke auswerfen kann. Es fehlt bislang noch Seit Version 0.7 besteht die Möglichkeit, alle Laufwerke automatisch auszuwerfen, bevor das MacBook in den Schlafmodus wechselt (und damit die ständigen Fehlermeldungen über nicht korrekt ausgeworfene Laufwerke zu vermeiden).

Die aktuelle Version von AUMount ist auf dieser Seite zu finden: http://www.sagrland.de/aumount

Update: Hoffentlich bald Jetzt auch unter http://www.aumount.de erreichbar!

Bitte auf der oben verlinkten Seite kommentieren.

---
Beitrag interessant? Ich freue mich über einen Kauf bei Amazon*.