Die Pläne für Joomla 4.1

Nach der Veröffentlichung von Joomla 4.0 habe ich mich online mit Sigrid Gramlinger-Moser und Benjamin Trenkle getroffen, um über den Prozess und die Menschen zu sprechen, die hinter der Entwicklung und dem Testen von Joomla 4.1 stehen, der nächsten Minor-Version von Joomla.

Sigrid Gramlinger-Moser - Ich habe Sigrid zum ersten Mal auf der “JandBeyond Barcelona” getroffen, als wir beide in der Session für automatisierte Tests waren. Sigrid übernahm von mir die Teamleitung für das CMS Release Team und hat diese Gruppe weit über das hinaus entwickelt, was sie geerbt hat. Sigrid ist in der österreichischen Joomla-Gemeinschaft engagiert und ihre Tochter Lena wurde kürzlich in der Geburtstagsausgabe vom Joomla-Magazin vorgestellt.

Benjamin Trenkle – Ihn habe ich auch durch “JandBeyond” und unsere gemeinsame Arbeit im Production Team kennengelernt. Wir haben zusammen an mehreren Projekten innerhalb und außerhalb von Joomla gearbeitet und man kann sagen, dass er mir viel darüber beigebracht hat, wie man guten Code schreibt. Im Gegenzug habe ich versucht, warmes Bier und Cricket zu erklären.

Sigrid, wie bist du in das CMS Release Team gekommen und warum bist du dabei?

Aufgrund eines engen Zeitplans in einem Kundenprojekt wollte ich wissen, ob das für diesen Tag geplante offizielle Release ein Sicherheitsrelease ist. Denn dann müsste ich etwas mehr Zeit für sofortige Updates einplanen. Also habe ich Harald Leithner gefragt, der zu diesem Zeitpunkt der Release Lead war. Er lud mich ein, dem CMS Release Team beizutreten, dann wüsste ich im Voraus Bescheid und könnte die vorgefertigten Pakete testen. Das war im März 2019 und ich bin immer noch im Team.

Was macht dich glücklich an Joomla 4?

Ich genieße das saubere und neue Backend, die Performance im Frontend und die einfachen Updates. Bei ersten Kundenprojekten mit nur wenigen Erweiterungen habe ich mit dem Upgrade begonnen und es hat mich nur ein bis zwei Stunden pro Projekt gekostet. Für mich ist es wirklich eine Mini-Migration – wenn alle Erweiterungen und Templates für J4 bereit sind, braucht die Joomla 3-Website ein Backup (wie immer), ein bisschen Aufräumen, und schon kann es losgehen.

Benjamin, herzlichen Glückwunsch zur Position des Joomla 4.1 Release Lead. Welche aufregenden Dinge hast du für uns in Joomla 4.1 auf Lager?

Vielen Dank, Phil! Ja, es waren aufregende Zeiten in den letzten paar Jahren, Joomla 4 in eine stabile Version zu gießen. Nun ist das größte Problem, das Refactoring der Code-Basis, dank der Hauptversion erledigt. Jetzt besteht unserer Hauptidee darin, weitere kleinere Versionen zu veröffentlichen – mit verlässlichen Veröffentlichungsterminen alle sechs Monate, und einem vordefinierten Satz von Funktionen.

Der geplante Veröffentlichungstermin von Joomla 4.1 ist der 15. Februar 2022.

Wir arbeiten immer noch an der vollständigen Feature-Liste, die am 7. Dezember fertig sein wird, das wird dann der Tag des Feature Freeze sein.

Derzeit steht der Task Scheduler auf der Liste, der Joomla die Möglichkeit gibt, automatisierte Aufgaben auszuführen. Wir haben die Aussicht, eine Multi-Domain-Funktion in Joomla zu implementieren und haben auch einige interessante “Google Summer of Code”-Projekte, die Kandidaten für Joomla 4.1 sein könnten.

