Neuigkeiten zu Joomla 4.0 …

Joomla 4 wird dank der vielen ehrenamtlichen Entwickler und Helfer auf freiwilliger Basis aktiv weiterentwickelt. In den letzten Monaten hat sich eine ganze Menge getan, deshalb möchten wir nicht nur Entwickler über den aktuellen Stand informieren.

Bevor der Beta-Zyklus erreicht wird (was hauptsächlich Feature Freeze bedeutet, d.h. es kommen keine neuen Funktionen mehr dazu), möchten wir diese wichtigen Informationen zur Verfügung stellen:

  • Technische Anforderungen
  • Verbessertes Suchsystem
  • Neuer Code Style Checker


Neue technische Anforderungen

Die Web-Industrie entwickelt sich schnell und die Technologie noch schneller. Joomla muss entsprechend handeln, um weiterhin eines der besten, beliebtesten und meist verwendeten Content-Management-Systeme zu bleiben und den Ansprüchen seiner Anwender gerecht zu werden. Deshalb wurde entschieden, die technischen Anforderungen für Joomla 4 höher zu setzen.

Da sich Joomla 4.0 und Joomla Framework 2.0 bereits seit mehreren Jahren in der Entwicklung befinden, wurde entschieden, die unterstützten Software-Versionen neu zu bewerten und das CMS für die kommenden Jahre zu optimieren. Dank der Benutzer, die das Statistik-Plugin aktivieren, können wir nun auch diese wichtigen Informationen in die Entwicklung einfließen  lassen und uns an dem ausrichten, was unsere Benutzer bereits einsetzen.

 

PHP-Mindestanforderung PHP 7.2

7.2 und 7.3 sind derzeit die einzigen aktiv unterstützten Release-Zweige von PHP, wobei PHP 5 seit Dezember 2018 nicht mehr unterstützt wird und PHP 7.1 nur noch bis Dezember 2019 Sicherheits-Fixes erhält.

Bis zur Veröffentlichung von Joomla 4 wird die älteste unterstützte PHP-Version, 7.2, noch weniger als ein Jahr Sicherheitsunterstützung haben. Dies ermöglicht es uns, die Vorteile der nativen PHP-Natrium-Verschlüsselung ohne Polyfill sowie ungültige Typdeklarationen zu nutzen, die für die neuen Schnittstellen in Joomla 4 nützlich sein werden. Bei der Auswahl dieser Version war es für uns nützlich, aus dem Statistik-Plugin zu erkennen, dass es doppelt so viele Benutzer auf PHP 7.2 als 7.1 gibt.

 

MySQL-Mindestanforderung 5.6

5.6, 5.7 und 8.0 sind die derzeit unterstützten Versionen der MySQL-Datenbank. Die Version 5.5 erreichte ihr Ende im Dezember 2018, während MySQL 5.6 bis Februar 2021 unterstützt wird.

Beachte, dass die minimale MySQL-Version sich während der Lebensdauer von Joomla 4 ändern kann, falls das nötig wird.  So könnten wir in Zukunft MySQL 5.7 verwenden, was die Verwendung des Datenbanktyps JSON in MySQL-Spalten ermöglichen würde.

 

PostgreSQL Mindestanforderung 11

Einmal im Jahr wird eine neue Hauptversion von PostgreSQL mit neuen Funktionen veröffentlicht. Mindestens einmal alle drei Monate erhält die Hauptversion Bug- und bei Bedarf Sicherheits-Updates.

Manchmal war es nicht einfach, alle verschiedenen verfügbaren Versionen von PostgreSQL zu unterstützen. Um Joomla 4 noch stabiler zu machen und da fast die Hälfte unserer aktuellen PostgreSQL-Anwender bereits auf Version 11 sind, wurde die Entscheidung getroffen, nur die neueste Version 11 und höher zu unterstützen (Version 11 wird EOL im November 2023 erreichen).

 

Supportende für Internet Explorer

Es gibt ein paar Gründe für die Entscheidung, die Unterstützung für den IE einzustellen. Weniger als 5% der Internetnutzer surfen mit dem Internet Explorer im Internet. Der neue Edge-Browser (basierend auf Chromium) verfügt über eine IE-Kompatibilitätsschicht, die die IE-Nutzung weiter nach unten bringt.

 

