En riktig så vakker liten gris: Historien om Store norske leksikons publiseringssystem

Hvor sprø må man være for å satse på et egenutviklet CMS?

Store norske leksikon er basert på et hjemmekodet publiseringssystem. Blant internettekspertene er det regnet som galskap, fordi det er dyrt, vanskelig å vedlikeholde og krever høy kompetanse i en organisasjon.

Å pynte på fasaden av et eksisterende system, heller enn pusse det opp på ordentlig, kalles gjerne å «sminke grisen». Foto: Avi, Flickr, CC-BY-SA-2.0

I 2010 var vi en ny redaksjon som overtok leksikonet. Oppgaven var å redde det. Den synlige jobben handlet om design og oppdatering av artikler. I kulissene var spørsmålet om koden skulle kastes, og leksikonet reddes ved at det ble flyttet over i et profesjonelt publiseringssystem.

Men tida var knapp, og leksikonet måtte få mange nye lesere fort. Planen ble å satse på nødløsninger og lapping på koden. I dag er vi stolte over å utvikle vårt eget spesialiserte publiseringssystem.

Alle trenger CMS

Alle som publiserer innhold på nett må forholde seg til et publiseringssystem, eller det som med bransjelingo blir kalt et CMS, content management system. Det finnes et utall store CMS-leverandører som dekker nær sagt alle typer behov der ute. For de fleste som skal lage en hjemmeside er utvalget overveldende, og tilbydere som WordPress, Squarespace, Joomla, Jimdo, Weebly, Concrete5, Drupal, Episerver og Mediawiki gir deg det du trenger for å få innholdet ditt på nett.

Alle er laget for å dekke litt ulike behov, og sjansen er god for at ihvertfall ett av dem gjør jobben du er ute etter, om du så skal blogge om sko, selge sokker, systematisere strategier i Warcraft eller lage en turistguide til Bømlo.

Ikke bygg ditt eget!

Men noen behov er mer spesifikke enn andre, og har du kommet på et genialt nettkonsept som verden fortsatt har til gode å se gjennomført, eller ønsker å publisere innhold på en måte som ingen andre har tenkt på, er du kanskje avhengig av funksjonaliteter og strukturer som ikke finnes som en ferdiglagd pakke fra før. Isåfall må du kanskje bygge ditt eget CMS.

Internett advarer deg imidlertid om at dette må du ikke finne på. Dette gjør de i store bokstaver og ved å bruke ord som ‘galskap’, ‘uaktuelt’, ‘ulønnsomt’, ‘skjødesløst’, ‘naivt’ og ‘uetisk’. Om det finnes mange CMS-er der ute fra før, finnes det enda flere måter å fortelle deg at verden ikke har behov for at du bygger et nytt et: Internett trenger ikke flere CMS-er, hva du nå enn har tenkt å publisere. Internett har ikke godt av det, og din mentale helse og din økonomi vil være de største taperne av alle, om du skulle bestemme deg for at du absolutt vil ha noe eget.

Å sminke grisen

Vi i Store norske leksikon bruker et egenutviklet CMS. Kunnskapsforlaget, eierne og utgiverne av Det Siste Papirleksikonet og Den Første Nettversjonen av Store norske leksikon, skrev all koden som lå bak nettsiden selv den gangen de i 2009 slapp den åpne digitale versjonen av leksikonet. Da nye eiere overtok i 2011 bygde vi videre på den eksisterende koden, og lanserte i 2012 en ny design og front på snl.no, mens en stor del av det opprinnelige maskineriet bak var bevart.

Dette ble kalt å sminke grisen. Kunnskapsforlaget hadde begrenset med tid og ressurser da de lanserte nettsiden i 2009, og enda mindre muligheter til å vedlikeholde den ordentlig etterpå. Koden vi overtok i 2011 bar preg av dette. Derav dette med gris. Vi skulle hovedsaklig rette på det leserne så og jobbe med front-end. Derav dette med sminke.

Plastikk og kakedeig

Rundt lansering av nye nettsider på snl.no føltes det som å fikse et falleferdig fly i fart. Faksimile fra filmen «Plastics Inventor», av Disney Studios (1944).

Da vi lanserte nye nettsider i 2012 var det uten fungerende kjernefunksjonaliteter for skriving og redigering, nettsiden var kronisk ustabil, vi hadde måttet skrote bildeopplasteren vår og vi led av stor teknisk gjeld. Vi hadde ikke hatt mulighet eller tid til å prioritere vedlikehold av det underliggende systemet etter at vi overtok, og vi ble nødt til å betale prisen. Hver eneste e-post vi sendte ut til leksikonets fagansvarlige inneholdt en overvekt av ‘unnskyld’ og ‘det blir bedre snart’.

