Craft CMS 4: Alles zum neuen Release

Craft CMS 4 wurde nunmehr veröffentlicht. Es birgt viele Neuerungen unter der Haube, allen voran das neue Asset-Management via Filesystems und weitere Features, die das Leben für Redakteure und Entwickler erheblich vereinfachen können. Ich habe es mir im Detail angeschaut.

Craft CMS 4: Alles zum neuen Release
Copyright Image: 2021 Pixel & Tonic / craftcms.com

Wie sehr habe ich mich darauf gefreut, nun ist es endlich soweit: Craft CMS ist in Version 4.0 erschienen! Auf den ersten Blick hat sich wenig geändert, zumindest was das Look and Feel des Control Panels angeht. Doch der Schein trügt, denn Craft CMS 4 steckt voller sinnvoller Änderungen und neuen Features, die sowohl mir als Entwickler, als auch meinen Kunden und deren Redakteuren das Leben leichter machen. So wären ganz groß die Conditional-Settings zu nennen, mit denen man Inhalte und Felder nach einer Vielzahl von Abfragen filtern kann oder das die Dateiverwaltung von Volumes auf Filesystems umgestellt wurde. Also, lasst uns zusammen genauer hinschauen!

Hinweis: Der Beitrag erschien im Original auf der Craft CMS Website. Ich habe ihn übersetzt und sinnvoll nach meinen Erfahrungen ergänzt.

Redaktionelle Benutzung des Craft CMS 4 Control Panels

Performance. Die Erstellung von Entwürfen und Revisionen wurde stark beschleunigt. Es fühlt sich nunmehr nahtloser an, wenn neue Inhalte erstellt werden. Das ist ein großer Vorteil vor allem in Multi-Site-Installationen und bei Verwendung komplexer Inhalts-Strukturen, wie z.B. einem Page-Builder, den man mittels Matrix-Feldern, NEO oder SuperTable erstellt hat

Barriarearmut. Das gesamte Control Panel wurde nunmehr auch weiter für Redakteure optimiert, die Hilfsmittel, wie Screenreader o.ä. einsetzen.

Filterung von Eintragselementen. Eintragselemente können anhand einer Vielzahl von Regeln gefiltert werden. So können beispielsweise nur die Einträge angezeigt werden, die einem bestimmten Redakteur oder Eintragstypen zugehörig sind.

Benutzerdefinierte Elementquellen. Site-Administratoren können jetzt ganz einfach benutzerdefinierte Elementindexquellen erstellen, die allen Autoren zur Verfügung stehen und so konfiguriert sind, dass nur bestimmte Elemente basierend auf voreingestellten Bedingungsregeln angezeigt werden. Native Elementquellen können auch deaktiviert werden.

Datenfelder mit Bedingungen. Feldlayoutelemente und Registerkarten können jetzt so konfiguriert werden, dass sie nur sichtbar/bearbeitbar sind, wenn bestimmte Bedingungen erfüllt sind, basierend auf dem bearbeiteten Element sowie dem angemeldeten Benutzer.

Bedingungen bei Elementbeziehungen. Relationale Felder wie Einträge, Assets und Benutzerfelder verfügen jetzt über Einstellungen, die die Quelle weiter einschränken, und somit feingranuliert definieren, welche Elemente zuordenbar sein sollen.

Neue Slideouts für den Element-Editor. Elementeditor-Slides unterstützen jetzt vorläufige Entwürfe und automatisches Speichern, genau wie Seiten zum Bearbeiten von Einträgen.

Verknüpfung des Elementindexstatus. Elementindexseiten halten ihre URL jetzt mit dem ausgewählten Status und den Sortieroptionen auf dem neuesten Stand, wodurch es einfach ist, die URL mit einem Teamkollegen zu teilen, ohne den Anzeigestatus aus den Augen zu verlieren.

Auto-Refresh des Elementes bei Aktualisierung. Wenn ein Element aktualisiert wird, werden jetzt andere geöffnete Browser-Tabs benachrichtigt, sodass sie alle Verweise auf dasselbe Element automatisch aktualisieren können.

Kategorie-Entwürfe. Kategorien haben jetzt die gleiche Unterstützung für Entwürfe wie Einträge.

Craft CMS 4 Benutzer-Management

Adressen. Benutzer können jetzt Adressdaten verwalten, auf die Plugins wie beispielsweise Craft Commerce zurückgreifen können.

Vollständiger Name. Benutzer haben jetzt ein einziges „Vollständiger Name“-Feld, anstatt wie vorher eigenständige Felder für „Vorname“ und „Nachname“. Der jeweilige Vor- und Nachname wird jetzt aus dem vollständigen Namen geparst und steht darüber hinaus weiterhin für Sortierzwecke zur Verfügung.

Inaktive Benutzer. Es ist jetzt möglich, Benutzer zu verwalten, die eine natürliche oder juristische Person darstellen, aber keine Anmeldeinformationen benötigen.

