erdfisch Office

Das ist neu in Drupal 8.4

Drupal 8.4 wurde am 04.10.2017 offiziell released. Ich habe mir die RC1 angesehen und die (aus meiner Sicht) interessantesten Punkte einmal gesammelt.

Mein Fazit vorne weg:
Mit dem Release 8.4 ist der Drupal-Community mal wieder ein großer Sprung gelungen. Vor allem die Fortschritte bei Workflows und Media werden ein echter „game changer“ sein und das Fundament für viele interessante Neuentwicklungen bilden. Es ist wundervoll zu sehen, dass der neue Release-Zyklus von Drupal 8 zu der erwarteten fortlaufenden Innovation führt und wir uns alle sechs Monate auf einen verbesserten, leistungsfähigeren Core freuen können, der wichtige Säulen des Content Management immer weiter standardisiert.

Im Detail …

Modul-Updates

Es sind wieder einige experimentelle Module auf eine stabile Release-Version gehoben worden:

Datetime Range

Ein häufig genutztes Feature, um nicht nur Anfangs-, sondern auch Enddaten zu erfassen. Sehr praktisch für Events, Terminkalender u.Ä.

Layout Discovery

Über „Layout Discovery“ können Module und Themes verschiedene Layouts mit Regionen im System registrieren, so dass diese über das Modul / Theme hinaus von anderen Komponenten verwendet werden können.

Inline Form Errors

Ein großer Fortschritt für die Redakteure: Bei der Validierung bzw. einem im Formular auftretenden Fehler können die zugehörigen Fehlermeldungen mit „Inline Form Errors“ direkt beim betreffenden Feld angezeigt werden, statt gesammelt in einer Message über dem Inhalt. So kann der Endnutzer sofort erkennen, welches Feld falsch ausgefüllt ist.

Workflows

Das Workflows-Modul bietet einem Site Builder erstmal keine Features, ist aber die Grundlage, um über eine standardisierte API Workflows für Inhalte zu definieren. Das Modul "Content Moderation" baut auf diese API auf und stellt dem Sitebuilder die entsprechende UI zur Verfügung, um Workflows im Backend zu definieren. Leider gilt „Content Moderation“ aktuell noch als experimentell, wird aber unter Hochdruck weiterentwickelt. Vielleicht haben wir Glück, so dass in der Zeit bis zum Release alle derzeit noch vorhandenen Probleme behoben werden.

Dann würden Workflows und „Content Moderation“ als "Geschwister" für die Verwaltung von Inhalten in großen Redaktionen einen tollen Beitrag leisten. Ansonsten ist davon auszugehen, dass „Content Moderation“ wohl beim Release von Drupal 8.5 stabil sein wird, wenn es bei 8.4 nicht klappt.

Media

Wer die Media-Initiative kennt, wird schon mitbekommen haben, dass die „Media Entity“ nun in den Core kommt. Mit Version 8.4 ist das Core-Modul nun stabil und kann von allen Contrib-Entwicklern verwendet werden, um das umfangreiche Media-Ecosystem mit „Entity Browser“, „Media Plugins“ usw. an die Core-Version anzupassen. Bisher musste man dafür extra das Modul „media_entity“ installieren. Da noch nicht alle Contrib-Module auf die Core-Variante angepasst wurden, kann man dies auch weiterhin tun, um schnell zu Ergebnissen zu gelangen. Die Core-Variante ist aus diesem Grund aktuell etwas versteckt. Man findet sie nicht auf der Modul-Übersichtsseite (/admin/modules), um möglicher Verwirrung bei den Usern vorzubeugen. Als Entwickler kann man das Modul jedoch über drush oder „drupal console“ aktivieren, um eigene Implementationen schon mal darauf anzupassen. Wichtig: "media" (Core-Variante) und "media_entity" (Contrib-Variante) können nicht gleichzeitig aktiviert sein! Wer aktuell unsicher ist nutzt einfach die Contrib-Variante, da es einen Upgrade-Path auf die Core-Variante geben wird. Sobald alle Contrib-Module, die für Media benutzt werden, aktualisiert sind, kann man einfach die Contrib-Variante abschalten und die Core-Variante anschalten um den Wechsel zu vollziehen.

Settings Tray BETA