Bedeutet das, dass Joomla 4 im IE nicht funktioniert? Ja und Nein!

Das Joomla 4 Backend Template wird den IE nicht unterstützen. Ein anderer Browser ist nötig, um eine Website zu installieren/pflegen. Das Gleiche gilt für das Frontend-Template Cassiopeia, da sie die IE-Anforderungen nicht unterstützt, so dass man mit einigen Anzeige Problemen rechnen kann. Es kann jedoch gelöst werden, indem man ein Template erstellt oder installiert, das  den IE unterstützt.

 

Wie wird sich das auf den Joomla-Core auswirken?

Da wir den PHP 5-Support auslaufen lassen, gibt es zahlreiche Funktionen und Optimierungen, die wir in unserem Code vornehmen können. Viele dieser Änderungen können vorgenommen werden, ohne die bestehende öffentliche API zu beeinträchtigen. Einige Funktionen (z.B. Scalar type hinting) würden jedoch bei Akzeptanz zu Rückwärts-Kompatibilitätsproblemen führen.

Daher werden wir die folgenden Richtlinien in Bezug auf Joomla 4.0 und Joomla Framework 2.0 für neuen und bestehenden Code anpassen:

  • Alle neuen Klassen und Methoden in den neuen Hauptversionen können alle in PHP 7.2 verfügbaren Funktionen nutzen, einschließlich Scalar type hinting und Return type declarations.
  • Private  Methoden und Methoden in finalen Klassen (die per Definition nicht  erweitert werden können) können aktualisiert werden, um in PHP 7.2 verwendet zu werden.
  • Public und protected Methoden in bestehenden Klassen werden im Allgemeinen nicht geändert, es sei denn, die Änderung verbessert das Verständnis und die Verwendung des Codes (z.B. Methoden, die variable Signaturen verwenden könnten).
  • Auf die Verwendung komplizierter Polyfills, die nur den IE unterstützen sollten, wird zugunsten von CSS-Variablen und Flexbox verzichtet.

 

Ein einziges verbessertes Suchsystem

In dieser  Hauptversion evaluieren wir alle Erweiterungen und Konzepte, um das Leben für jeden Joomla-Anwender einfacher zu machen. Ein Problem in Joomla seit dem Release 2.5 ist die Suche. Joomla 4.0 wird hier einen großen Schritt nach vorne machen und wir möchten dazu mehr Information geben.

 

Was ist das Problem?

Joomla hat seit Jahren zwei Suchsysteme zur Verfügung gestellt: Das erste ist Search (oder com_search), das aus der Mambo-Zeit stammt und sich seitdem nicht wirklich weiterentwickelt hat. Das andere ist Smart Search (oder com_finder), das freundlicherweise für Joomla 2.5 gespendet wurde, aber nicht 100% ausgereift war.
Zwei völlig getrennte Systeme für die gleiche Aufgabe machen es den Anwendern nicht leicht und führen oft zu Verwirrung. Ganz zu schweigen davon, dass Core-Entwickler beide Systeme unterstützen müssen.

 

Was ist der Unterschied zwischen Search und Smart Search?

Search ist ein sehr einfaches System, das eine Gruppe von Plugins aufruft, um eine naive Suche in der Datenbank nach dem Suchbegriff durchzuführen und eine Reihe von Ergebnissen zu erhalten. Sie reagieren auf jede Erwähnung dieses Begriffs, aber auch nur auf genau diesen Begriff. Wenn viele Daten und Such-Plugins vorhanden sind, kann dies die Leistung der Website beeinträchtigen. Die Ergebnisse sind nicht geordnet, aber der Code, der für die Erstellung eines solchen Plugins benötigt wird, ist einfach.

Auf der anderen Seite ist Smart Search eine indexbasierte Suche. Die Suche in einem Index hat viele Vorteile, die Reihenfolge der Ergebnisse nach Relevanz, eine Art unscharfe Suche, bei der Varianten von Wörtern gesucht werden und weniger Performance-Auswirkungen. Das Smart Search System ist leistungsfähiger, erfordert aber ein wenig Arbeit, da der Index aufgebaut werden muss.

 