Mit all diesen großartigen Funktionen, über die du gerade gesprochen hast, ist der geplante Veröffentlichungstag der 15. Februar 2022. Das sind nur noch fünf Monate!

Ja, das ist sehr ehrgeizig, aber hoffentlich der Beginn von zuverlässigen Veröffentlichungszyklen. Aber um ehrlich zu sein, liegt es nicht an mir, dies zu verwirklichen. Es hängt stark von der Gemeinschaft, ihrem Feedback, ihren Tests und all den guten Eigenschaften ab, die die Joomla-Community in den letzten Jahren zum Strahlen gebracht haben. Wir hoffen, dass dies Vertrauen in den Release-Zyklus bringt und die Sicherheit für Entwickler und Agenturen erhöht, damit sie verlässlich planen können.

Sigrid, das ist ein sehr enger Zeitplan, wie werdet ihr die Funktionen ausreichend testen können, um die Qualität zu gewährleisten?

Wir haben jetzt regelmäßige Teambesprechungen im CMS-Release-Team, in denen wir Probleme mit Releases im Allgemeinen besprechen. Andere Teams und die Entwickler konzentrieren sich mehr auf einzelne PRs (Pull Requests). Das CMS Release Team testet das gesamte Release-Paket in komplexen Umgebungen mit angepassten Templates einschließlich Overrides, verschiedenen Erweiterungen von Drittanbietern, mehreren Sprachen, vielen Benutzergruppen...

Wir haben ein Release Checksheet, in dem wir neue Features hinzufügen und jeder die getesteten Bereiche und PHP-Versionen markiert. In den kommenden Wochen werden wir auch untersuchen, wie wir das Testen im Browser automatisieren und wie wir automatisiert mit vorbereiteten Testfällen arbeiten können. Das wird uns viel Zeit sparen und die Qualität noch weiter verbessern.

Benjamin, wie sieht der Zeitplan aus, um das umzusetzen?

Wir möchten die erste Alpha-Version Ende September herausbringen. Das ist eher eine Veröffentlichung damit wir uns warm laufen, und um den ganzen Prozess zu testen. Sie wird höchstwahrscheinlich nicht viele neue Funktionen enthalten, obwohl wir bereits einige schöne PRs zusammengeführt haben.

Danach planen wir zwei weitere Alphas, Ende Oktober und November und dann die Beta-Phase mit dem erwähnten Feature Freeze am 7. Dezember. Hier werden wir die Frequenz erhöhen und zwei weitere Betas durchführen, eine vor Weihnachten am 21. und eine zu Beginn des kommenden Jahres am 4. Januar. Mit dem Language Freeze am 18. Januar werden wir die RC-Phase (Release Candidate) einleiten, die eine zweite RC-Version am 1. Februar und die endgültige Version am 15. Februar bringen wird.

Ich denke, das wird auch den Testern etwas Luft zum Atmen geben, damit wir nicht von einer Beta/RC zur nächsten hetzen, sondern ihnen ein paar Tage mehr Zeit zum Testen geben können..

Sigrid, wie werdet ihr uns darüber informieren, was getestet werden muss und wann?

Wenn du Joomla in den sozialen Medien verfolgst, wirst du die Veröffentlichungen über die Release Candidates bemerken. Das ist der Zeitpunkt zum Herunterladen und Testen. Du könntest auch unserem Team beitreten und am gesamten Prozess teilnehmen. Wenn Github für dich zu viel Code sein sollte, kannst du dich auch für unseren Newsletter anmelden. Wir werden ein CMS Release Checksheet veröffentlichen, das zeigt, welche Bereiche ihr testen könnt. Wer daran Interesse hat, kann mir gerne einfach eine Nachricht schicken.

Benjamin, inwiefern glaubst du, dass diese Regelmäßigkeit der Veröffentlichungen den Entwicklern zugute kommen wird? Gibt es Vorteile eines festen Zeitplans gegenüber einem funktionsorientierten Veröffentlichungszyklus?

