Se eksempel på udfyldelse på DDS: DDS - Guide til anvendere - NSP services - Global Site
Denne guide har som formål at give et overblik over GM-CMS, herunder dets funktionalitet, arkitektur, og hvordan det integreres med relaterede services.
Denne guide er tilegnet klienter til NSP, specielt dem, der skal udvikle aftagersystemer. Der vil blive givet referencer til relevante dokumenter for at skabe en bredere forståelse af komponentens omgivelser.
GM-CMS er en backend-service, der understøtter indholdshåndtering for applikationen "Min Graviditet".
Systemet tilbyder fleksible værktøjer til oprettelse, redigering og publicering af indhold såsom artikler, billeder og videoer.
Følgende ses diagram over GM-CMS struktur og relationer til relaterede services (Min Graviditet-app, BFF, m.fl.)

Der findes tre typer brugere i forhold til use cases:
GM-CMS skal understøtte use cases for "Min Graviditet" appen ved at udstille data. I den efterfølgende parentes angives use case nummer jf. Appendix 1b fra tilbudsmateriale.
Use cases for "Min Graviditet" appen:
For at undersøtte disse use cases skal GM-CMS overholde følgende use cases.
Dette dokument er henvendt til udviklere og arkitekter, der skal anvende GM-CMS. Det forventes, at læseren har kendskab til RESTful API'er samt grundlæggende webteknologier.
Forudsætninger for anvendelse inkluderer:
Service udstil type | <Angiv typen, f.eks. DGWS, IDWS, ...> |
Krævede adgange | <Angiv adgange som er nødvendige for anvendere for at kunne benytte servicen/komponenten> |
Whitelisting | Whitelisting kræves for IP-adresser, der skal have adgang til GM-CMS. |
Krævet sikkerhedsniveau | <Angiv krav til authentication for at kunne bruge servicen/komponenten> |
Forudsætninger for anvendelse | <Angiv forudsæntninger som er nødvendige for at kunne bruge servicen/komponenten, eventuelle nødvendige kald til andre services, etc.> |
Logning | <Angiv om og hvad der logges> |
| Reference | Beskrivelse |
|---|---|
CMS | Content Management System |
GM | Graviditetsmappen |
BFF | Backend for frontend |
<Beskrivelse af hvordan service/komponent bruges, snitflade(r), endpoints, og andet relevant>
| Tilgængelig | <Angiv på hvilke(n) NSP-installation(er) servicen/komponenten er tilgængelig> |
| Endpoint(s) | <Angiv udstillede endpoint(s), og hvad de hedder.> |
| WSDL | <Angiv henvisning til WSDL(er). For ekstern anvendbare services typisk på https://wsdl.nspop.dk/> |
| Beskrivelse af services | <Beskrivelser af service(s) / actions på endpoint(s). I lægmands termer beskrive hvad man kan forvente af de enkelte services.> |
| Namespaces etc | <Angiv eventuelt Namespaces, eksterne typer, ..> |
<Beskrivelse af Snitfladerne, samt den logik og de regler, der skal følges for den måde servicen anvendes på, og som servicen selv efterlever.>
Strapi CMS'en udstiller en række endpoints til at hente de definerede indholdstyper. Alle API-endpoints er offentligt tilgængelige, hvilket betyder, at det ikke er nødvendigt at sætte en authentication header på anmodningerne.
Jf. use cases skal følgende indholdstyper konfigureres i GM-CMS.
Indholdstype | Beskrivelse | Relation | id |
Kategori | Indeholder titel og tilhørende artikler | Kategori “tilhører flere” artikler | category |
Artikel | Indeholder titel, beskrivelse, tags, boolean til angivelse af om artikel skal skjules på forside, samt tilhørende kategorier og sektioner | Kategori ”har flere” artikler Artikel “tilhører flere” sektioner | article |
Sektion | Indeholder titel, tekst, liste af ugenumre i graviditet/efter fødsel hvor sektionen er relevant, samt tilhørende artikler | Artikel “har flere” sektioner | section |
Tjekliste | Indeholder titel, beskrivelse, samt tilhørende tjektlistepunkter | Tjekliste ”tilhører flere” tjeklistepunkter | checklist |
Tjeklistepunkt | Indeholder titel, beskrivelse, samt tilhørende tjektliste | Tjekliste “har flere” tjeklistepunkter | checklist-point |
Ordforklaring | Indeholder ord og ordforklaring | glossary-term | |
Tekst | Indeholder titel, tekst, beskrivelse og unikt API-navn. Bruges til at oprette tekster om samtykkeerklæring, databeskyttelse osv. | text | |
FAQ | Indeholder spørgsmål og svar | faq |
Indholdstype | Endpoirt |
Kategori | /api/categories |
Artikel | /api/articles |
Sektion | /api/sections |
Tjekliste | /api/checklists |
Tjeklistepunkt | /api/checklist-points |
Ordforklaring | /api/glossary-terms |
Tekst | /api/texts |
FAQ | /api/faqs |
For at relationer mellem indholdstyperne inkluderes i responsen tilføjes:
| ?populate=* |
|---|
Eksempelvis for at få alle artikler, samt relaterede kategorier og sektioner kaldes:
| /api/articles?populate=* |
|---|
TODO
Meilisearch anvendes til at søge i artikler CMS'en udstiller en række endpoints til at hente de definerede indholdstyper. Alle API-endpoints er offentligt tilgængelige, hvilket betyder, at det ikke er nødvendigt at sætte en authentication header på anmodningerne.
<Angiv eventuelle generelle koder, værdier, etc>
Herunder er nogle af de mest almindelige fejlbeskeder og deres årsager.
401 Unauthorized
Ikke relevant.
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 10/4 2025 | Dikte Straadt/Trifork | Initiel udfyldning af dokumentation |