makr.dk

Det er (igen) den tid på årtiet igen

Det skete i 2001, det skete i 2007, og det skete igen i 2015. Hjemmesiden fik nyt layout, mens det bagvedliggende CMS stort set fik lov til at fortsætte som før.

Nu sker der noget igen. Denne gang er det dog ikke bare skabelonen, der bliver skiftet ud.

Det gamle CMS er endegyldigt gået offline.

Det var egentlig ikke en beslutning. Hostingudbyderen lukkede den platform, som siden havde kørt på siden 2007, og som på det tidspunkt var blevet teknisk forældet på næsten enhver tænkelig måde. Systemet var skrevet i PHP med en databaseadgang, der for længst var fjernet fra moderne versioner af sproget. Det kunne derfor ikke uden videre flyttes til en ny server.

I 2015 skrev jeg, at jeg principielt ikke mente, at man skulle lade ting gå offline. Det mener jeg stadig. Men princippet kunne ikke ændre på, at siden nu faktisk var offline, og at det ville kræve en betydelig indsats at få den tilbage.

Der gik derfor omkring et år.

Ikke fordi problemet blev mindre i mellemtiden, men fordi en ny løsning efterhånden blev praktisk mulig: Opgaven kunne udliciteres til en gruppe af sprogmodeller.

De fik ikke til opgave at genoplive det gamle CMS. I stedet fik de til opgave at bygge et nyt.

Det nye system hedder Kartotek. Det er ligesom det gamle bygget med den grundidé, at indhold ikke bare er noget, der skal vises her og nu. Det skal kunne bevares, flyttes og forstås senere. Artikler har versioner, billeder og andre elementer er selvstændige objekter, og metadata, relationer og historik er en del af indholdet frem for noget, der ligger tilfældigt rundt om det.

På mange måder er Kartotek derfor en fortsættelse af det gamle system. Men teknisk er det bygget helt forfra med en moderne applikation, dokumenterede dataformater, import og eksport, automatisk arkivering og væsentligt flere muligheder for at holde styr på indholdet.

Arbejdsdelingen var også ny.

Jeg beskrev, hvad systemet skulle kunne, gennemgik resultaterne og forklarede, når noget ikke fungerede som ønsket. Sprogmodellerne analyserede kravene, foreslog løsninger, skrev koden, testede den, fandt fejl og rettede dem igen. Nogle byggede Kartotek. Andre gennemgik det gamle system, databasen og de mange særregler, der havde samlet sig gennem årene.

Da Kartotek var tilstrækkeligt færdigt, begyndte det næste arbejde: De gamle artikler skulle flyttes ind.

Det viste sig naturligvis ikke bare at være et spørgsmål om at kopiere tekst fra én database til en anden. Det gamle CMS havde sit eget system af versioner, billeder, links, kort, tidslinjer og små hjemmelavede markeringer inde i artiklerne. Tegnsættet var officielt ét og reelt noget andet. Tekst var blevet tilføjet og fjernet med forskellige former for escaping, og dele af systemets opførsel var kun dokumenteret ved, at det gamle system gjorde sådan.

Sprogmodellerne måtte derfor først forstå systemet som et stykke digital arkæologi. Derefter byggede de et konverteringsværktøj, kørte prøvemigreringer, sammenlignede resultaterne med de oprindelige data og rettede de fejl, som først viste sig, når hele samlingen blev behandlet.

Til sidst blev 277 artikler og omkring 3.200 versioner flyttet ind i Kartotek sammen med billeder, links, geografiske data og en stor del af deres oprindelige historik.

Jeg har ikke selv kodet en eneste linje. Faktisk har jeg heller ikke skrevet denne artikel i hånden.

Det betyder ikke, at systemet er blevet til uden arbejde fra min side. Der har været mange beslutninger om datamodel, funktioner, prioriteringer og præsentation. Men min rolle har været systemejer, redaktør og noget, der minder om en meget detaljeret kunde. Selve programmeringen er blevet udført af maskiner, som kunne arbejde direkte med både den nye kode og resterne af den gamle.

Se hvad LLM'en sagde om arbejdet her:

I 2015 overvejede jeg MediaWiki, Semantic MediaWiki og Symphony CMS, men endte med endnu en gang at reparere mit eget system. Denne gang har jeg igen fået mit eget CMS, men uden selv at have skrevet det.

Det er svært ikke at se en vis kontinuitet i det. Jeg foretrak stadig et system, der passede til indholdet, frem for at tilpasse indholdet til et standardsystem. Forskellen er, at det ikke længere var nødvendigt selv at programmere det for at få det sådan.

Det gamle CMS holdt i omtrent 18 år. Det overlevede både den første iPhone, responsive hjemmesider, sociale medier og det meste af den teknologiske platform, det selv var bygget på. Til sidst var det ikke en større fejl i koden, der slog det ihjel, men at den omgivende platform forsvandt.

Nu er indholdet online igen i et nyt system, bygget af en gruppe sprogmodeller på baggrund af mine beskrivelser og det gamle systems efterladenskaber.

Så må vi se, hvad der sker, næste gang det bliver den tid på årtiet igen.