Fiks Arkiv er en modernisering av GI Arkiv 1.1 og det nye grensesnittet som anbefales brukt når kommunen skal sette opp kommunikasjonen mellom et fagsystem og en arkivløsning.
I dette github repositoriet finner man json schemas og dokumentasjon for Fiks Arkiv protokollen.
Gå til wiki for å lese mer om protokollen.
Skjemaene er i xsd-format og ligger under Schema/V1
.
Det er et skjema for hver meldingstype som har en payload og som har samme navn som meldingstype, samt delte skjema med fellest datatyper.
Se gjerne filen meldingstyper.json
for hvilke meldingstyper som er i denne protokollen og hvordan de henger sammen. Man kan også se på den genererte UML-modellen som viser hvordan meldingstypene henger sammen.
Hver meldingstype som har en payload har et tilhørende xsd-skjema med samme navn.
Eventuelt les mer om meldingstyper i Wiki.
Under mappen kodelister ligger eksempler på kodelister i json-format samt diagram som gir oversikt over innhold.
Eksempler, schemas samt genererte models basert på schemas er tilgjengelig for .NET og java. Dette skal forenkle det å hente schemas og bygge meldinger i protokollen.
Disse github prosjektene pakker sammen schemas, genererte modeller og hjelpeklasser for .NET og Java.
Nuget og Maven pakker som er resultat av github prosjektene.
For hver versjon av protokollen vil det følge en egen dokumentasjon som baserer seg på Markdown og PlantUML. Modeller ligger i dette repositoriet mens dokumentasjonen ligger i wiki.
Når man gjør endringer i PlantUML koden kan man kjøre generate-png-from-puml.sh
scriptet for å generere png filer ut av PlantUML koden. Dette forutsetter at man har installert PlantUML og graphviz.
I mappen Dokumentasjon i dette repoet finner man diagrammer for denne versjonen av protokollen. Disse diagrammene brukes gjerne i Wiki og dokumentasjonen der. Diagrammene er stort sett utarbeidet vha PlantUML. Kildekoden i PlantUML for diagrammene ligger da der også hvis man ønsker å bruke de som utgangspunkt i videre arbeid eller ønsker å forbedre de.
Vi bruker PlantUML for å tegne diagrammer som så blir eksportert til png og svg filer. For eksempel bruker vi PlantUML til å generere oversikten over sammenhengen mellom meldingstyper ut i fra meldingstyper.json
filen.
Vi genererer også PlantUML kode fra xsd filene for å vise datamodellen vha PHP biblioteket xsdata
For å generere nye modeller i prosjektet kan man kjøre generate-uml.sh
scriptet.