| Door: Martijn Maandag. | Categorie: Versies.

Joomla 4 is onderweg

Joomla 4, onze volgende hoofdversie, wordt dankzij onze grote vrijwilligers community actief ontwikkeld. Er is de afgelopen maanden veel gebeurt!

Voordat de Beta reeks wordt bereikt (wat meestal een functie-stop betekent), willen we belangrijke informatie delen met betrekking tot:

  • Technische vereisten
  • Verbeterd zoeksysteem
  • Nieuwe codestijl controle.

Een verhoging van de technische vereisten

De web-industrie beweegt snel en Joomla moet zich overeenkomstig gedragen om aan de top te blijven en zijn gebruikers tevreden te houden. We hebben daarom besloten de technische vereisten aan Joomla 4 te verhogen.

Aangezien Joomla 4.0 en het Joomla framework 2.0 een aantal jaren in ontwikkeling zijn hebben we besloten onze ondersteunde software versies opnieuw te evalueren om het CMS te optimaliseren voor de komende jaren en te volgen wat onze gebruikers al gebruiken (informatie die we kunnen gebruiken dankzij de gebruikers die onze statistische plugin activeren).

PHP minimum naar PHP 7.2

7.2 en 7.3 zijn momenteel de enige actief ondersteunde releases van PHP, waarbij PHP 5 sinds december 2018 niet meer wordt ondersteund en PHP 7.1 alleen veiligheid fixes krijgt tot december 2019. Tegen de tijd dat Joomla 4 wordt uitgebracht, heeft de oudst ondersteunde PHP versie, 7.2, minder dan een jaar veiligheidsondersteuning voor de boeg. Dit geeft ons de mogelijkheid voordeel te hebben van de native php sodium encryptie zonder een polyfill, evenals void type declaraties welke handig zullen zijn bij de nieuwe interfaces in Joomla 4. Terwijl we voor deze versie kozen was het handig uit de statistische plugin te weten dat er twee keer zoveel gebruikers met PHP 7.2 waren als met 7.1.

MySQL minimum naar 5.6

5.6, 5.7 en 8.0 zijn de momenteel ondersteunde versies van de MySQL database. Versie 5.5 bereikte zijn end-of-life in december 2018, terwijl MySQL 5.6 ondersteund wordt tot februari 2021. Let erop dat de minimum MySQL versie, indien noodzakelijk, onderdeel van verandering kan zijn tijdens de levensduur van Joomla 4, aangezien we in de toekomst naar het gebruik van MySQL 5.7 kunnen kijken, wat ons het gebruik van het JSON database type in MySQL kolommen geeft.

PostgreSQL minimum naar 11

Er wordt eenmaal per jaar een hoofdrelease uitgebracht van PostgreSQL welke nieuwe functies bevat. Minstens eenmaal per drie maanden krijgt de hoofdversie bug- en, indien noodzakelijk, veiligheiddsfixes. We vonden het soms lastig alle verschillende versies van PostgreSQL te ondersteunen. Om Joomla 4 stabieler te maken en omdat ongeveer de helft van onze huidige PostgreSQL gebruikers al op versie 11 zitten, is de keuze gemaakt alleen de laatste 11 versie en hoger te ondersteunen (versie 11 bereikt EOL in november 2023).

Stop ondersteuning voor Internet Explorer

Het besluit om te stoppen met de ondersteuning voor IE is gebaseerd op een aantal criteria. Minder dan 5% van de mensen gebruikt Internet Explorer. De nieuwe Edge browser (gebaseerd op Chromium) zal een ingebouwde IE compatibility layer hebben, welke het IE gebruik verder zal verminderen.

Betekent dit dat Joomla 4 niet werkt in IE? Ja en Nee!

De Joomla 4 backend template ondersteund IE niet, je hebt daarom een andere browser nodig om een website te installeren/onderhouden. Hetzelfde geldt voor het core frontend template, Cassiopeia, aangezien het de IE vereisten niet ondersteund, je kunt dus wat weergave problemen verwachten. Het kan echter opgelost worden door een template te installeren dat IE ondersteunt.

Hoe zal dit de core code beïnvloeden?

Als we PHP 5 ondersteuning uitfaseren dan zijn er talloze functies en optimalisaties die we in onze code kunnen doorvoeren. Veel van deze wijzigingen kunnen worden aangebracht zonder de publieke API te beïnvloeden, sommige functies echter (bijvoorbeeld, scalar type hinting) zouden backward compatibility breaks opleveren, als we ze doorvoeren. We zullen daarom, voor nieuwe en bestaande code wat betreft Joomla! 4.0 en het Joomla! framework 2.0, het volgende beleid gebruiken:

  • Alle nieuwe classes en methodes in de nieuwe hoofdversies kunnen gebruik maken van alle functies die beschikbaar zijn in PHP 7.2, inclusief scalar type hints en return type declaraties
  • Private methodes en methodes in final classes (die standaard niet kunnen worden extended) mogen worden geüpdatet om PHP 7.2 typing te gebruiken
  • Public en protected methodes in bestaande classes mogen standaard hun method signatures niet laten veranderen behalve als de wijziging het begrip en het gebruik van de code verbetert (bijvoorbeeld, methodes die variadic signatures kunnen gebruiken)
  • De core base stopte het gebruik van complicated polyfills, alleen om IE te ondersteunen, voor CSS variabelen en flexbox.

