Page History
...
- Redaktør skal kunne oprette, redigere, publicere og slette indholdstyper, herunder kategorier, artikler, sektioner, tjeklister, tjeklistepunkter, forklaringer på fagtermer og ofte stillede spørgsmål (FAQs).
- Det skal være muligt søge i artikler
- Administrator skal kunne tilføje og administrere CMS-brugere
- Redaktør skal kunne ændre eget kodeord
- Alle brugere skal logge ind i CMS administrationspanel via 2-faktor.
- Redektører skal kunne filtrere indhold på udgivet og kladdeversioner samt sortere på dato og kategorier
- Redaktøren skal kunne angive følgende per artikel: Titel, kategori, tags, angivelse af ugenumre, hvor artikel dermed vil blive vist på forsiden ved den pågældende graviditetsuge, angivelse af ugenumre, hvor artikel dermed vil blive vist på forsiden den pågældende efter fødsel er angivet, sektioner, hvorvidt artikel skal skjule på forside, samt tekst og medier.
- På artikel skal forfatter og dato for udgivet/published eller sidst redigeret/modified sættes
- Redaktører skal kunne eksportere alle tekster fra CMS’en til en samlet tekstfil
Indholdstyper
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
Læsevejledning og forudsætninger
...
<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.>
<snitflade 1>
<Beskrivelse af hver snitflade input/output>
<snitflade 1>Request
<beskrivelse af request>
<Marker hvilke der er obligatoriske. Gerne en beskrivende tekst på samtlige parametre, og gerne også et eksempel på hvilke data der kan sættes ind her. Selv hvis man forstår beskrivelsen, så er det stadig godt at have et eksempel. Angiv hvis der er undtagelser eller specielle hensyn>
...
<snitflade 1>Response
<beskrivelse af svar>
...
Strapi snitflade
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.
Indholdstyper
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 |
Strapi endpoints
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=* |
|---|
Eksempler på atrapi request/responses
TODO
Meilisearch snitflade
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.
...
Generelle koder, værdier, etc.
<Angiv eventuelle generelle koder, værdier, etc>
Fejlbeskeder
<Beskrivelse af fejlbeskeder, og i hvilke situationer man kan forvente at se disse i.
Noter omkring ting som går på tværs af services. Det kan være fejl som optræder generelt og som man skal være opmærksom på.>
Eksempler på request/response
Eksempler på request og response til de operationer der udstilles. De enkelte elementer er beskrevet under snitfladebeskrivelse.
<eksempel 1 på ..>
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<eksempel her> |
Herunder er nogle af de mest almindelige fejlbeskeder og deres årsager.
401 Unauthorized
- Mulige årsager:
- Der er sendt en authentication header med anmodningen. Selvom endpointet er offentligt vil enhver bearer token i headeren resultere i et ugyldigt kald.
- Endpointet er konfigureret til, at anmoderen skal være authenticated. Dette er default konfigurationen i Strapi.
- Løsninger:
- Gå til Strapi adminpanelet → Settings → Users & Permissions plugin → Roles → Public.
- Tjek, at “Find” og “FindOne” er markeret for alle indholdstyper, som du ønsker at tilgå. Dette tillader offentlige brugere at få adgang til de angivne indholdstyper uden at være autentificeret.
- Tjek, at authentication header ikke er sat.
Test
Ikke relevant.
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 10/4 2025 | Dikte Straadt/Trifork | Initiel udfyldning af dokumentation |