Indholdsfortegnelse
Introduktion
Formål
Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af GM-CMS, kan sættes op, samt hvordan koden bygges, deployes og testes.
Først beskrives de softwaremæssige krav, der er til miljøet, samt hvordan kode hentes og bygges. Dernæst beskrives deployment-miljøet.
Kodestrukturen, kodemæssige afhængigheder til tredjeparts moduler og de forskellige servicemodulers ansvar og design beskrives sidst i dette dokument sammen med testdesign.
Sammenhæng med øvrige dokumenter
Dette dokument er en del af den samlede dokumentation for GM-CMS.
Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for GM-CMS.
Læsevejledning
Læseren af dette dokument forventes at være bekendt med opbygningen af "Min Graviditet"-projektet samt med hvilket indhold GM-CMS skal servicere "Min Graviditet"-appen med.
Introduktion til GM-CMS
GM-CMS er baseret på Strapi (v5), e
t populært open-source headless CMS, der muliggør hurtig udvikling af CMS-applikationer. Design og arkitektur beskrives detaljeret i de følgende afsnit med fokus på opsætning af et udviklingsmiljø og bygning af komponenterne til systemet.
Opsætning af udviklingsmiljø
Koden ligger i Git-repositoriet: git.nspop.dk/projects/bff/repos/min-graviditet-content-management-system
Krav til software
Følgende krav skal være opfyldt i udviklingsmiljøet:
• Node.js: Kun Active LTS eller Maintenance LTS versioner understøttes (aktuelt v18, v20 og v22). Ulige nummererede versioner af Node, kendt som "current" versioner af Node.js, understøttes ikke (f.eks. v19, v21).
• Node.js package manager: npm (v6 og højere), yarn, pnpm eller tilsvarende.
• Supporteret PostgreSQL database version: Anbefalet – v14.0, minimum – v12.0.
I følgende antages det at npm Node.js package manager anvendes.
Bygge komponeten
GM-CMS bygges ved at køre kommandoen:
|
Import/export af konfigurationer
Import af konfigurationer:
|
Eksport af konfigurationer:
|
Konfigurationer placeres i mappen ./config/sync.
Import/export af data
Import af data:
|
Eksport af data:
|
Eksporteret data placeres i mappen cms-export.tar i project root.
Afvikling
Efter byg kan GM-CMS afvikles i development mode vha. kommandoen:
|
Eller i production mode vha. kommandoen:
|
Desuden skal Meilisearch op at kører. Dette kan med fordel sættes op til at køre i en Docker-container:
|
CMS_MEILISEARCH_API_KEY skal sættes til samme værdi i .env.
Udviklers workstation
Når man udvikler kan det være praktisk at foretage lokal deployment → Ikke relevant.
Beskrivelse af systemdesign
Systemdesign er beskrevet i GM-CMS - Design- og arkitekturbeskrivelse.
Beskrivelse af kildekodens strukturering og design
Ikke relevant - Se dokumentation for Strapi.
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 10/4 | Dikte Straadt/Trifork | Initiel udfyldning af dokumentation |