State of Craft - Dot All 2021

Die Dot All 2021 findet pandemiebedingt erstmals als Online-Event statt. Wie es Tradition ist, wurde die Veranstaltung von Brandon Kelly eröffnet und er gab erstmal ein umfassendes Update zur aktuellen Lage von Craft CMS.

Kelly begrüßte die über 230 Teilnehmer aus 25 verschiedenen Ländern und zeigte vier sehr unterschiedliche Websites, die Craft nutzen:

Die Verkäufe von Craft wachsen stetig und auch wenn keine absoluten Zahlen genannt wurden, bestätigte Kelly nach dem Talk ein 20%iges Wachstum verglichen mit dem Vorjahr.

Es ist also nicht verwunderlich, dass auch das interne Craft-Team weiter wächst und mittlerweile 16 festangestellte Mitarbeiter und Mitarbeiterinnen umfasst.

Wie lebendig das Ökosystem um Craft ist, zeigt auch der Plugin-Store, der vor 3,5 Jahren zusammen mit Craft 3 veröffentlicht wurde. Damals mit lediglich 200 Plugins gestartet, sind dort nun 898 Plugins vertreten.

Craft Console

Aktuell arbeitet das Team an einer neuen Version von Craft ID, die dann im nächsten Jahr als Craft Console online gehen wird.

Neben optischen Verbesserungen wird die große Neuerung sein, dass die Craft Console Unternehmens/Organisations-Accounts unterstützten wird. Diese haben den Vorteil, dass sie zu mehreren Craft-IDs gehören können und zusätzliche Mitglieder mit unterschiedlichen Berechtigungen unterstützen.

Diese Konten bleiben kostenlos und dort können auch weiterhin die Lizenzen von Craft CMS und den Plugins verwaltet werden. Wer aber ein Plugin veröffentlichen oder Teil des Partner-Netzwerkes sein möchte, benötigt künftig zwingend einen solchen Account.

Bestehende Craft ID-Konten werden automatisch migriert.

Craft Cloud

Craft Cloud wurde erstmals auf der Dot All 2019 in Montreal angekündigt und war als Headless Craft-Service geplant. Als Einschränkung sollten weder Templates noch Plugins unterstützt werden, dafür aber auch Software-Updates und DevOps-Arbeiten wegfallen.

Ursprünglich hätte der Dienst 2020 starten sollen, stattdessen bekamen wir im letzten Jahr nur ein Info-Update. Demnach hätte der Dienst Craft ID ersetzen und zusätzlich für Headless-CMS-Projekte genutzt werden können. Für letzteres wären pro Sitz 20 US-Dollar im Monat angefallen und das Ganze wäre ohne praktischen Limitierungen von Inhaltsvolumen oder API-Requests vonstatten gegangen.

Obwohl das Team sehr begeistert für das Projekt war, konnte das Konzept die Community nicht begeistern, weswegen Craft Cloud in der angedachten Form nicht veröffentlicht wird. Die Benutzer- und Lizenzverwaltung übernimmt künftig Craft Console, während Craft Cloud als Platform as a Service (PaaS) für alle Craft-Projekte dienen wird.

Wie das konkret aussehen wird, wurde noch nicht verraten. Man solle sich das erstmal als eine Managed Hosted Version von Craft CMS vorstellen. Die Craft Demo-Sites laufen mittlerweile mit Craft Cloud und die offizielle Website wird demnächst auf den Dienst umgestellt.

Craft CMS Updates

Seit der Dot All 2019 wurden Craft 3.4, 3.5, 3.6 und 3.7 veröffentlicht, mit stellenweise einschneidenden Änderungen. Der Update-Prozess war deswegen nicht immer leicht, auch weil manche Plugins Probleme machten. Weiterhin war nicht immer ersichtlich, ob ein Update eines Plugins bei einer neuen Version zu Problemen führen könnte.

Schon im letzten Jahr kündigte Pixel & Tonic deswegen an, künftig auf eine Semantische Versionierung zu setzen. Diese Pläne wurden jetzt konkretisiert, da anders als 2020 angedacht, es ab 2022 nur noch einen statt zwei Major-Releases pro Jahr geben wird. Ähnlich wie es Apple bei iOS oder macOS handhabt, wo einmal jährlich ein großer Release mit neuen Features veröffentlicht wird und die übrigen Updates meist unter der Kategorie Fehlerbehebung oder kleinere Verbesserungen fallen.

2022 erscheint folglich Craft 4 und Commerce 4, 2023 dann Craft 5 und Commerce 5 und so weiter.

