Skip to main content

Neu in Craft CMS 2.2

Craft CMS 2.2 Teaser

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.

Position Select Settings Screenshot

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.

Thomas Sausen

Webentwickler

Selbstständiger Webentwickler, der 2005 mit WordPress-Websites anfing, dann zu ExpressionEngine wechselte und 2013 sein Herz an Craft CMS verlor. Als Gründer von Craftentries, berichtet er seit 2015 über das Craft-Ökosystem.