Ist zwar noch nicht stabil, aber mittlerweile in der Betaversion angekommen. Wichtig: Wer das Modul bereits verwendet (natürlich nur zu Testzwecken ;-) ) achtet vor dem Upgrade auf 8.4 darauf, dass es deaktiviert ist. Der maschinenlesbare Name des Moduls wurde von "outside_in" (Arbeitstitel) zu "settings_tray" umbenannt, wodurch das Upgrade schieflaufen kann. Nach dem Upgrade kann man es einfach wieder aktivieren, da es keine Daten oder Config speichert.

Fixes

Automatisches Löschen von Dateien ohne bekannte Verwendung deaktiviert
Bei einigen Usern trat der Fall auf, dass der Core nicht sauber erkannt hat, ob und wo eine Datei verwendet wird. Dies führte dazu, dass einige Dateien, die mit 0 Verwendungen markiert waren, aus dem Dateisystem gelöscht wurden, da Drupal davon ausging, dass diese temporäre Dateien sind und nicht mehr gebraucht werden. An sich ein super Feature, welches verhindern kann, dass der Server zu schnell vollläuft. Durch diesen Bug wurden jedoch zu viele Dateien gelöscht. Um Datenverlust vorzubeugen, ist das Feature nun standardmäßig deaktiviert und muss erst händisch aktiviert werden.

Viele Hotfixes fürs Revisions-System

Auch hier konnte es zu Datenverlust kommen, wenn Revisionen in Verbindung mit „Translation UI“ auf Entwürfen editiert wurden.

Einige User-Interface-Fixes

Die Kommentar-Übersichtsseite im Backend besitzt nun z.B. nun bessere Filterfunktionen.

Batch-System-Fix

Ein Problem, bei welchem eine „race condition“ auftreten konnte, wurde behoben.

Improvements

„Content authoring and site administration improvements:“ Wieder entfernt wurde u.a. der große "Save and keep as published"-Button am Ende der Node-Formulare. Auch aus unserem Alltag bei erdfisch kann ich bestätigen, dass viele Redakteure übersehen haben, dass der Button einen Aufklapp-Pfeil besaß, um auf "unpublished" zu switchen. Nun haben wir wieder die gute alte "Published"-Checkbox, jedoch an einer besseren Stelle: direkt über dem Button. So kann man nicht übersehen, welchen Status der Inhalt beim speichern haben soll.

Weitere Verbesserungen betreffen unter anderem „REST & API-First“, „performance and scalability“, „developer experience“ und „automated testing“. Außerdem sind die Administrationsseiten "Kommentare" (/admin/content/comment) und "Recent log messages" (/admin/reports/dblog) nun echte Views, die der Administrator nach eigenen Wünschen anpassen kann.

Sonstiges

Drush 8.1.12 benötigt

Wer Drush mit Drupal 8.4 verwenden möchte, sollte ein Update auf mindestens Drush 8.1.12 vornehmen. Wer möchte kann in dem Zuge auch direkt Drush 9 ausprobieren.

Major-Version-Update für Symfony und jQuery (Symfony 3.2 / jQuery 3)

Die Dependencies jQuery und Symfony haben beide einen großen Versionssprung von 2 auf 3 erfahren. Es ist also sehr wichtig, dass alle Seiten, die upgedatet werden sollen, vorher ausgiebig getestet werden, um zu vermeiden, dass es durch den Versionssprung zu Bugs kommt. Eigentlich muss es nicht erwähnt werden, aber: NICHT BLIND ODER AUTOMATISIERT UPDATEN!!!

Internet Explorer 9 und 10 werden nicht mehr unterstützt

Da Microsoft im April 2017 den Support für IE 9 & 10 eingestellt hat, folgt nun auch Drupal diesem Beispiel. Es wird somit keine Sicherheits-Updates und Fixes für IE 9 & 10 mehr geben. Lange von vielen Frontend-Devs erwartet, bedeutet dies nun, dass wir uns auf viele tolle neue CSS3-Features freuen können, wenn auch teilweise immer noch mit Polyfills. CSS-Grids z.B. sind nun kein Ding der Unmöglichkeit mehr, wenn man versucht, alle Browser zu unterstützen, die Drupal auch offiziell unterstützt. Die bisher im Core vorhandenen Polyfills & Hacks für IE 9 & 10 werden mit Drupal 8.5 dann komplett aus dem Core verschwinden.