“Be ready to be blown away by eZ Publish 5. It will indeed be running on Symfony 2 full stack, including the HMVC front-controller and Twig as template engine.” – eZ Publish Community Blog

Uns als Spezialisten für eZ Publish hat diese Ankündigung neugierig gemacht. Deshalb haben wir die Pre-Alpha-Version von eZ Publish 5 gleich mal näher unter die Lupe genommen. Hier unsere ersten Eindrücke.

eZ Publish 5 verwendet nicht Symfony…

…eher ist es andersherum. Es ist, wie im Blogartikel von eZ Systems angekündigt, eben nicht der Fall, dass eZ Publish 5 ein um einzelne Symfony Components angereichertes eZ Publish 4 sein wird. Es handelt sich vielmehr um eine von eZ herausgebrachte Symfony Distribution mit eigens erstellten Bundles. Diese erweitern eine standardmässige Symfony-Installation um die von eZ Publish gewohnten CMS-Funktionalitäten. In diesem Zuge gibt eZ Systems auch ihre auf Modulen basierende Architektur auf. Fortan soll diese schrittweise Symfonys bewährter MVC-Architektur weichen.

Die Architektur der Pre-Alpha-Version von eZ Publish 5 im Überblick

Gestärkter Open-Source-Gedanke

Die Strategie von eZ Systems, mit dem Symfony Framework auf Komponenten für die Webentwicklung zurückzugreifen, welche nicht von einem einzigen, sondern von gleich mehreren Open-Source-Projekten genutzt werden – darunter jüngst auch Drupal – wird von der eZ Publish Community überwiegend positiv aufgenommen. Auch YMC als Verfechter des Open-Source-Gedankens stimmt diese Entscheidung zuversichtlich: Statt vieler Komponenten, die jedes mal “das Rad neu erfinden”, gibt es so einige wenige gemeinsam genutzte Komponenten, die von den verschiedenen Communitys auch gemeinsam zur Reife entwickelt werden können und auf dem neuesten technologischen Stand sind. Mit Symfony CMF gibt es sogar schon ein Projekt, dass genau dieses Ziel speziell im CMS-Bereich angehen möchte.

Endlich vollständige Testbarkeit

Durch die Verwendung eines ausgereiften PHP-Frameworks (was Symfony zweifelsfrei ist), stehen in eZ Publish mit einem Schlag auch eine Vielzahl neuer Möglichkeiten zu Verfügung. Neben weiteren Features, um die man das CMS dadurch anreichern kann, erfreuen uns aus Entwicklersicht insbesondere die Möglichkeiten, Code zu testen. War es in der Vergangenheit praktisch unmöglich, den Code von eZ Publish – egal ob in Originalzustand oder erweitert – durch Unit Tests und Functional Tests vollständig zu testen, erzwingt Symfony nun eine “testbare” Code-Struktur und liefert die Unterstützung für gängige Test-Tools gleich mit. Hinsichtlich Stabilität und Wartbarkeit ist das ein Meilenstein in der Geschichte von eZ Publish.

Rückwärtskompatibilität zu eZ Publish 4 – wirklich ein Feature?

Die finale Version von eZ Publish 5 soll in der Weise rückwärtskompatibel sein, dass Bestandteile einer bestehenden Installation von eZ Publish 4 übernommen werden können. Das ist sicherlich ein unverzichtbares Feature im Hinblick auf die Migration einer ausgewachsenen CMS-Lösung von Version 4 auf Version 5 von eZ Publish. Im momentanen Pre-Alpha-Stadium von eZ Publish 5 können bereits schon solche “Legacy”-Bestandteile ohne grossen Aufwand übernommen werden – bspw. Content-Objekte und Templates. Jedoch ist das Zurückgreifen auf eZ Publish 4 (noch) keine Option, sondern Zwang: eZ Publish 5 läuft nur mit einem installierten und vollständig konfigurierten eZ Publish 4. Ein gänzlich davon unabhängiges eZ Publish 5 soll es geplant frühestens zwei Jahre nach dem erstmaligen Stable-Release geben.

Noch viele offene Fragen

Hinsichtlich der von eZ Publish bekannten CMS-Konzepte ist teilweise schon im Detail geklärt, wie diese in Version 5 umgesetzt sein werden (MVC statt Module/View-System, Twig statt eigener Template Engine). Es gibt aber auch viele Stellen, an denen bis dato Unklarheit oder gar völlige Planlosigkeit herrscht. Es ist schnell erkennbar, dass noch einige eZ-spezifische Symfony Components “fehlen”. So ist z.B. dynamisches Routing nach der URL-Systematik des “alten” eZ Publish prinzipiell machbar, jedoch muss man hierfür (noch) selbst Hand anlegen und das sehr generische Routing von Symfony entsprechend anpassen. Oder es wird mit eZ Publish 5 gleich eine neue URL-Systematik eingeführt werden – eine der vielen offenen Fragen.

Fazit

Bevor es soweit kommt, ist allerdings noch viel Arbeit zu erledigen. Neben dem frühen Stadium in dem sich der Code von eZ Publish 5 befindet, weiss man bei eZ Systems wohl auch noch nicht ganz genau wo die Reise genau hingehen soll. Zwar gibt es viele Ideen, aber noch keine Roadmap, welche im Detail auf technische Aspekte eingeht. Es ist zu befürchten, dass sich die Ablösung von eZ Publish 4 – sowohl was die technische Abhängigkeit in der Pre-Alpha-Version wie auch den frühestmöglichen Produktiveinsatz von eZ Publish 5 betrifft – länger hinziehen wird als geplant. Andererseits hat die eZ Publish Community nun aber die einmalige Gelegenheit, das neue eZ Publish grundlegend mitzugestalten. Bei YMC werden wir das Thema eZ Publish 5 jedenfalls weiterhin aktiv verfolgen: Es werden weitere Blogartikel folgen, in denen wir uns fragen werden, wie einsatzfähig eZ Publish 5 bereits ist und wie man eine Migration von eZ Publish 4 angehen könnte.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *