Max ·

Auch wenn meine Seite noch nicht mit Kirby 5 läuft, weil das POSSE plugin noch nicht aktualisiert wurde, hab ich bereits auf anderen Seiten das Update auf Version 5 durchgeführt und ein paar mögliche Probleme bei der Aktualisierung gefunden.

Mit Kirby 5 kann man zum ersten Mal Änderungen vor dem Speichern als Vorschau anzeigen lassen. Das ging vorher nur, wenn man Seiten duplizierte. Jetzt gibt es sogar einen Split-View, um die aktuelle Version und die geänderte Version nebeneinander anzuzeigen bevor man Änderungen speichert. Als ich das zum ersten Mal auf einer Seite mit Kirby 5 ausprobiert hatte, ging die Vorschau allerdings nicht. Das lag an zwei Dingen.

Erstens hatte ich relativ strikte Header in dem Caddy-Server konfiguriert, die das Einbetten der Seite als iframe verhindern. Kirby’s Vorschaufunktion nutzt aber iframes, um Änderungen anzuzeigen. Die Lösung war die Caddy-Konfiguration anzupassen und den Header X-Frame-Options von deny auf same-origin zu stellen. Das erlaubt die Seite unter der gleichen Domain als iframe einzubetten, also genau das was Kirby macht. Nach der Änderung in der Konfiguration muss der Caddy-Service neu gestartet werden: systemctl restart caddy. Danach hat die Vorschau über die iframes funktioniert.

Dann bin ich allerdings auf ein zweites Problem gestoßen: Die Änderungen wurden in der Vorschau nicht angezeigt oder manchmal nur beim ersten Mal. Hier lag es an dem Caching, das ich in Cloudflare konfiguriert hatte. Wie ich Kirby-Seiten in Cloudflare cache, will ich demnächst noch in einem Blog Post teilen. Für die Vorschau in Kirby 5 war die Lösung eine neue Cache Regel anzulegen, die das Caching für alle URLs mit dem Query Parameter _token abschaltet. Dieser Parameter wird von Kirby an alle URLs der Vorschau-iframes übergeben.

Also hab ich eine neue Cache Rule erstellt, unter Custom Filter Expression bei Field die Einstellung Query String Parameter ausgewählt, bei Operator wildcard und bei Value den Wert _token=*.

Darunter noch Cache eligibility und Browser TTL auf Bypass Cache stellen und alle URLs mit dem Query Parameter _token werden von Cloudflare nicht mehr gecachet.

Mit diesen Änderungen bei Caddy und Cloudflare, funktioniert das Vorschau-Feature von Kirby 5 jetzt ohne Probleme. Ich freue mich schon Version 5 bald auch auf meiner Seite zu nutzen.

Du kannst meine Notizen mit jedem RSS Reader abonnieren. Mein Favorit ist Reeder.