Projekt isberg

Senast ändrad: 20 oktober 2021
iberg, illustration. www.freepik.com

Projekt isberg pågår i två arbetsperioder under 2021. Det övergripande målet är att öka stabiliteten på SLU:s webbplatser.

Bakgrund

SLU:s nuvarande webbplatser byggdes och lanserades 2016. Sedan dess har kod och funktionalitet byggts på successivt, mestadels utifrån verksamhetens behov. Dock har det saknats resurser för att i samma takt hantera rutiner, städning av kod, dokumentation och annat hygienarbete, vilket lett till att en teknisk skuld byggts upp.

Nu står SLU:s webbförvaltning med flera utmaningar där problem som driftstörningar, säkerhetsproblem, långa laddtider, låg google-rankning och en onödigt komplex och svårhanterad kod, behöver hanteras.

Dessa görs nu inom ramen för projekt isberg, vars namn anspelar på att det mesta arbetet är "osynligt" och sker under vattenytan. Det är dock ett mycket viktigt arbete som också, åtminstone i vissa delar, är högst mätbart. 

Mål

Övergripande syftar projekt isberg till att öka stabiliteten på SLU:s webbplatser. Åtgärderna faller inom fyra områden; säkerhet, driftsäkerhet, förvaltningsbarhet samt optimering av kod. 

Säkerhet: Våra tredjepartsprodukter är dokumenterade och säkerhetsuppdaterade.

Driftsäkerhet: Vår kodbas är stabil och kvalitetssäkrad. Kritisk funktionalitet riskerar inte längre att sluta fungera. Vi har en teststrategi och kodens komplexitet har minskat.

Förvaltningsbarhet: Vi har en långsiktig och effektiv förvaltning med tydliga ramar för förvaltningsobjektet. Integrationer följer en standardiserad modell och mindre tid går till rättning av (återkommande) fel.

Optimering av kod: SLU:s webbplatser syns bättre i externa sökningar och våra sidor laddar betydligt snabbare än tidigare.  

Status

Första fasens arbete som pågick mellan februari och april är nu avslutat. Vi har kommit en bit på väg och ser redan goda reultat vad gäller webbplatsens prestanda. Samtidigt visade sig våra farhågor om kodens kompexitet stämma och vi kom inte i mål med allt arbete vi tänkt oss under första arbetsperioden. Projektarbetet är nu pausat och återupptas igen i september. 

Läs mer om arbetet under respektive arbetsperiod (sprint) nedan.

Förstudie

Arbetet i förstudien handlade framförallt om att ringa in och avgränsa vilka insatser som ryms inom projekt isberg. Inom förstudien drog vi också upp en grov plan för innehållet i första arbetsperiodens sprintar.

Pilotsprint – utlysningssida

Vi ville testa om det är en framkomlig väg att se över en sidtyp i taget. Vi valde att börja med utlysningssidn eftersom den är väldigt långsam och ofta hänger sig i samband med publicering.

Koden är nu rättad och den loop som resulterade i att sidan hängde sig är korrigerad. Vi har också sett över vilka typsnitt som laddas in i förväg för att minska sidans laddtid. Det är en åtgärd som ger positiv effekt på hela webbplatsen. En uppföljning med verktyget Lighthouse visar på betydligt förbättrad prestanda, framförallt för mobilläget. 

Sprint 1 – CV-sida

Styrkta av resultaten i pilotsprinten gick vi vidare och kikade på CV-sidan. En sida som används av många och som också dras med en del problem. Sidtypen är långsam och det skapas ofta dubbletter.

Problemet är nu löst och speglingen från medarbetarwebben till externwebben fungerar också som den ska. Förhoppningsvis ska inga nya dubletter uppkomma.

Webbredaktionen kontaktar de cirka 150 personer som i dag har flera CV-sidor för att reda ut vilken versionsom är den rätta som ska vara kvar och vilken/vilka som kan raderas.

Sprint 2 – nyhetsartikel och kalenderhändelse

Sidtyperna kalenderhändelser och nyhetsartikel har dragits med en hel del problem och i samband med produktionsättningar har gamla fel ofta återkommit.

Vi har efter många timmars grävande i kod landat i att dessa sidtyper är typexempel på varför vi inom projekt isberg behöver öka plattformens förvaltningsbarhet. Våra systemutvecklare behöver strukturera om och förenkla koden och därefter dokumentera den ordentligt. Arbetet är större än vi trodde och kom inte i mål inom sprinten. Arbetet fortsätter i september.

Sprint 3 – ingångssida, taggsida och övergripande åtgärder

Under sprinten har arbetet med sidtyperna nyhetsartikel och kalenderhändelse som påbörjades i förra sprinten slutförts och dokumentationen uppdaterats.

Vi har också jobbat med sityperna ingångssida och taggsida och förbättrat beteendet och prestandan också för dessa sidtyper.

På ingångssidan har blockytorna justerats för att ge ett mer förutsägbart resultat. En blockyta är mer flexibel, medan de andra två skapar prydligt innehåll med lika stora block. Ett antal buggar har rättats och alla blocktyper fungerar nu som de ska i alla de tre blockytorna. Filmblockets storlek har också justerats för att matcha bildknappens storlek.

Taggsidorna har fått förbättrad funktionalitet och bättre tillgänglighet. Rätt webbplatsers innehåll speglas numera upp på respektive taggsida och dubbletter undviks därmed. Dessutom har rubriknivåerna och bildernas format justerats. Bilder riskerar inte längre att beskäras på ett tokigt sätt, eller att hamna omlott med rubriken.

Utöver arbetet med de specifika sidtyperna har tredjepartsprodukter (såsom lyssnafunktionen readspeaker) uppdaterats. Efter några rättningar på sidtypen programsida fungerar numera lyssnafunktionen också för den sidtypen. 

Slutligen har kopplingen till bildbanken MediaflowPro har setts över och integrationen som möjliggör hämtning av bilder direkt från redigeringsläget i Episerver fungerar nu bra. 

Sprint 4 – DOM-modellen

Sprint 4 har fokuserat på förbättringar i webbplatsens så kallade DOM-modell. DOM står för document objekt model och handlar om kodstrukturen som nu förenklats och förtydligats. I samband med detta arbete har också tillgängligheten förbättrats då kodelement märkts upp på ett korrekt sätt.

Nu när grundstrukturen för DOM-modellen är satt fortsätter resten av implementeringsarbetet i projektet parallellt med övriga uppgifter i projektet.