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.
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æ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.
GM-CMS er baseret på Strapi (v5), et 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.
Koden ligger i Git-repositoriet: git.nspop.dk/projects/bff/repos/min-graviditet-content-management-system
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.
GM-CMS bygges ved at køre kommandoen:
|
Import af konfigurationer:
|
Eksport af konfigurationer:
|
Konfigurationer placeres i mappen ./config/sync.
Import af data:
|
Eksport af data:
|
Eksporteret data placeres i mappen cms-export.tar i project root.
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.
Når man udvikler kan det være praktisk at foretage lokal deployment → Ikke relevant.
Systemdesign er beskrevet i GM-CMS - Design- og arkitekturbeskrivelse.
Ikke relevant - Se dokumentation for Strapi.
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 10/4 2025 | Dikte Straadt/Trifork | Initiel udfyldning af dokumentation |