Når Ida Jackson har snakket om relanseringen av SNL og CMS-et vårt i offentlige sammenhenger, har hun pleid å omtale det som et fly av plastikk og kakedeig, i en metafor lånt fra Donald Duck. For Ida, som hadde ansvar for utviklingen fram til lansering, og for alle oss som var om bord i flyet, opplevdes det som om glasuren og konditorlimet konstant ga etter mens flyet var i full fart, og kun kreative nødløsninger og brannslukking gjorde at vi ikke alle sammen krasjet og brant i tiden fram til og etter lansering.

Å lure politikere

Nå i 2015, fire år etter at vi overtok, steller vi fortsatt med den samme grisen. Vi har dermed gått på tvers av alle anbefalinger fra alle kunnskapsrike internettentreprenører og gjort noe sprøtt og uansvarlig og skjødesløst og fjollete.

Ingen av oss som var med på lanseringen av nye nettsider i 2012 hadde tenkt at vi skulle sitte i 2015 og være fornøyd og litt imponert over triksene klovdyret vårt nå kan. Grunnen til at vi bestemte oss for å putte kjole og mascara på grisen, og ikke bytte den ut med en hest, tiger eller antilope, var nemlig at også vi hadde ekstremt tidspress og begrensede ressurser.

Leksikonets nye eiere hadde bevilget prosjektmidler i tre år, og det var den tiden vi hadde på å bevise at snl.no hadde livets rett. Planen var derfor å beholde grisen og la den forføre politikere og pengefolk med sine dyre klær, for så å smugle den ut bakdøra og erstatte den med noe som hadde et penere indre, så snart leksikonets framtid var sikret.

En unik gris

Men greia er: vi har blitt riktig så glad i grisen vår, og vi har skjønt at den kan noe som resten av Internett fortsatt har til gode å få til like bra. Selv om ting så rotete ut da vi overtok nettsiden, hadde Kunnskapsforlaget, ved Petter Henriksen, hans redaksjon og hans utviklere, gjort noe svært riktig og smart da de gjorde grunnarbeidet og startet å bygge et CMS fra bunnen av.

Og etter at det hadde blitt litt verre, ble det faktisk bedre. Alt vi hadde av tidsplaner og estimater sprakk, men med systematisk og nitidig jobbing fikk vi litt etter litt de gamle funksjonalitetene tilbake i fin form, pluss noen nye. Etter et par år fikk vi til og med et flunkende nytt system for bildeopplastning og –visning. Selv om det var dyrt og vondt fikk vi etterhvert også oppgradert de underliggende komponentene, tettet sikkerhetshull og forbedret oppetid.

I mellomtiden hadde vi også rukket å vurdere hva som fantes av alternativer til grisen vår der ute. Og selv om utvalget var stort, og selgerne var flinke til å prate, viste det seg at Store norske leksikon på nett hadde behov som ikke så lett lot seg dekke av flunkende nye, skinnende, eksternt utviklede CMS-er.

Et system for samskriving

SNLs publiseringssystem lar oss organisere en stor mengde med tekster i et hierarkisk system. Skjermutsnitt fra administrasjonssystemet bak snl.no.

Det å drive et fagredigert leksikon er en veldig spesifikk, men samtidig enkel ting: Det er å få flinke folk til å skrive tilgjengelige tekster om ting de har greie på, rett på nett. Selv om grisen vi overtok trengte både sminke, nye klær og en grundig overhaling før dens indre skjønnhet kom for en dag, så viste den seg å være det mest egnede dyret for å gjøre jobben til sist, tross alt.

CMS-et vi overtok var ikke tilstrekkelig for å lage et fullgodt, fagredigert leksikon. Men det inneholdt det strengt nødvendige, og la klare føringer for i hvilken retning vi kunne utvikle det videre. Alle nyvinninger som har kommet i ettertid har dermed bygget på det konseptuelle fundamentet vi arvet. Dette har gitt oss muligheten til å utvikle det grunnleggende konseptet om et hierarkisk organisert samskrivingsprosjekt innenfor vide, men samtidig klart definerte rammer.

