digdir / roadmap

Felles veikart for Digdir sine produkter.
https://github.com/orgs/digdir/projects/8/
6 stars 2 forks source link

Oppgradere fra Optimizely CMS-11 til CMS-12 (.net 8) #387

Open ferkinx opened 4 months ago

ferkinx commented 4 months ago

Overordnet beskrivelse

Informasjonsportalen ble flyttet til skydrift i Optimizely DXP i oktober 2023. Fra desember 2023 har KnowIT jobbet med å oppgradere til siste versjon av Optimizely CMS, dvs. CMS-12.

Optimaliseringer og forbedringer: Når oppgraderingen er gjennomført, kan vi dra nytte av ytelsesforbedringene og de nye funksjonene i CMS 12, som forbedret innholdslevering via GraphQL-APIer, bedre responstider, og nye administrative grensesnitt.

Å oppgradere fra Optimizely CMS 11 til CMS 12 innebærer en rekke trinn for å tilpasse endringene mellom .NET Framework og .NET Core, samt oppdateringer innen Optimizely-plattformen selv. Her er en oversikt over noe av det som inngår i oppgraderingsprosessen:

Forberedelser: Sette opp parallelle INTE og PREP-miljøer i .NET 8 Oppgraderingen til Optimizely CMS 12 er i stor grad avhengig av Upgrade Assistant-verktøyet. Det hjelper med å overføre prosjektfiler og avhengigheter til .NET 5/6 og bistår i å erstatte utdaterte kodemønstre med nye. Oppdater kode og pakker: Oppdatere alle NuGet-pakker til versjoner som er kompatible med .NET 5/6. Dette inkluderer å fjerne utdaterte pakker som kan være i konflikt med nye ASP.NET Core-implementeringer. Omarbeide koden for å justere den med ASP.NET Core's metodologier, som avhengighetsinjeksjon, nye rutekonfigurasjoner og mellomvareoppsett. Database og innholdskompatibilitet: Selv om CMS 12 ikke krever datamigrasjon, er det avgjørende å sikre at databaseskjemaet og innholdet er kompatible med nye API-er. Testing og feilsøking: Etter oppgraderingen, test applikasjonen grundig for å sikre at alle funksjoner virker som forventet. Vær spesielt oppmerksom på tilpassede funksjonaliteter og integrasjoner som kan være påvirket av rammeverkskiftet. Bruk automatiserte tester hvis tilgjengelig, eller utfør omfattende manuell testing for å sjekke etter problemer. Endelig utrulling: Før du går live, sørg for å kjøre applikasjonen din i et staging-miljø som etterligner ditt produksjonsoppsett. Dette hjelper med å identifisere eventuelle utrullingsspesifikke problemer som kanskje ikke har dukket opp under utvikling.

Forventet resultat

Bedre ytelse og sikkerhet. Forberedt for headless, der innholdet kan ligge i Content Graph og hentes via GraphQL-APIer.

Hvordan skal det fungere?

Ingen store endringer for brukerne, men bedre ytelse og sikkerhet på siste .NET-versjon + enormt mye bedre mulighet for å hente ut innholdet via API-er

Gjennomføring

Vi er ferdig med å teste i det parallelle INTE-miljøet. Ligger nå til test i PREP mot AT23.

Mulig vi bør teste PREP mot TT02 før vi går i PROD. Bør også se på hvordan vi kan rulle raskt tilbake hvis noe går galt.

### Avhengigheter
- [ ] Draft avhengighet
### Oppgaver
- [ ] Draft epos