Verdens værste Joomla-udvidelse - sh404SEF
En dag skete der noget, noget der faktisk fik mig til at vælge sh404SEF. Komponenten er meget berømt i Joomla-miljøet og anvendes primært til at omdirigere sider på Joomla-hjemmesider. Lyder smart, men komponenten beholder fortsat den ærefulde titel som det værste Joomla-udvidelse nogensinde!
Tillade mig at uddybe, hvad der skete den dag …
Jeg var lige mødt ind på kontoret, kaffemaskinen begyndte endelig at brummer på sin velkendte måde. Der fløj to fugle forbi, som godt kunne ligne to skarver, men jeg er ikke sikker. Det er i øvrigt også sagen uvedkommende. Kaffen blev færdig og jeg fik mig sat til rette til mit morgenritual – tjekke mail.
PING!
En af mine faste kunder gennem mange år, lad os kalde ham Søren, havde sendt en mail om, at han ville ringe til mig. Jeg havde kun lige læst mailen færdig og telefonen ringede. Det var Søren.
”Michael! Den er helt galt!!!”, han lød vildt frustreret og jeg begyndte oppe i mit hoved at gennemgå de sidste opgaver, som jeg havde løst for ham. Kunne der være gået noget galt med mit arbejde?
Søren fortsatte, ”Der er pludselig en 404-fejl på hjemmesiden. GØR NOGET!”. Skal lige sige at Søren er meget struktureret og kan ikke have, når der er sådanne fejl.
Her er en opsummering af Sørens problembeskrivelse:
- Siden (Joomla-artikel) eksisterede.
- Han havde allerede oprettet et menupunkt, der peger på den side.
- Både siden og menupunktet var offentliggjorte.
- Han havde forsøgt at tilgå siden via menupunktets og artiklens alias.
Søren fik ikke lige nævnt, at sh404SEF var installeret på hjemmesiden. Men det vidste jeg jo godt, fordi jeg havde arbejdet på hans hjemmeside mange gange før.
Så jeg loggede ind i administrationen, og gik til ”URL Manager”-siden i sh404SEF. Der rensede jeg ud i alle URL'erne og efterlod kun de manuelt oprettede URL i manageren (sh404SEF sletter ikke de manuelt indsatte URL'er – hvilket er den rigtige og forventede adfærd). Jeg scannede de ”manuelle” URL'er for at finde en, der pegede på den artikel, der gav en 404 fejl. Men jeg fandt ingen.
Dernæst gik jeg ud på selve hjemmesiden og forsøgte at tilgå siden via alias’erne, men den gav stadig en 404-fejl. Selv forsøg på at indlæse siden baseret på dens ikke-SEF-URL returnerede en 404-fejl. Jeg dobbelttjekkede, om alt var OK (artiklen eksisterede, artiklen var offentliggjort, menupunktet eksisterede og var offentliggjort, menupunktets alias var korrekt, osv...) – og det var det.
Så brugte jeg meget tid på at kigge i de forkerte buske!
Jeg vidste, at problemet var relateret til sh404SEF. Derfor forsøgte jeg en quick and dirty og deaktiverede sh404SEF – BUM! Problem løst!
Men jeg vidste bare ikke på det tidspunkt, hvorfor det løste problemet.
Det var tid til at tanke kaffe og jeg har tendens til at tænke ret godt i selskabet med kaffemaskinens brummen. Efter et stykke tid, ja, jeg lagde ikke mærke til at kaffemaskinen var holdt op med at brumme, slog det mig, hvorfor tjekker jeg ikke bare databasen med phpMyAdmin. Måske kan jeg finde sh404SEF-linket direkte i databasen – TADAA!! Det gjorde jeg.
Jeg loggede ind i phpMyAdmin, og jeg så, at tabellen #__sh404sef_aliaser havde en række, hvor newurl var artiklens ikke-SEF-link, og aliaset var sat til tomt. Ved at slette denne række i databasen løste problemet, men af en eller anden grund følte jeg ikke, at jeg virkelig havde løst problemet ...
Jeg begyndte at spekulere på, hvad der mon skabte den forkerte indtastning, og hvad er risikoen for, at præcis det samme problem vil ske igen?
Efter min mening havde jeg lige ryddet op i noget rod forårsaget af sh404SEF, men desværre løste jeg ikke problemet, da problemet ligger et sted i kernen af sh404SEF, og det vil sandsynligvis have bivirkninger andre steder på hjemmesiden.
Nu tænker du måske – ja ok, er det måske ikke lidt hårdt at kalde sh404SEF verdens værste Joomla-komponent på grund af det?
Hvis det havde været første gang, jeg så et problem, der var forårsaget af ustabiliteten af sh404SEF, så ville jeg være enig med dig. Men, der går ikke en uge, hvor mindst én kunde henvender sig med et sh404SEF-problem. Og hvad der er endnu værre, er, at alle sh404SEF-problemer er ekstremt mærkelige og meget svære at løse.
Bevares! sh404SEF er en meget kompleks komponent, og så kunne vi vel godt tillade et par fejl her og der? Måske, men lad mig i en sætning redegøre for det grundlæggende og vigtigste job, som sh404SEF skal udføre:
sh404SEF er en udvidelse, der omdirigerer ikke-SEF-URL'er på hjemmesiden til velformaterede SEF-URL'er.
That’s it!
Det er dens grundlæggende job, og jeg ved, som udvikler, at når først du har styr på omskrivningsreglerne, så er det en meget enkel proces. Men selv efter mange års udvikling af sh404SEF, er det stadig (efter min mening) en meget ustabil udvidelse, der ikke bør anvendes til Joomla hjemmesider.
Når du først har sovset din hjemmesiden ind i sh404SEF, er der desværre ikke noget alternativ til dette rod og du hænger på den og kan ikke bare fjerne sh404SEF uden at det har store konsekvenser for din hjemmeside.
Som en afsluttende bemærkning til denne dårlige omtale af komponentet - tænk over følgende:
- Hvorfor fungerer dine Joomla SEF-links altid, når du kun har Joomlas indbyggede System SEF-plugin kørende, mens du rutinemæssigt skal rense links i sh404SEF for at løse omdirigeringsproblemer?
- Hvordan ville ovenstående problem have været løst (hvis det skete for dig), hvis du ikke havde adgang til phpMyAdmin?
- Hvorfor har sh404SEF ikke nået stabilitet endnu, selvom det er en kommerciel udvidelse med en stor fanskare, og selvom den har været på markedet i årevis?
- Hvorfor kan udviklerne af sh404SEF ikke fokusere mere på udviklingen af udvidelsens hovedfunktionalitet i stedet for at arbejde på udviklingen af andre (ligegyldige) funktioner (såsom analytics og shURL'er). Tror de ikke, at folk vil sætte pris på en solid udvidelse med mindre (for det meste unødvendig) funktionalitet, mere end en meget stor udvidelse med (for det meste) ødelæggende funktionalitet?
Misforstå mig ikke.
Dem der har og udvikler på sh404SEF er meget intelligente mennesker. Men komponenten er desværre bare vokset sig til at blive et monster, som ingen er i stand til at tæmme, og derfor betragter jeg det som den værste Joomla-udvidelse nogensinde.
Forresten, hvis du har sh404SEF-problemer som Søren, så er du velkommen til at kontakte mig, og jeg vil helt sikkert løse dem!