Was haben wir gemacht?

Im vergangenen Jahr wurde Smart Search komplett überarbeitet. Wir haben die Datenstruktur und die Art und Weise, wie Smart Search die eigentliche Suche durchführt, verbessert, um die Performance deutlich zu erhöhen. Wir haben mehrere seit langem bestehende  Fehler behoben und das Taxonomie-System überarbeitet. Am wichtigsten ist, dass wir viele Fehler im Zusammenhang mit der Mehrsprachigkeit behoben haben.

Mit all diesen Änderungen liefert Smart Search die besten Suchergebnisse. Deshalb haben wir uns entschieden, das einfache Suchsystem aus dem Joomla 4.0 Core zu entfernen.

An dieser Stelle möchten wir uns bei cloudaccess.net bedanken, die die Verbesserung des Smart Search-Systems mitfinanziert haben.

 

Wie kann ich von Search zu Smart Search upgraden?

Die beiden Systeme sind sehr unterschiedlich und es gibt keine wirkliche Möglichkeit, ein Upgrade mit einem Klick auf das andere durchzuführen. Wenn du derzeit die Suche auf deiner Website verwendest und zu Smart Search wechseln möchtest, musst du das System einrichten. Aktiviere das Plugin, erstelle einen Index der Inhalte (mit nur einem Klick!) und mache die Suche für Besucher verfügbar, indem du einen Menüpunkt oder ein Modul (oder beides) erstellst.
Weitere Informationen über die intelligente Suche und deren Einrichtung erhältst du, wenn du auf die Schaltfläche Hilfe im Backend klickst.

Extension-Entwickler sollten Smart Search-Plugins für ihre Erweiterungen einrichten.

 

Aber ich brauche die alte Suche!

Wenn du wirklich nicht auf Smart Search umsteigen möchtest, könntest du das alte Suchsystem weiterhin als separate Erweiterung auf neuen Joomla 4-Seiten installieren. Dieses Paket wird auf der Download-Seite (https://downloads.joomla.org) verfügbar sein und während der gesamten Lebensdauer von Joomla 4 gepflegt. Wenn du von einer Joomla 3 Website upgradest, dann wird die alte Suche nicht entfernt – genau wie bei der Entfernung von Weblinks in Joomla 3.3.

 

Automatische Korrektur von Code-Form-Fehlern

Mit der Implementierung von PHP CodeSniffer 2.x kommt die Fähigkeit, automatisch viele Codestilfehler zu beheben. Unsere benutzerdefinierten Sniffs im Coding-Standard haben auch diese Autofixer-Funktion hinzugefügt. Dies sollte Entwicklern und den Joomla-Projekten viel Zeit ersparen, um die Einhaltung der Codestandards ohne manuelle Eingriffe zu gewährleisten. Wir arbeiten bereits an der Migration zu PHP Codesniffer 3.x, um sicherzustellen, dass wir auf der neuesten und besten Version in Joomla 4 sind.

Wir möchten uns bei Walt Sorenson bedanken, der sich viel Zeit für die Arbeit am Codesniffer-Regelsatz für Joomla genommen hat. Im Sinne von Open Source wurden viele unserer Joomla-Tweaks zurück in das Codesniffer-Projekt eingebracht.

Wir sind fest entschlossen, die Erfolgsgeschichte von Joomla gemeinsam fortzuschreiben und Joomla 4 zur besten Generation zu machen. Die Übernahme der oben genannten Punkte wird dazu beitragen.

 

 

Herzlichen Dank an alle freiwilligen Helfer

Dieser Artikel wurde übersetzt und Korrektur gelesen von Angélique Brix, Christiane Maier-Stadtherr, Ulrich Damm und Tobias Zulauf. Wir laden alle Joomler zum Mitmachen ein. Joomla! wächst und entwickelt sich nur dank eines beherzten Teams von Freiwilligen. Werde Übersetzer – Du sprichst Englisch und noch eine andere Sprache? Dann hilf Joomla! mit der Welt zu sprechen!

Originaltext in Englisch

 

Interessante Links zu Joomla 4.0:

 

Joomla! Pizza, Bugs and Fun - am 19. Oktober 2019