Eén enkel en verbeterd zoeksysteem

Als hoofdversie, evalueren we alle extensies en opvattingen om het leven voor iedere Joomla-gebruiker makkelijker te maken. Een probleem in Joomla sinds de 2.5 release was het zoeken. Joomla 4.0 maakt een grote stap voorwaarts en we willen je hier alles over vertellen.

Wat is het probleem?

Joomla leverde jaren twee zoeksystemen. De eerste is Zoeken (of com_search), dat stamt uit de Mambo tijd en is sindsdien niet geëvolueerd. De andere is 'Slim zoeken' (of com_finder) dat vriendelijk aangeboden werd in Joomla 2.5, maar het was niet 100% gepolijst.

Twee compleet gescheiden systemen voor dezelfde taak maakt het niet makkelijk voor gebruikers en leidt vaak tot verwarring. Zonder te noemen dat core ontwikkelaars beide systemen moeten ondersteunen.

Wat is het verschil tussen Zoeken en Slim zoeken?

Zoeken is een eenvoudig systeem dat een groep plugins aanroept om een zoekopdracht in de database uit te voeren met de zoekterm en een serie resultaten teruggeeft. Ze reageren op ieder voorkomen van die zoekterm, maar ook op de exacte zoekterm. Als je veel gegevens en zoekplugins hebt, kan dat de performance van je site beïnvloeden. Het resultaat staat niet op volgorde, maar de code om zo'n plugin te maken is eenvoudig.

Aan de andere kant is Slim zoeken een op een index gebaseerde zoekfunctie. Een index doorzoeken heeft veel voordelen, het sorteren op relevantie, een wazige zoekfunctie, waarbij vormen van woorden gezocht worden en minder performance impact. Het Slim zoeken systeem is krachtiger, maar vraagt wat werk, aangezien je de index moet opbouwen.

Wat hebben we gedaan?

In het afgelopen jaar heeft Slim zoeken een complete revisie ondergaan. We hebben de gegevensstructuur verbeterd en de manier waarop Slim zoeken de artikelen doorzoekt om de performance aanzienlijk te verhogen. We hebben diverse al lang bestaande bugs opgelost en de opbouw van het systeem fijn geslepen. Als allerbelangrijkste heb we veel bugs opgelost met betrekking tot meertaligheid.

Met al deze wijzigingen levert Slim zoeken je de beste zoekresultaten. We hebben daarom besloten het eenvoudige zoeksysteem uit de core van Joomla 4.0 te verwijderen.

We gebruiken deze gelegenheid om cloudaccess.net te danken welke de verbetering van Slim zoeken gedeeltelijk financierde.

Hoe upgrade ik van Zoeken naar Slim zoeken?

De twee systemen zijn erg verschillend en er is geen duidelijke weg om te upgraden van de een naar de ander met een enkele klik op een knop. Als u Zoeken nu gebruikt op uw website en wilt overgaan naar Slim zoeken, dan moet u dat systeem opzetten. Geen paniek, het is eenvoudiger dan het lijkt: Activeer de plugin, maak een index voor uw inhoud aan (het is één klik!) en maak uw zoeken beschikbaar voor uw bezoekers door een menu-item of module aan te maken (of beide).
Klik, voor meer informatie over Slim zoeken en hoe het in te stellen op de help-knop in uw beheergedeelte.

We moedigen onze extensiebouwers aan om zo snel mogelijk een Slimzoeken-plugin voor hun extensie te bouwen, om hun gebruikers te helpen.

Maar ik heb de oude Zoeken nodig!

Als je echt niet naar Slim zoeken wilt omschakelen, dan kun je het legacy Zoeksysteem installeren als een aparte extensie binnen nieuwe Joomla 4 websites. Dit pakket zal beschikbaar zijn op de Download site (https://downloads.joomla.org) en zal onderhouden worden zolang Joomla 4 bestaat. Als je upgrade vanaf een Joomla 3 site, dan zullen we de oude Zoek niet verwijderen - net zoals toen we Weblinks verwijderden in Joomla 3.3.

Automatisch repareren van Code Style fouten

Met de implementatie van PHP CodeSniffer 2.x, ontstaat de mogelijkheid automatisch veel code style fouten te repareren. Onze eigen sniffs in de coding standaard heeft deze automatische reparatie-mogelijkheid ook toegevoegd. Dit zou onze ontwikkelaars en het Joomla project een heleboel tijd besparen door te zorgen dat code standaards worden gevolgd zonder handmatig ingrijpen. We werken al aan de migratie naar PHP Codesniffer 3.x om ervoor te zorgen dat we op de nieuwste en beste versie zitten in Joomla 4.

We  willen een groot applaus geven voor Walt Sorenson die veel tijd heeft gestoken met zijn werk aan de codesniffer ruleset voor Joomla. In lijn met de open source gedachte zijn veel van de Joomla bevindingen teruggeleid naar het codesniffer project.

We zijn vastbesloten Joomla 4 de beste generatie te maken. Omarmen van bovenstaande zal helpen een hoogwaardig product voor onze gebruikers te leveren.

Dit is een vertaling van https://developer.joomla.org/news/788-joomla-4-on-the-move.html