NRK bytter CMS

NRK har startet utskiftning av Polopoly etter nærmere 20 år. Sveitsiske Livingdocs skal modernisere nrk.no.

NRK har byttet CMS.
Publisert

NRK har startet overgangen til nytt publiseringssystem for nrk.no. NRK har brukt CMS-et Polopoly i 20, som nå byttes ut med sveitsiske Livingdocs. 

– Vi fikk inn tilbud fra både norske, europeiske og amerikanske leverandører i dette tilfellet, og valgte til slutt Livingdocs som gjorde det best både på funksjonalitet og pris og som totalt sett fikk den beste vurderingen, sier Audun Aas, som er produktutviklingssjef i NRK.

Han forteller at de har bygget en helt ny applikasjon for uttegning av alle sider på NRK.no – med unntak av forsiden.

NRK har byttet ut publiseringssystem.

Viktig under kriser 

Tech-leadene John Arne Skjervold Pedersen og Nicklas Svendsrud jobber i teamet som har jobbet med overgangen til nytt publiseringssystem.

De forteller at for de nye artikkelsidene, så har de valgt seg en moderne stack som balanserer ytelse, beredskap og utvikler-opplevelse.

– Modernisering av nrk.no har vært viktig, da det er en viktig digital flate i krisesituasjoner, sier Svendsrud til kode24.

– Forsiden har ekstreme krav til oppetid og ytelse under massiv last. Ved å skille forsiden fra resten av artiklene i ulike applikasjoner med ulik tech-stack, minsker vi sårbarheten. Hvis noe skulle knele i uttegningen av enkeltsider, skal forsiden fortsatt stå støtt, sier Svendsrud.

Fungerer som et headless CMS

I dette nye oppsettet fungerer Livingdocs som et headless CMS. Det betyr at journalistene skriver der, men CMS-et er frikoblet fra selve presentasjonen av innholdet til publikum.

For å sikre seg ytterligere mot nedetid, henter man ikke data direkte fra CMS-et når man laster en side, men det er laget et eget. 

– Det er et dedikert datalager som fungerer som et mellomledd. All innholdsdata mellomlagres her. Skulle Livingdocs mot formodning gå ned, har vi en fullstendig kopi av alt innhold i vårt eget lag, klart til å serveres av Astro-riggen, sier John Arne Skjervold Pedersen til kode24. 

Åpen kode

Aas som er produktutviklingssjef i NRK, sier at NRK generelt er veldig opptatt av å være åpne og å dele kode eller erfaringer når det er mulig.

Kommer dere til å gjøre kildekoden åpent tilgjengelig?

– Om vi kommer til å gjøre det i dette tilfellet er litt for tidlig å si, men følg gjerne med på nrkbeta.no om du er nysgjerrig på utvikling i NRK, sier Aas til kode24. 

– Men hvor mye har dette kostet?

Aas sier de har prioritert ned videreutvikling av det eksisterende NRK.no i samme periode for å begrense kostnadene. 

– Med tanke på at de eksisterende systemene og kode-basene som byttes ut er 15-20 år gamle så er regnestykket ganske godt selv om det har tatt tid, sier Audun Aas i NRK.

Er du interessert i mer om det tekniske?

Slik er det bygget: Techleadene forklarer til kode24. 

NRK bruker Astro som det overordnede rammeverket. Astro er bygget for innholdstunge nettsider (som oss) og leverer minimalt med JavaScript til klienten som standard. Dette gir oss lynraske lastetider fordi mesteparten av HTML-en genereres på serveren.

Selv om Astro er i bunn, bruker vi React til de interaktive komponentene der det trengs. Men her har vi gjort et viktig grep for ytelsen: Vi har splittet ut React fra den vanlige klient-bundelen. React-biblioteket serves og caches nå direkte fra vårt eget CDN (Content Delivery Network).

Dette betyr at nettleseren din mest sannsynlig allerede har de nødvendige filene lagret, som igjen kutter ned på tiden det tar før siden er interaktiv.Når det kommer til styling, har vi gått for UnoCSS med Tailwind-presets.

Det gir oss fordelene med de kjente CSS-klassene fra Tailwind, men med en "engine" som er langt raskere og mer fleksibel. Det gjør at vi kan holde CSS-størrelsen minimal, samtidig som utviklerne våre kan jobbe effektivt i et kjent mønster.I dette nye oppsettet fungerer Livingdocs som et headless CMS.

Det betyr at journalistene skriver der, men CMS-et er frikoblet fra selve presentasjonen av innholdet til publikum.For å sikre oss ytterligere mot nedetid, henter vi ikke data direkte fra CMS-et når du laster en side. Vi har bygget et eget, dedikert datalager som fungerer som et mellomledd. All innholdsdata mellomlagres her. Skulle Livingdocs mot formodning gå ned, har vi en fullstendig kopi av alt innhold i vårt eget lag, klart til å serveres av Astro-riggen.

Powered by Labrador CMS