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.