Ein Feature-gesteuerter Release-Zyklus ist meiner Meinung nach sehr gut für unabhängige Projekte, bei denen man selbst der Chef ist. Aber für Agenturen und Entwickler ist er die Hölle, da er langfristig nicht vorhersehbar ist. Wir hoffen auch, dass die Leute mit diesem festen Zeitrahmen planen können und Zeit zum Testen haben. Besonders die Entwickler von Drittanbietern, um sicherzustellen, dass ihre Erweiterungen und Templates kompatibel sind.

Sigrid, hilft dieser Zyklus auch euch?

Ja, denn wir können im Voraus planen und Zeit für das Testen einplanen. In unserer täglichen Routine bleibt oft nicht genug Zeit, aber wenn die RC-Termine im Voraus veröffentlicht werden, ist es möglich, auch im Voraus zu planen. Außerdem ist ein hoher Koordinationsaufwand zwischen den verschiedenen Teams erforderlich, weil so viele Leute beteiligt sind. Wenn die Veröffentlichungstermine öffentlich sind, ist die Kommunikation viel einfacher.

Benjamin, wenn ich eine neue Funktion in Joomla 4.1 einführen möchte, wie kann ich vorgehen, damit meine neue Funktion aufgenommen wird?

Zunächst einmal muss die Funktion vor dem 7. Dezember fertig und getestet sein, sonst kann sie nur in 4.2 oder später aufgenommen werden. Ab diesem Datum werden wir keine neuen Funktionen mehr annehmen. Aber um es wirklich hineinzubekommen, gibt es natürlich einen vordefinierten Prozess und auch den "free-floating"-Weg.

Letzteres bedeutet, dass Du das Feature in deinem eigenen Repository umsetzt und dann einen PR im Joomla Haupt-Repo erstellst. Das ist einerseits der einfachere Weg, was die Formalitäten angeht, birgt aber auch das Risiko, dass man gar nicht angenommen wird.

Der sichere Weg ist die Verwendung des RFC-Prozesses, bei dem man zuerst die Genehmigung erhält und dann mit der Umsetzung beginnt. Es bleibt den Entwicklern überlassen, welchen Weg sie wählen. Und am Ende hängt es auch von den Tests ab.

Sigrid, jeder kann testen, aber nicht jeder will Teil des Release-Teams sein. Wie können die Leute beim Testen helfen?

Wie schon erwähnt werden wir ein CMS Release Checksheet veröffentlichen - das wird wahrscheinlich ein PDF und/oder ein Excel Sheet oder Google Sheet sein. Jeder kann den dort aufgeführten Bereichen folgen und das Release testen. Wer ein Problem findet und nicht mit GitHub vertraut ist, kann uns auch einfach einen Nachricht schreiben.

Benjamin, welche Funktionen in Joomla 4.0 werden hoffentlich die Entwicklung in 4.1 einfacher und effizienter machen?

Ich könnte hier viele Verbesserungen erwähnen, aber was mir wirklich gefällt, sind die Verbesserungen in der Code-Basis, die es den Entwicklern erlaubt, Komponenten mit weniger Code als in Joomla 3 zu schreiben. Außerdem Prepared Statements, die eine neue Sicherheits-Ebene bringen, die jedem hilft.

Sigrid, was ist für dich die wichtigste Funktion von Joomla 4.1?

Für mich klingt der Scheduler sehr vielversprechend, um einfach Cronjobs im Backend einzurichten, und ich habe einen potentiellen Kunden für Multi-Domain, also wäre das auch toll.

Was ist für dich, Benjamin, das wichtigste Merkmal von Joomla 4.1?

Das wichtigste Feature wird hoffentlich die Tatsache sein, dass wir die Veröffentlichungstermine von Anfang an versprechen und alle Termine halten können.
Außerdem freue ich mich auch auf den Scheduler.

Englischer Originaltext im Joomla Community Magazine