Wichtig dabei ist, dass die Major-Releases miteinander kompatibel sein müssen und die Minor-Releases keine Breaking-Changes aufweisen werden. Für den Nutzer sollte also der große Vorteil gegeben sein, dass künftig eindeutige Aussagen getroffen werden können, ob Plugins und CMS miteinander kompatibel sind oder eben nicht.

Der bisherige Versionssprung von 3.6 auf 3.7 wird mitunter bei Kunden oder Privatusern als zu gering erachtet und daher mal schnell auf „aktualisieren“ geklickt. Dagegen flößt der Wechsel von 3.X auf 4.X möglicherweise etwas mehr Respekt ein.

Aus Dienstleistersicht ist das eine willkommene Neuerung, da sich Updates besser planen lassen. Weiterhin lassen sich dann jährlich die neuen Features und die daraus resultierenden Vorteile für die Kunden besser kommunizieren.

Aus der Sicht von Pixel & Tonic besteht der Vorteil der Verlässlichkeit. Es kommt ein jährliches Update und alle neuen Features die bis dahin fertig sind, werden in diesen Release gepackt, anstatt die Veröffentlichung erneut zu verschieben. Wir wissen noch alle, welche Probleme es im Vorfeld von Craft 3 gab. Nachteilig ist allerdings, dass wenn ein lang erwartetes Feature es nicht in beispielsweise Craft 4 schafft, man auf dieses mindestens ein weiteres Jahr warten muss.

Craft 4

Die Beta von Craft 4 ist für das 1. Quartal 2022 und die Veröffentlichung der finalen Fassung für das 2. Quartal 2022 geplant.

In der Roadmap lassen sich die Neuerungen, die für Craft 4 geplant sind, einsehen. Ob all diese Funktionen letztendlich auch integriert werden, lässt sich noch nicht abschätzen. Schließlich haben die konkreten Arbeiten an Craft 4 erst nach der Veröffentlichung von Craft 3.7 im Juli 2021 angefangen.

Craft 4 wird mindestens PHP 7.4 voraussetzen und so auf typsicheres PHP setzen. Mit typisierten Properties kam Ende 2019 endlich die Möglichkeit in PHP auch die Properties einer Klasse typisiert angeben zu können.

Weiterhin zeigte Brandon ein paar Neuerungen:

Collections:
Ähnlich wie in Laravel-Collection wird die Möglichkeit geschaffen, Arrays auf verschiedene Arten zu transformieren. Dadurch werden Elemente die Eager Loading unterstützen künftig als Collections wiedergegeben und dadurch kann man durch diese loopen, wie bei einem Array.

Inaktive Benutzerkonten:
Administratoren können inaktive Benutzerkonten anlegen und Inhalte diesen zuweisen.

Ele­ment Index Filtering:
Die Element-Indexe bekommen weitere Filtermöglichkeiten.

Custom Sources:
Künftig kann man den Custom Sources eigene Labels geben und definieren als welche Art sie angezeigt werden. Dies lässt sich auch mit dem Filtering der Element-Indexe kombinieren und all diese Einstellungen werden dann in der Project Config-Datei gespeichert.

Fazit

Ich fand interessant, dass bezüglich Craft 4 eher kleinere Neuigkeiten gezeigt wurden, die das Gesamterlebnis etwas abrunden. Im Vorfeld hätte ich eher mit einer Demo von Matrix-in-Matrix oder Conditional Fields gerechnet, die beide weiter fest für Craft 4 geplant sind. Andererseits ist es so, dass Craft 4 erst seit gut drei Monaten in Entwicklung ist und solche großen Features wahrscheinlich schlicht noch nicht vorzeigbar sind.

Die Zeiten, an denen Pixel & Tonic parallel an mehreren Craft-Versionen arbeitet, sind vorbei und das muss nicht schlecht sein. Persönlich freue ich mich auf die jährlichen großen Updates, die es ab 2022 geben wird. Denn aktuell ist es seltsam, dass Craft 3 über 3,5 Jahre alt ist und dann in einem Dot-Release auf einmal der Ablauf zur Veröffentlichung von Einträgen und Entwürfen komplett geändert wird.

Bessere Planbarkeit und Verlässlichkeiten dürften die Folge sein. Ansonsten habe ich mich sehr über das wachsende Ökosystem gefreut, denn mit Nitro, Cloud, Console wird immer klarer, dass Craft mehr als nur ein CMS ist.

Foto von Thomas Sausen

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.

Thomas Sausen

Webentwickler