Gib mir fünf! eZ Platform läuft auf Symfony 5 und PHP 7.4
Die letzten paar Monate waren für viele von uns eine außergewöhnliche Zeit. Das Coronavirus bestimmt größtenteils immernoch unseren Alltag. Nicht nur, dass wir unseren täglichen Abläufe anpassen, sondern auch unsere Freizeit neu definieren mussten. Vieles gestaltet sich jetzt neu im Home-Office und bei Ibexa sieht es nicht anders aus, obgleich wir es bereits gewohnt waren, an verschiedenen Orten oder von zu Hause zu arbeiten. Unsere Routinen haben sich geändert, aber nicht die Kontinuität unserer Arbeit.
Wir haben uns also nicht auf unseren Lorbeeren ausgeruht, sondern womöglich noch härter gearbeitet als jemals zuvor. An dieser Stelle möchte ich gerne einige wichtige technische Highlights aus unserer neuesten Version, eZ Platform Version 3.0.0, mit Ihnen teilen, denn diese Version bringt viele neue Funktionen für Benutzer mit sich.
eZ Platform läuft nun auf Symfony 5
Die eZ Platform 3 basiert auf einem hohen technischen Aufwand, um in Zukunft ein noch besseres Produkt zu entwickeln. Während wir in eZ Platform 2 die Front-End-Architektur überarbeitet haben, haben wir die UI-Konzepte in Version 3 weitgehend unverändert gelassen. Stattdessen haben wir einige innerbetriebliche und API-Änderungen sowie Repository-Verbesserungen vorgenommen.
Eine übergeordnete Aufgabe, die viele Teile unserer Codebasis betraf, war ein Upgrade des Symfony-Frameworks. Der Prozess wurde letzten November in einem Blogbeitrag von Maciej Kobus beschrieben, der unsere Migration von Symfony 3.4 leitete:
I think the single biggest issue we had was simply the amount of packages we maintain. It was mentioned in previous answer, but I will repeat myself: it isn't easy if you are dealing with that many dependencies.
eZ Platform v3.0 läuft auf Symfony 5.0. Dies ist die neueste Version des beliebten PHP-Frameworks, mit dem wir die Entwicklung intern beschleunigen können. Aufgrund des Back-to-Basics-Ansatzes in Symfony 4 können unsere Partner jedoch auch bei Implementierungsprojekten mit eZ Platform 3.x eine höhere Entwicklungsgeschwindigkeit erzielen. Darüber hinaus erhalten Entwickler Zugriff auf die neuesten Funktionen des Symfony-Ökosystems.
Bereit für ein Upgrade auf PHP 7.4
Zusätzlich zu vielen internen Anpassungen, um die eZ Platform mit Symfony 5 kompatibel zu machen, hat unser Engineering-Team viel Zeit darauf verwendet, den Code mit den neuesten Versionen der PHP-Laufzeit kompatibel zu machen (und neue Funktionen zu nutzen), auf denen Millionen von Webseiten auf der ganzen Welt laufen. Die Verwendung der neuesten PHP-Version bietet zudem wichtige Vorteile: Sie können Ihre Performance steigern und saubereren Code mit neuer Syntax und neuen Funktionen schreiben.
Zum Zeitpunkt der Veröffentlichung von eZ Platform 3.0.0 Anfang April haben wir 7.4 - die neueste Version von PHP - noch nicht offiziell unterstützt. Dies ist der letzte Schritt, bevor der nächste Sprung in die schöne neue Welt von PHP 8 erfolgt. Die neueste stabile Version verbessert die Geschwindigkeits- und Sprachfunktionen wie das Foreign Function Interface (FFI) und das OPCache Preloading. Die Unterstützung für PHP 7.4 in der eZ Platform war eine Frage der Validierung. Ich war erfreut festzustellen, dass diese Bemühungen nun abgeschlossen sind und das neueste Patch-Update, eZ Platform v3.0.2, mit PHP 7.4 kompatibel ist.
Das für mich interessanteste Feature in PHP 7.4 ist OPCache Preloading. Es ermöglicht signifikante Leistungsverbesserungen für komplexe Apps (wie eZ Platform), sodass wir mit weniger Rechenressourcen mehr erreichen können. Meine ersten Erfahrungen mit OPCache Preloading haben gezeigt, dass das Erreichen der Kompatibilität nicht einfach ist. Das Symfony-Team hat an der Kompatibilität gearbeitet und Nicolas Grekas teilte ein Update hierzu auf der Symfony Live Online-Konferenz.
Wie Sie sich vorstellen können, ist es derzeit schwer zu sagen, wann die eZ Platform mit OPCaching validiert und auf den neuesten Stand gebracht wird, wozu ich auch keine Versprechungen bezüglich der technischen Zeitpläne machen möchte. Dennoch werde ich dem auf den Grunde gehen, welche Art von Leistungsverbesserungen des OPCache Preloadings für unsere Partner und Kunden ermöglicht werden.
Auch wir nutzen die neueste Version
Wie Sie sehen, war unser Engineering-Team sehr seit Anfang des Jahres beschäftigt. Wie Sie vielleicht auch bemerkt haben, haben wir als Unternehmen ebenfalls einen größeren Wandel durchlaufen, als wir in der letzten Aprilwoche unseren Namen von eZ Systems in Ibexa geändert haben. Für mich und einige andere im Unternehmen scheint dies bereits eine Ewigkeit her zu sein, da wir alle an der Umstellung der Website gearbeitet haben.
Die alte Webseite von eZ Systems war ohne Frage in die Jahre gekommen. Zwar haben wir einige Sachen neugestaltet und Aktualisierungen vorgenommen, aber dies war sehr oberflächlich - Sie wissen ja wie es läuft. Als Teil der Markenerneuerung haben wir uns jedoch zum Ziel gesetzt unsere Webpräsenz komplett zu überarbeiten. Natürlich haben wir die Webseite selbst mit eZ Platform erstellt. Jedoch mit welcher Version?
Als wir uns dazu entschieden haben unsere Webseite neu zu erstellen, wurde eZ Platform 3.0.0 Beta 5 erst Ende Januar 2020 veröffentlicht. Nach einem ersten Prototyping und das Testen der Stabilität, entschieden wir uns für eine Veröffentlichung mit Version 3.0. Hier haben wir uns jedoch die Hintertür eZ Platform 2.5 LTS offen gehalten, falls wir doch einige Barrieren entdecken. In den weiteren Monaten kam es zu einigen Überraschungen, aber wir konnten die Entwicklung der Webseite ohne größere technische Probleme fortsetzen.
Dies führte zum Launch der endgültigen Dokumentationsverbesserungen in Version 3.0.0 (High Five an unser Dokumentationsteam in Krakau!) zur zusätzlichen Stabilität, die das Arbeiten beschleunigte. Es gab zwar immer noch einige Probleme mit wichtigen Abhängigkeiten (Netgen Tags und Novactive SEO Bundle), aber ohne diese möchte ich nicht leben müssen. Wir haben bei diesen Paketen mit Netgen und Novactive zusammengearbeitet und gemeinsam mit den Launch der neuen Webseite eine stabile eZ Platform v3-kompatible Version beider Pakete erhalten.
Nun sind wir mit der neuesten Version von eZ Platform live, gehostet in eZ Platform Cloud und nutzen somit unser eigenes Produkt - unsere DXP. Ein großes Dankeschön an alle, die dies möglich gemacht haben.
P.S. Virtual High Five! (die sind in Ordnung).
eZ Platform ist nun Ibexa DXP
Ibexa DXP wurde im Oktober 2020 veröffentlicht und ersetzt den Produktnamen eZ Platform. Damit einhergehend steht eine Weiterentwicklung der Technologie. Erfahren Sie mehr dazu in dem Blogpost Vorstellung der Ibexa DXP v3.2, um mehr über die DXP und den Produkten Ibexa Content, Ibexa Experience und Ibexa Commerce zu erfahren.