Erweiterte Unterstützung für Formatierungsgebietsschemas. Benutzer können jetzt ihr Formatierungsgebietsschema auf ein beliebiges bekanntes Gebietsschema festlegen; nicht nur die, für die das Control Panel übersetzt wurde.

Dateiverwaltung in Craft CMS 4

Dateisysteme. Volumes haben keine Typen mehr und verarbeiten Dateioperationen nicht mehr direkt; Ihnen wird nun ein „Dateisystem“ zugewiesen, das die Dateioperationen abwickelt. Und Volumes können verschiedenen Dateisystemen pro Umgebung zugewiesen werden.

Dateisysteme für Transformationen. Craft CMS hat ja bereits in vorherigen Versionen die Möglichkeit besessen, Transformationen von z.B: Bildern (wie Höhe, Breite, Auflösung, Format, Qualität) zu definieren. Die neuen Volumes können jetzt speziell zum Speichern von Bildtransformationen einem separaten Dateisystem zugewiesen werden. Es ist also möglich, ein Volume so zu konfigurieren, dass es ein nicht öffentliches Dateisystem für die Asset-Speicherung verwendet, während es ein öffentliches Dateisystem für Bildtransformationen verwendet.

Einfachere Fokuspunktanpassungen. Es ist jetzt möglich, den Fokuspunkt von Bild-Dateien aus ihren Vorschaufenstern heraus zu bearbeiten, zusätzlich zum Bildeditor.

Mit Unterordnern einschränken. Assets-Felder können jetzt auf einen einzelnen Speicherort einschließlich aller Unterordner beschränkt werden.

Alternativer Text bei Bildern. Volume-Feld-Layouts können jetzt ein natives „Alternative Text“-Feld enthalten, das verwendet wird, um alt-Attribute auf systemgenerierten <img>-Tags über Asset::getImg() und Bilder zu definieren, die im Bedienfeld gerendert werden.

Entwicklung von Templates, Extensions u.s.w.

PHP 8. Craft 4 setzt nunmehr PHP 8 voraus, sodass Entwickler mehrere neue Funktionen nutzen können.

Bedingungen. Dieselben Bedingungsregeln, die von Elementindex-Filtern und Feldbedingungen verwendet wird, kann im Frontend für eine Vielzahl neuer Anwendungsfälle implementiert werden.

"Money" Feld. Craft 4 enthält jetzt einen integrierten „Money“-Feldtyp sowie einen neuen |Money Twig-Filter. Dies kann zum Beispiel im E-Commerce Bereich, aber auch zur währungsabhängigen Darstellung von Geldbeträgen im Frontend verwendet werden.

Control Panel Bildschirmmasken. Controller können jetzt den HTML-Code für Masken im Control Panel bereitstellen, die dann sowohl als vollständige Seiten als auch als Slideouts gerendert werden können.

Einheitlicher Elementeditor. Benutzerdefinierte Elementtypen können von einer neuen, zentralisierten Elementbearbeitungserfahrung profitieren, ohne dass Boilerplate-Code benötigt wird.

Besserer ENVIRONMENT Support. Die meisten allgemeinen Konfigurationseinstellungen und Datenbankverbindungseinstellungen von Craft können jetzt mit Umgebungsvariablen wie CRAFT_DEV_MODE und CRAFT_DB_USER überschrieben werden. Außerdem ist es jetzt möglich, Site-Status mit Umgebungsvariablen festzulegen.

Zwischenspeichern externer Ressourcen. {% Cache %}-Tags tracken jetzt alle externen JavaScript- und CSS-Ressourcen, die innerhalb des zwischengespeicherten Inhalts registriert wurden, und registrieren sie bei nachfolgenden Seitenladevorgängen erneut.

Bild-Transormatoren. Es ist jetzt möglich, benutzerdefinierte Bildtransformatoren zu registrieren, die den integrierten GD/ImageMagick-basierten Transformator ersetzen können.

Proxy-Queues. Die Queue-Komponente kann jetzt so konfiguriert werden, dass sie einen externen Dienst verwendet und gleichzeitig die Vorteile des Queues von Craft nutzt, indem die externe Warteschlange als Proxy der nativen Warteschlange von Craft hinzugefügt wird.

Laravel-Collections. Laravel-Collections sind jetzt in Craft integriert und bieten neue Möglichkeiten zur Vereinfachung von Twig- und PHP-Code bei Abfragen.

Symfony-Mailer. Craft CMS versendet E-Mails jetzt mit Symfony Mailer anstatt mit Swift Mailer.

Bereit für ein Upgrade auf Craft CMS 4? Wirklich?

Selbstverständlich ist einiges zu beachten, wenn man auf Craft 4 upgraden möchte. Es ist definitiv ratsam, vorher eine Tiefen-Analyse des verwendete Codes zu machen, und diesen dann feingranuliert an die neuen Erfordernisse und Features des Major-Releases anzupassen. Sollten Sie fragen haben oder Unterstützung benötigen, können Sie sich gern an mich per wenden!