Skip to main content

Derfor er Joomla 5.0 den mest essentielle udgivelse i historien

Michael Sønderup Nielsen - Joomla konsulent
Kategori: Joomla 5
Opdateret 31. oktober 2023

Joomla 5 - den nye version

Joomla 5 er den næste store version, der kommer til at udfordre WordPress. Nogle vil måske mene, at det er store ord. Måske er jeg farvet af at være ... ja, et Joomla webbureau. Men ikke desto mindre vil Joomla 5 være interessant og attraktiv for mange. Læs videre og find ud af hvorfor.

 

Du kommer ikke til at se en liste over de nye funktioner i dette indlæg. Det kommer mere til at handle om vigtigheden af den første store version efter Joomla 4.0. Version 4.0 var nok en af de mest udfordrende udgivelser for den "almindelige" hjemmeside-ejer pga. den komplicerede opgraderingsproces. Heldigvis blev der gjort nogle gode erfaringer, som er blevet implementeret med Joomla 5.

Da Joomla 4 var færdigudviklet, lagde de involverede en stor indsats i at gøre API-ændringerne bagudkompatible med Joomla 3-serien. For mere eller mindre opdaterede udvidelser er det muligt at bruge den samme kodebase til Joomla 3 og 4 (og 5, det kommer jeg til senere).

Desværre var ændringerne i brugergrænsefladen mellem 3 og 4 så betydelige, at de fleste udvidelser var nødt til at genopbygge skabelonfilerne fuldstændigt. Det var en kæmpe udfordring for store komponenter og skabeloner. Det tog dem evigheder at gøre. En bivirkning var, at mange hjemmesider skulle genopbygges fra bunden på Joomla 4, og ingen opgradering var mulig. Ud over kildekodeændringerne havde udgivelsen for mange omfattende nye funktioner og tog for lang tid at udvikle, næsten 6 år.

Frustrationen

Det blev indset, at noget måtte ændres, og der blev besluttet at indføre tidsbaserede udgivelser. Hvert andet år kommer der en ny stor verson, og hver sjette måned kommer der en ny feature release. Så to år efter 4.0 kom 5.0. Derudover gør en klar og bedre langsigtet forældelsespolitik det lettere for udviklere af udvidelser at opdatere deres kildekode. Men hvad har det at gøre med Joomla 5?

Derfor bliver ny version ikke længere en opgradering (migrering), men en opdatering. Det har mange andre CMS-systemer og version 5 er den første version, der implementerer den nye måde.

Betydningen af en ny hovedversion

Joomla følger det, som man kalder semantisk versionering. Det er en tilgang til softwareudgivelser, hvor ændringer i en udgivelsesversion i det første ciffer repræsenterer en ny større udgivelse med bagudkompatible ændringer, mens de andre ikke bryder eksisterende kildekode ved opdatering.

Det primære formål med en ny hovedversion er IKKE at introducere nye kickass-funktioner.

Selvom mange forventer det. Men det er en misforståelse.

Hovedformålet med en major-version er at gøre softwaren klar til fremtiden, da den vil forblive sådan i en længere periode. F.eks.blev der introduceret en ny arkitektur for udvidelser i 4.0. Den gamle var forældet og levede ikke op til minimumskravene i moderne softwarestandarder. Der blev også lavet meget basisarbejde på Javascript-kildekoden for at gøre Joomla lynhurtig i browseren i de kommende år.

Denne proces er afgørende, da software, der overholder den nyeste arkitektur og teknologi, vil overleve.

Alt andet kommer med den omkostning, at det dør langsomt, når der ikke foretages nedskæringer fra tid til anden. Disse nedskæringer er ændringer af bagudkompatibilitet og bør gøres klogt på en udviklervenlig måde.

Byg bro fra fortid til fremtid

Ny politik for udfasning

Før jeg dykker ned i de vigtigste ændringer, vil jeg gerne nævne en af de mest betydningsfulde ændringer i Joomla 4s levetid.

Grundlaget for ethvert langsigtet softwareprojekt, som understøtter integrationsslutpunkter og en fleksibel kildekodebase, er en stabil forældelsespolitik. Det sikrer, at udviklere har tid nok til at tilpasse sig ændringerne.

Hvis projektet følger den typiske forældelsespolitik, vil understøttelsen af ældre udvidelser, der er skrevet med den gamle filstruktur på en ikke-namespaced måde, blive fjernet i 5.0. Det er alt for tidligt, og det har man indset.

Denne nye politik definerer, at kildekode, der er markeret som forældet, kun kan fjernes i den næste store version. Det er mindst to år, og maksimalt fire år, så en udvikler af en udvidelse har tid til at tilpasse sin kildekode. Så, når noget blev markeret som forældet i 4.x, er den tidligst mulige version, hvor det kan fjernes, i version 6.0 og ikke 5.0.

Ud med forældet kildekode - Ja tak!

Hvad skete der så med de eksisterende forældede kildekode i 5.0? Med udgivelsen af versio 4.3.0 blev de alle også ændret til 6.0. Siden den version er alle nye forældelser også lavet til målversionen 6.0, som vil blive udgivet i oktober 2025.

Det betyder, at den forældede kildekode forbliver i Joomla indtil 6.0. For fremtiden betyder det, at alle forældede kildekode laver i en 5.x version vil forblive i Joomla indtil version 7.0.

Bagudkompatibiliteten stopper med Joomla 5.0

Joomla 5 kommer med et nyt minimumskrav på PHP 8.1.0 og MySQL 8.0.13. Dette sikrer, at Joomla ikke behøver at understøtte end-of-life-versioner, f.eks. Joomla 3 og 2.5. Husk på, at alle større versioner har en levetid på 4 år.

F.eks. vil version 4.4 blive understøttet indtil oktober 2025, hvilket betyder, at kildekodebasen stadig kan køre på PHP 7.2 indtil da, på trods af at denne version har været i slutningen af sin levetid siden november 2020. At øge minimumskravene vil også være en del af hver ny større udgivelse i Joomla og kan tælles som et brud på bagudkompatibiliteten.

5.0 indeholder nogle bagudkompatible ændringer. Her lister jeg nogle stykker for at illustrere den nye måde, hvorpå kun forældede ting bliver fjernet:

  • Fjernelse af plugin til demoopgaver
  • Fjernelse af gamle legacy Javascript-filer skrevet til IE11
  • Arveopdeling for CMSObject, som blev forældet for 11 år siden
  • Codemirror-opdatering til version 6
  • Fjernelse af en resync-funktion, som kun blev brugt til migreringen fra version 1.6 til 1.7
  • Komplet dokumentation om alle ændringerne kan findes i manualen til Joomla.

Afvejningen mellem gammelt og nyt

Ændringer vil altid påvirke eksisterende udvidelser, mens ældre kildekode ikke vil interessere nye udviklere. Det er en måde til at tilfredsstille den eksisterende brugerbase og til at bringe Joomla fremad.

At holde en stor serie som Joomla 3 i live i over 10 år er lang tid!

At udvikle en ny stor version som 4.0 i 6 år er også for lang tid. At finde den rette softwareproces er en vanskelig opgave.

Alligevel er jeg sikker på, at den nuværende udgivelsesproces, med alle ændringerne siden 4.0 kom ud, baner vejen for en fortsat glorværdig fremtid for Joomla. Endelig blev der fundet en balance mellem stabilitet og fremgang, og det er det, der kommer med version 5.0 og gør den så vigtig.

Kontakt mig, hvis du har brug for hjælp eller rådgivning til opgradering af din hjemmeside til Joomla 4 og 5.