Uppdatering av lok.se

Skriven 2022-01-05 19:09:20 av Sven Engström
 
Under kvällen 4/1 gjordes en större uppdatering av hemsidan med målet att hålla sidan i körbart skick ett bra tag till, här följer en liten beskrivning av det årslånga arbetet. Vid fel mejla webmaster@lok.se.

lok.se är skriven i programmeringsspråket PHP och har varit med sedan tidigt 2000-tal. Funktioner har tillkommit längs vägen och källkoden för sidan har vuxit till sig.

Sidan körde länge på version 5 av programmeringsspråket PHP som släpptes 2004 men i december 2018 nådde det vägs ände och vi, webmasters, ställdes inför uppgiften att migrerar all kod till nästa version, version 7 (version 6 blev aldrig riktigt klar). Det skulle innebära en hel del jobb eftersom bl.a. det sätt på vilket vi hämtar information från databasen (träningar, nyheter, foruminlägg, etc.) ändrats.

Vi såg två möjliga vägar för att lösa problemet: 1. Göra en stegvis uppdatering där vi fortsatte köra sidan som vanligt och gör så gott vi kunde med att hitta den kod som behövde ändras och ändra den. 2. Sätta upp en kopia av hemsidan som körde version 7 av PHP där allt till en början är trasigt men det blir tydligt när saker och ting är reparerade. När allt är klart kan de två sidorna byta plats.

Alternativ 1 har fördelen att vi inte behöver göra en kopia men kräver att all kod ska vara kompatibel med både PHP5 och PHP7 samtidigt, det är inte en omöjlighet men vi har då inte heller möjlighet att nyttja de nya funktioner som finns i version 7 av språket. För att vara säkra på att koden fungerar med version 7 skulle lok.se ibland behöva ställas om till version 7 och då hamna i ett halv-trasigt läge där visa saker fungerar och andra inte.

Alternativ 2 kräver att vi sätter upp en extra webbserver med PHP7 men det blir tydligt när saker fungerar med den nya versionen och vi har möjlighet att använda några nya finesser. Till skillnad från alternativ 1 kan vi vara säkra på att vår kod kommer fungera med version 7 när vi ändrar versionen på lok.se eftersom det är det vi använder under migrationssteget. Ändringar som görs på lok.se under arbetets gång måste också sammanfogas med de ändringar som gjorts på kopian vilket adderar ytterligare komplexitet.

Vi valde alternativ 2 och efter två år av kvällshackande kunde vi igår låta original-sidan och den nya sidan byta plats och på ett ögonblick gick vi från att köra version 5 av PHP till version 7. Det var så smärtfritt som man kan tänka sig för ett hobbyprojekt som detta; en handfull fel uppdagades och åtgärdades på några minuter.

Det kan såklart vara så att vi missat någon liten grej eller bara snubblat på tangenterna så om ni märker att något inte ser ut eller fungerar som tidigare så får ni gärna höra av er till webmaster@lok.se.

Arbetet i siffror: 7738 ändrade rader kod spridda över 147 filer




[Back] Tillbaka

Senast uppdaterad: 220117, 20:48:03