Oppstarten av prosjektet var en fullstendig migrering av dibk.no fra Optimizely til Enonic XP. Dette var en omfattende og teknisk krevende jobb som ble gjennomført i flere trinn.
Vi startet med å etablere et eget Optimizely-miljø hos oss med produksjonsinnhold, slik at vi kunne teste eksport mot reelle data uten å røre kundens drift. Deretter utviklet vi et eget eksport-endepunkt i Optimizely som leverte hver enkelt side som strukturert JSON, og en tilhørende importmotor i Enonic med et eget bibliotek for å opprette, oppdatere og slette innhold.
Selve migreringen ble kjørt i en bevisst rekkefølge. Først ble hele mediearkivet importert med sin opprinnelige mappestruktur, med de gamle Optimizely-ID-ene lagret som metadata på hvert element. Deretter ble innholdssidene importert og koblet mot mediene via disse ID-ene. Hver sidetype ble kartlagt og implementert for seg, med et eget datamodellkart som fasit. Etter importen kjørte vi en opprydding som identifiserte og fjernet medieelementer uten innkommende referanser, slik at kunden ikke arvet et arkiv fullt av ubrukte filer.
Parallelt bygget vi opp den nye løsningen fra bunnen: rundt 40 innholdstyper, parts, layouts, makroer og mixins, alle med fullstendige norske og engelske etikettsett gjennom Enonics språkfiler. Løsningen ble strukturert med språk- og lag i Enonic, slik at flere nettsteder og språkversjoner kan leve side om side i samme instans med felles komponentbibliotek.
Særlig krevende var regelverksdelen, der forskriftstekst, veiledning og henvisninger må henge sammen på tvers av kapitler og paragrafer, og hvor både skjermvisning, utskrift og PDF-generering måtte fungere korrekt.