Neu in Craft CMS 2.2
Craft 2.2 bringt über 140 Verbesserungen und neue Funktionen. Kein spektakulärer Release – aber genau der, der Craft für den ernsthaften Produktionseinsatz bereit machte.
CSRF-Schutz
Das wichtigste neue Feature ist CSRF-Protection. Cross-Site-Request-Forgery-Angriffe gehören zu den häufigsten Sicherheitslücken in Webanwendungen, und Craft hat diesen Schutz nun eingebaut. Mit der neuen enableCsrfProtection-Einstellung und der Template-Funktion getCsrfInput() lassen sich Formulare absichern. Für 2014 war das in der CMS-Welt keine Selbstverständlichkeit.
Session-Verwaltung im Control Panel
Das Session-Management wurde zweistufig überarbeitet. Zwei Minuten vor dem automatischen Logout erscheint eine Warnung mit der Option, die Session per Klick zu verlängern. Läuft die Session trotzdem ab, erscheint ein Dialog direkt auf der Seite, in dem das Passwort eingegeben werden kann. Danach kann man nahtlos weiterarbeiten.
Wer längere Zeit an einem Eintrag arbeitet, hat vorher oft erst beim Speichern gemerkt, dass die Session abgelaufen war. Damit ist jetzt Schluss.
Positionsfeld
Der neue Position-Select-Feldtyp ist eine Button-Gruppe, mit der sich Positionen für Elemente abfragen lassen: left, center, right, full, drop-left und drop-right. Nützlich für Layouts, bei denen Redakteure die Ausrichtung von Bildern oder Inhaltsblöcken selbst bestimmen sollen, ohne direkt ins HTML eingreifen zu müssen.
Singles aufgewertet
Singles haben nun dieselben Einstellungen wie Channels und Structures: „Show the Title"-Feld, „Title-Field Label" und „Title Format". Außerdem gibt es jetzt ein Status-Setting. Singles waren in Craft 2.0 noch etwas stiefmütterlich behandelt. Mit 2.2 sind sie den anderen Entry-Typen vollständig gleichgestellt.
Sicherheit: HTML Purifier
Das Rich-Text-Feld bekommt eine neue „Purify HTML"-Einstellung. Ist sie aktiviert, läuft der Inhalt vor dem Speichern durch einen HTML Purifier, der möglichen Schadcode entfernt. Besonders relevant für Websites, auf denen Inhalte von mehreren Redakteuren gepflegt werden.
Automatische Transform-Generierung
Image Transforms werden ab 2.2 automatisch im Hintergrund generiert, nachdem die Seite ausgeliefert wurde. Die generateTransformsBeforePageLoad-Einstellung aus 2.1 ist damit faktisch überflüssig – nach nur einem Release. Performance-Verbesserung ohne Konfigurationsaufwand.
Cache-Tag-Verbesserungen
Der {% cache %}-Tag bekommt zwei neue Parameter: using key für gezieltes Cache-Busting und if für konditionelles Caching. Vorher musste man kreativ um Cache-Invalidierung herumarbeiten – das entfällt jetzt.
Für Entwickler
Mit bootstrap.php lässt sich Craft nun aus einer externen Applikation laden, ohne dass Craft den HTTP-Request übernimmt. Nützlich für CLI-Scripts, Cronjobs oder Integrationen mit anderen PHP-Frameworks – ein erster Schritt Richtung flexiblerer Nutzung von Craft außerhalb des klassischen Request-Zyklus.
Und Craft::dd(): Dump and die. Eine Zeile, Variable wird ausgegeben, Request stoppt. Wurde schnell zum beliebtesten Debug-Tool der Craft-Community.
Pixel & Tonic hat außerdem eine Zusammenarbeit mit Mijingo bekanntgegeben, mit dem Ziel, die wichtigsten Craft-Funktionen in Videoform zu präsentieren. Das erste Video zur Matrix ist bereits verfügbar. Ebenfalls neu: die Klassenreferenz auf buildwithcraft.com, die bei jedem Release automatisch aktualisiert wird.
Fazit
Craft 2.0 legte das technische Fundament, 2.1 adressierte den redaktionellen Alltag, und 2.2 war der Produktions-Release. CSRF-Schutz, intelligente Session-Verwaltung und automatische Transform-Generierung sind keine glamourösen Features, aber genau die Art von Infrastruktur, die den Unterschied zwischen einem Projekt und einem Produkt ausmacht. Dass Pixel & Tonic gleichzeitig die Entwickler-Toolchain mit bootstrap.php und Craft::dd() stärkte, zeigt den doppelten Fokus: Craft sollte für Redakteure sicher und für Entwickler produktiv sein.