Det er fortsatt store brikker som må på plass før vi kan si at vi leverer et 100 % tilstrekkelig verktøy for leksikonskriving. Vi mangler blant annet et referansesystem, infrastrukturen for simultanskriving og versjonssammenlikning er langt fra perfekt, og gode metoder for å integrere rikt medieinnhold er under arbeid. Vi jobber dessuten med svært små budsjetter og begrensede interne ressurser, sammenliknet med alle andre store, norske nettprosjekter.

Men siden systemet vårt er utviklet etter gode, grunnleggende prinsipper og med ett hovedmål i tankene, er det smalt og smart, og uten masse unødvendige funksjonaliteter. Dermed er ikke vedlikeholdsbehovet så omfattende som i andre spesialbygde CMS-er, og ikke nødvendigvis dyrere enn de andre alternativene som finnes. Enkelhet betaler seg dessuten i mindre tid brukt på brukerstøtte, og det er færre ting som kan gå galt.

Ulike rettigheter

Noen CMS’er har bakt inn funksjoner for hundrevis av ulike behov i én pakke. Men et verktøy som er enkelt og spisset er lettere å vedlikeholde og fører til færre feil på brukersiden. Foto: Amazon.com, Wenger Giant Swiss Army Knife

Så, for de spesielt nysgjerrige: Hva er spesielt med vårt CMS?

  1. Vi har mange brukertyper – med ulike rettigheter for ulike deler av innholdet: Leksikonet vårt er «fagredigert». Dette innebærer at alle kan bidra med tekst og bilder, men ikke uten at det på et eller annet nivå godkjennes av noen med en priviligert rolle i systemet: en redaktør eller fagansvarlig. Under artikkelbasen ligger det en hierarkisk trestruktur, og hver enkelt artikkel kan få sin plass i denne strukturen. Når en artikkel har fått sin plass, kan hierarkiet brukes til å bestemme hvem som har ansvar for akkurat denne artikkelen.

På grunn av denne strukturen kan redaksjonen bestemme at en psykolog kan ha ansvaret for psykologi, en fykolog kan ha ansvaret for alger, og en mykolog ha ansvaret for sopp. Disse ekspertene kan skrive og oppdatere artiklene de selv har ansvaret for, men også evaluere og publisere tekster fra andre eksperter, få innspill fra brukere, korrekturlesere og redaktører.

  1. Åpenhet: Hver artikkel har kun én faganvarlig, så om man har ansvaret for en gitt oppføring er dette ansvaret eksklusivt. Men man betaler for eksklusiviteten med åpenhet, siden alle sider av publiseringsprosessen er gjennomsiktig og synlig. Slik kan alle leksikonets lesere kikke de fagansvarlige i kortene, og rope ut hvis de oppdager feil, slepphendtheter eller urent spill. Redaktørene kan overstyre en fagansvarlig hvis retningslinjer og tilbakemeldinger ikke blir fulgt opp.
Etter at vi hadde jobbet med verktøyet en stund, skjønte vi at CMS-et vårt kunne gjøre ting som ikke var alle griser forunt. Foto: Emiliano, Flickr. CC-BY-NC-SA-2.0

Konseptet bak publiseringssystemet er såre enkelt, men det er både gjennomtenkt og smart gjennomført. Selv om en rekke ulike brukere finnes i systemet (redaktører, fagansvarlige, fagmedarbeidere, feiljegere, lesere), består det av kun to tilgangstyper: redaktør og bruker. En fagansvarlig er redaktør for en eller flere noder i et hierarki, for alle andre noder er hun en bruker. Redaktører er redaktører for alt, brukere er brukere uansett hvor de er i leksikonet, mens alle alle andre er brukere med ulike merkelapper og signalementer som kommuniserer deres rolle og oppgaver i systemet.

Gjenbruk for andre

Selv om publiseringssystemet vårt er laget med et spesielt verk i tankene, skal det kunne gjenbrukes for andre. Behovet for å drive samskriving på samme sted men i kraft av ulike roller, slik som redaktør, som sjef for et fag/en del av nettsiden eller vanlig bruker, er ikke unikt for leksikonet. Vi vil derfor etterhvert tilby CMS-et vårt til andre som driver med innhold på nett. Vi bygger på det som en serie moduler, og vil, med tid og stunder, at systemet skal få et liv også utenfor leksikonet.

Godt innhold blir til på mange måter og det burde finnes verktøy som legger til rette for alle mulige ulike arbeidsformer. Om vi kan bidra til at nye, intuitive og gode publiseringssystemer blir tilgjengelige for flere, kan det bidra til å oppnå målet vi hadde da vi startet i leksikonet for fire år siden: å gjøre internett til et bedre sted å være, både for folk som har noe å formidle og for leserne deres.