- Created by Ann-Sofie Hildebrandt, last modified on May 08, 2025
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 3 Next »
Denne side beskriver Datafordelerens moderniserede Dataleverancespecifikation (DLS).
Den moderniserede DLS
Den Moderniserede DLS vil bestå af registrets datamodel og en håndfuld maskinlæsbare bilag. På baggrund af disse vil den Moderniserede Datafordeler automatisk generere tjenester til datadistribution, herunder fildownloads, hændelser, GraphQL-tjenester og geodata-vektor-tjenester (WFS).
Bemærk
Autogenerering af hændelser og geodata-vektor-tjenester (WFS) først kommer med moderniseringsprojektets 3. udviklingsleverance.

Proces for ændring af DLS
Efter identifikation af ændringsbehov opdateres de relevante bilag, f.eks. for datamodel, distribution eller sikkerhed, som derefter afleveres i Datafordelerens DLS GitHub repository til validering af Datafordelerens Change team.
Når ændringerne er godkendt, implementeres de på testmiljøer og idriftsættes efterfølgende - begge dele efter aftale mellem register og Datafordelermyndighed.
Følgende distributionstjenester fra registerets datamodel er autogenereret på nuværende tidspunkt:
- Fildownload
- GraphQL-tjenester

Git og GitHub
Git er et versionsstyringssystem, til håndtering af filversioner. Et Git repository er en database, der indeholder alle filer, og tilhørende filhistorik, for et givent projekt.
Brugere kan arbejde på lokale kopier af repository og synkronisere ændringer med et centralt repository, hvilket muliggør effektivt samarbejde på de versionsstyrede filer.
GitHub er en webbaseret hostingplatform, der bygger på Git-versionskontrolsystemet, hvor udviklere kan gemme, dele, samarbejde om og administrere koderepositories.
For vejledning i brug af Git og GitHub, samt god praksis, henvises til Git – What is Git? og GitHub.
Proces for aflevering i GitHub
DLS afleveres i Datafordeler Repository, hvor DLS’en versionsstyres og interessenter kan samarbejde om ændringer. Datafordeler Repository er ikke offentligt tilgængelig, hvorfor GitHub-brugere, der ikke er tildelt adgang, vil blive vist en 404 fejlmeddelelse, når linket tilgås.
For at tilgå Datafordeler Repository kræves en GitHub-bruger. Når GitHub-brugeren er oprettet, kan rettigheder til at se repository opnås ved at kontakte Datafordelermyndigheden.

Branchingstrategi
Datafordeler Repository benytter en branchingstrategi, som skal sikre en stabil Main branch (produktionsversion), der kun opdateres via pull requests fra replikeringskanalernes branches.
Replikeringskanalernes branches navngives efter formatet main/rcXXXXX, hvor X angiver replikeringskanalens numeriske id.
For hver ny DLS oprettes en separat branch fra replikeringskanalens branch, navngivet efter DLS-versionen (f.eks. main/rc00018/version2.4.5).
Dette minimerer risikoen for utilsigtede ændringer i replikeringskanalens branch.

En replikeringskanal arbejder altså primært med to branches:
- main - hvor godkendte DLS'er afleveres til Datafordelermyndigheden.
- main/rcXXXXX - replikeringskanalens egen branch med seneste færdige DLS-version.
Ved udvikling af ny DLS oprettes midlertidigt en tredje branch navngivet efter DLS-versionsnummeret (f.eks. main/rc00123/version2.1), hvilket sikrer konsekvent navngivning på tværs af replikeringskanaler.
Fremgangsmåde
Det overordnede flow ser ud således:
- Der oprettes ny branch af registret til at lave ændringerne
- Registret ligger ændringerne op i branchen og udfører egen validering af filerne
- Registret opretter en pull-request med Datafordelermyndigheden som reviewer
- Datafordelermyndigheden reviewer / godkender og merger herefter ind i main-branchen hvis ændringerne godkendes.
DLS-Historik
Historik for registrenes DLS’er tilgås via commit-historikken i Datafordeler Repository.
DLS Validator – Værktøj til validering af DLS
For at automatisere og standardisere DLS-valideringsprocessen stiller Datafordeleren kommandolinjeværktøjet DLS Validator til rådighed for registre og andre aktører, der udarbejder DLS'er. Dette muliggør, at en DLS-ansvarlig selv kan kvalitetssikre og kontrollere, at en given DLS overholder de påkrævede standarder defineret af Datafordeleren (se sektion 5), før DLS'en sendes til Datafordeleren. Dermed kan udviklingstiden for nye DLS-versioner reduceres.
DLS Validator er et kommandolinjeværktøj, som validerer indholdet af Dataleverancespecifikationer (DLS'er), så dataintegritet og konsistens sikres, og dermed letter arbejdsgangen med at udvikle nye DLS'er.
Værktøjet validerer en række obligatoriske og valgfri komponenter af DLS'en, bl.a.:
- DLS-mappestruktur: Sikrer, at alle påkrævede mapper og filer er til stede.
- Datamodel (XSD- og XMI-filer): Sikrer at filerne er syntaktisk korrekte og fuldt deklarerede, samt at der er overensstemmelse mellem XSD- og XMI-definitioner.
- Distributions-bilag: Validerer diverse JSON-fil bilag mod angivne skemaer for at sikre korrekt formatering og indhold, samt overensstemmelse med datamodellen.
Adgang til værktøjet
DLS Validator, brugervejledning og tilhørende kildekode er tilgængelige via Datafordeler_DLS_Validering Repository. Bemærk at repository ikke er offentligt tilgængeligt, hvorfor adgang skal indhentes ved Datafordelermyndigheden. For at tilgå repository kræves en GitHub-bruger. Når GitHub-brugeren er oprettet, kan rettigheder til at se repository opnås ved at kontakte Datafordelermyndigheden.
Indhold af den moderniserede Dataleverancespecifikation
DLS'en er overordnet defineret af en hierarkisk mappestruktur, som versionsstyres i et Git repository. Repository indeholder en mappe for hvert register, som indsender og distribuerer data via Datafordeleren. Register-mapperne følger en veldefineret struktur og indeholder en række påkrævede og valgfri bilag, som Datafordeleren skal bruge for at modtage og distribuere data.
De følgende afsnit beskriver mappestrukturen, mappernes indhold og bilagenes skemaer, samt vejleder om deres udfyldelse.
Bilag i Datafordelerens DLS er primært maskinlæsbare JSON-filer, der kan valideres mod et tilhørende JSON-skema. Et JSON-skema kan definere komplekse objekter, påkrævede felter, gyldige værdier, etc. Den formelle definition via JSON-skemaet sikrer ensartet udfyldelse og letter validering af bilag.
Bemærk:
- Ikke alle bilag er påkrævede.
- Et JSON-objekt med påkrævede felter er ikke nødvendigvis i sig selv påkrævet. Med andre ord skal objektet være udfyldt korrekt, hvis det er angivet, og ellers ikke.
Overordnet mappestruktur
Datafordelerens repository har nedenstående, overordnede mappestruktur.
<Repository rodmappe>
- Guides
- Register
- <Navn på register>
- General
- DLS_metadata.json
- <Replikeringskanal ID>
- 1. Bitemporality
- 2. Datamodel
- 3. Security
- 4. Tabular_data
- 5. Raster_data
- General
- <Navn på register>
Mappe: Guides
Mappen "Guides" indeholder alle vejledninger til, hvordan bilagene i DLS'en udfyldes. Dette inkluderer både en beskrivelse af strukturen for bilagene, samt eksempler på hvordan disse udfyldes.
Der er ingen bilag i denne mappe, der skal afleveres til Datafordelermyndigheden, som del af DLS'en, da filerne heri blot er vejledninger.
Mappe: Register
Denne mappe indeholder en mappe for hvert register, som indsender og distribuerer data via Datafordeleren.
Mappe: Register / <Replikeringskanal ID>
Registrets mappe organiserer de bilag, som registret har udfyldt, per replikeringskanal. Et register kan have flere replikeringskanaler og de påkrævede bilag skal være udfyldt for hver kanal.
Mappe: Register / General
General-mappen skal indeholde følgende påkrævede, maskinlæsbare bilag:
- DLS_metadata.json, som bl.a. beskriver den DLS-format version, som registrets DLS og bilag følger.
Bilag | Krav |
DLS_metadata.json | Bilaget er påkrævet.Filen skal være navngivet som angivet her. |
Derudover kan et register i denne mappe specificere detaljer om registerets data, som ikke hører til i de øvrige mapper. Eksempler på bilag, hvis indhold hører hjemme i denne mappe er:
- Generelle detaljer, som gælder på tværs af flere replikeringskanaler, hvis dette er tilfældet for et register.
- Særlige forretningsregler, der har indflydelse på datadistribution samt eventuelle implementeringsdetaljer. Eksempelvis CPR og CVR's implementeringsdetaljer.
- Der understøttes udelukkende at der ligges maskinlæsbare formater (fx JSON og XML) samt Word-filer. Excel dokumenter understøttes ikke.
Bilag: DLS_metadata.json
Bilaget angiver hvilken version af DLS-formatet, den pågældende DLS følger – ikke registrets egen versionering af deres DLS. Ved idriftsættelse af den moderniserede Datafordeler, vil DLS-formatets version være "2.0".
Bilaget er formelt beskrevet af JSON-skemaet: DLS_Metadata_Schema.json.
Objekt | Beskrivelse |
version_format | En string, der beskriver det DLS-format versionsnummer, som den pågældende DLS følger og kan valideres imod. F.eks. "2.0", "2.1", "3.0". |
Filens brug til versionering er yderligere beskrevet i Versionering af DLS gennem DLS_metadata.json bilag.
Mappe: <Replikeringskanal ID>
Replikeringskanal-mappen indeholder en række undermapper, beskrevet i dette afsnit, som indeholder de maskinlæsbare bilag, der definerer den pågældende replikeringskanals distribution af data via Datafordeleren.
Mappen navngives efter formatet: "rc<numerisk id, prefikset med 0, op til 5 cifre>". F.eks. "rc00001"
Mappe: 1. Bitemporality
Mappen er tiltænkt bilag, der beskriver replikeringskanalens bitemporale model. Eksisterende registres bitemporale model er veldefinerede i Datafordeleren. Et nyt register vil være nødsaget til at indlevere bilag, der specificerer den bitemporale model.
Bemærk: Dette er ikke aktuelt for moderniseringsprojektets 2. udviklingsleverance, men kommer senere med 3. udviklingsleverance.
Mappe: 2. Datamodel
I Datamodel-mappen placeres de bilag, der definerer replikeringskanalens logiske- og fysiske datamodel.
Den fysiske datamodel specificeres i en XSD-fil, mens den logiske datamodel specificeres i en XMI-fil. Der er i øjeblikket ingen krav til navngivning af filerne.
Bilag | Krav |
<filnavn>.xsd | Bilaget er påkrævet. |
<filnavn>.xmi | Bilaget er påkrævet. |
Bilag: Fysisk datamodel (XSD)
Den fysiske datamodel specificeres i en XSD-fil, der beskriver hvordan data ser ud på indlæsnings- og distributionstidspunktet.
XSD-filen indeholder:
- Entiteter, som også er specificeret i den logiske datamodel (XMI), som enten simple eller komplekse data-typer.
- Entitets-felter med dokumentation, begrænsninger (minimum- og maksimum værdier, minimum og maksimum forekomster, etc.) og UUID-reference til den logiske datamodel.
Eksempel på UUID angivelse:
<xs:annotation> <xs:appinfo>EAID_B4EB6CD9_K545_9c37_A782_84B303BDE25A</xs:appinfo> </xs:annotation>
Eksempel på angivelse af begrænsninger som en del af <xs:element> linjen:
<xs:element name="navnPåElement" type="xs:string" minOccurs="0" maxOccurs="1">
Bilag: Logisk datamodel (XMI)
Den logiske datamodel specificeres i en XMI-fil, der definerer egenskaber og datatyper for entiteter, samt deres indbyrdes relationer. Alle elementer, attributter og relationer identificeres med UUID.
Filen indeholder følgende:
- Entiteter
- Relationer (interne og til andre registres entiteter)
- Entiteternes felter
- Forretningsmæssig betydning af felterne
- Attributter
- Datatyper på felter
- Udfaldsrum for kodelister
- Metadata på felter
Mappe: 3. Security
I Security-mappen beskrives et registers sikkerhedsmodel. Sikkerhedsmodellen specificeres i én fil, som beskriver hvilket sikkerhedsniveau der er påkrævet, for at tilgå registerets forskellige entiteter via Datafordeleren. Datafordeleren opererer med tre sikkerhedsniveauer.
Sikkerhedsniveau | Navn | Beskrivelse |
1 | Kendt bruger | Data kan indeholde almindelige personoplysninger, som er omfattet af databeskyttelsesforordningen og databeskyttelsesloven. Tilgængelig for alle typer af log-in på Datafordeleren (e-mailadresse, MitID Privat og MitID Erhverv). |
2 | Begrænset data | Data indeholder almindelige personoplysninger eller oplysninger, der er særligt beskyttelsesværdige, og som er omfattet af databeskyttelsesforordningen og databeskyttelsesloven. Tilgængelig for log-in med MitID Erhverv, hvor brugeren har anmodet om og eksplicit fået godkendt adgang til denne data af registret. |
3 | Specielle begrænsede data | Data indeholder almindelige personoplysninger, følsomme personoplysninger eller oplysninger, der er særligt beskyttelsesværdige, og som er omfattet af databeskyttelsesforordningen og databeskyttelsesloven. Tilgængelig for log-in med MitID Erhverv, hvor brugeren har anmodet om og eksplicit fået godkendt adgang til denne data af registret. |
Ved udfyldelse af bilaget kan sikkerhedsniveauet specificeres på to niveauer:
- DefaultSecurity: Gælder alle entiteter.
- SpecificSecurity: Angiver entitetsspecifikke værdier og har forrang over DefaultSecurity.
Mindst én af ovenstående skal angives i bilaget. Hvis DefaultSecurity ikke er udfyldt, skal SpecificSecurity være udfyldt for mindst ét sikkerhedsniveau.
Følgende tabel fremviser eksempler for mulige kombinationer af DefaultSecurity og SpecificSecurity udfyldelse.
Bilag | Krav |
Security_Model.json | Bilaget er påkrævet. Filen skal være navngivet som angivet i venstre kolonne. Eksempler: Security_Model.json (Alle entiteter udstilles med Security Level 1)
Expand source
{
"DefaultSecurity": 1
}
Security_Model.json (Der er eksplicit angivet hvilke entiteter der udstilles med Security Level 1 og Secuirty Level 2)
Expand source
{
"SpecificSecurity": [
{
"SecurityLevel": 1,
"Entities": []
},
{
"SecurityLevel": 2,
"Entities": [
"AlternativAdresseType",
"EjendomsadministratorType",
"EjerskabType",
"EjerskabsskifteType"
]
},
{
"SecurityLevel": 3,
"Entities": [
"Ejerskifte_bilagsbankRefType",
"HandelsoplysningerType",
"PersonEllerVirksomhedsadminiType",
"PersonVirksomhedsoplysType"
]
}
]
}
Security_Model.json (Alle entiteter udstilles med Security Level 1 med undtagelse af CVRPersonType som er SecurityLevel 3).
Expand source
{
"DefaultSecurity": 1,
"SpecificSecurity": [
{
"SecurityLevel": 3,
"Entities": [
"CVRPersonType"
]
}
]
}
|
Bemærk
Hvis et register ikke bruger DefaultSecurity og ikke har beskrevet alle entiteter ved hjælp af SpecificSecurity, så vil de antages at have et Security Level 1.
Bilaget er ydermere beskrevet formelt i JSON-skemaet: Security_model_Schema.json som findes i Datafordeler Repository.
Mappe: 4. Tabular_data
Registre, som indsender og distribuerer tabulære data via Datafordeleren, skal for den pågældende replikeringskanal vedlægge bilag i Tabular_data-mappen, der beskriver hvordan data skal distribueres via Datafordelerens distributionstjenester, dvs. prædefinerede og prægenererede fildownloads.
Bemærk at vektordata også betragtes som tabulær data.
Bilag: Automated_Predefined_Filedownloads.json
Bilaget definerer hvilke fildownload Datafordeleren skal inkludere i de autogenererede distributionstjenester.
For hver entitet specificeres:
- Adgangsrettigheder
- Opdateringsfrekvens
- Type (delta/total)
Angives entitetsnavn som "All", gælder indstillingerne for alle registerets entiteter.
Bilaget er formelt beskrevet i JSON-skemaet: Automated_Predefined_Filedownloads_Schema.json.
Automated_Predefined_Filedownloads-bilaget består således af en liste af objekter med felter som beskrevet i nedenstående tabel.
Hvis der ikke skal distribueres prædefinerede fildownload udfyldes bilaget blot med en tom liste.
Objekt | Beskrivelse |
EntityName | String: Navnet på entiteten. Nødvendig. |
FileDownloadType | Enumeration: Angiver, om det er et delta- eller totaldownload. Nødvendig. 1: Totaldownload 2: DeltaDownload |
TypeOfData | Enumeration: Angiver typen af data. Nødvendig. 1: Current 2: Temporal 3: Bitemporal |
Frequency | Number: Angiver antallet af dage mellem generering af nyt fildownload. Nødvendig.(Der kan angives enten værdien 1 eller 7. |
SecurityLevel | Enumeration: Angiver hvem der har adgang til data. Nødvendig. Deprecated, skal fortsat udfyldes her også men bruges ikke aktivt længere. Det gøres i stedet i Mappe: 3. Security. 1: KnownUser 2: Restricted 3: SpecialRestricted |
Eksempler på udfyldelse af filen fremgår i følgende tabel.
Bilag | Krav |
Automated_Predefined_Filedownloads.json | Bilaget er påkrævet. Filen skal være navngivet som angivet her i venstre kolonne. Eksempler på udfyldelse: Automated_Predefined_Filedownloads.json – Beskriver udvælgelse på entitetsniveau
Expand source
[
{
"EntityName": "BBRSag",
"FileDownloadType": "1",
"TypeOfData": "3",
"Frequency": "7",
"SecurityLevel": "2"
},
(… eventuelle resterende entiteter)
]
Automated_Predefined_Filedownloads.json – Beskriver udvælgelse på baggrund af kombinationen af TypeOfData og FileDownloadType
Expand source
[
{
"EntityName": "All",
"FileDownloadType": "1",
"TypeOfData": "3",
"Frequency": "7",
"SecurityLevel": "2"
},
{
"EntityName": "All",
"FileDownloadType": "1",
"TypeOfData": "2",
"Frequency": "7",
"SecurityLevel": "2"
},
{
"EntityName": "All",
"FileDownloadType": "1",
"TypeOfData": "1",
"Frequency": "7",
"SecurityLevel": "2"
},
{
"EntityName": "All",
"FileDownloadType": "2",
"TypeOfData": "3",
"Frequency": "1",
"SecurityLevel": "2"
}
]
|
Bilag: Automated_Pregenerated_Filedownloads.json
Bilaget definerer hvilke prægenererede fildownload som registeret afleverer til Datafordeleren.
For hvert prægenereret fildownload angives et filnavn, sikkerhedsniveau og filformat, hvis registret ønsker denne type distribution.
Bilaget er formelt beskrevet af JSON-skemaet: Automated_Pregenerated_Filedownloads_Schema.json.
Automated_Pregenerated_Filedownloads bilaget består således af en liste af objekter med felter som beskrevet i nedenstående tabel.
Objekt | Beskrivelse |
FileName | String: Navnet på filen. Nødvendig. |
SecurityLevel | Enumeration: Angiver hvem der har adgang til data. SecurityLevel er beskrevet i 0 . Nødvendig. |
FileFormat | String: Angiver filformatet, f.eks. "XML". Nødvendig. |
Eksempel på udfyldelse ses i følgende tabel.
Bilag | Krav |
Automated_Pregenerated_Filedownloads.json | Bilaget er valgfrit. Filen skal være navngivet som angivet i venstre kolonne. Eksempel: Automated_Pregenerated_Filedownloads.json
Expand source
[
{
"Filename": "MatrikelGeometriGaeldendeDKComplete_GML_2022092",
"SecurityLevel": "2",
"FileFormat": "JSON"
},
{
"Filename": "DAGI10MULTIGEOMHIST",
"SecurityLevel": "1",
"FileFormat": "GML"
}
]
|
Mappe: 5. Raster_data
Registre, som indsender og distribuerer rasterdata via Datafordeleren, skal for den pågældende replikeringskanal vedlægge bilag i Raster_data-mappen, der beskriver hvordan data skal distribueres via Datafordelerens distributionstjenester, det vil sige prægenererede fildownload.
Bilag: Automated_Pregenerated_Filedownloads.json
Bilaget definerer hvilke prægenererede fildownload som registeret afleverer til Datafordeleren.
For hvert prægenereret fildownload angives et filnavn, sikkerhedsniveau og filformat, hvis registret ønsker denne type distribution.
Bilaget er formelt beskrevet af JSON-skemaet: Automated_Pregenerated_Filedownloads_Schema.json.
Automated_Pregenerated_Filedownloads bilaget består således af en liste af objekter med felter som beskrevet i nedenstående tabel.
Objekt | Beskrivelse |
FileName | String: Navnet på filen. Nødvendig. |
SecurityLevel | Enumeration: Angiver hvem der har adgang til data. SecurityLevel er beskrevet i 0 . Nødvendig. |
FileFormat | String: Angiver filformatet, f.eks. "XML". Nødvendig. |
Eksempel på udfyldelse ses i følgende tabel.
Bilag | Krav |
Automated_Pregenerated_Filedownloads.json | Bilaget er valgfrit. Filen skal være navngivet som angivet i venstre kolonne. Eksempel: Automated_Pregenerated_Filedownloads.json
Expand source
[
{
"Filename": "DHM2015_terraen",
"SecurityLevel": "1",
"FileFormat": "GeoTIFF"
}
]
|
Versionering
Filer versioneres automatisk gennem Githubs indbyggede versionsstyring. Versionering af maskinlæsbare formater bruger Git´s indbyggede versionering. Ændringer i disse filer kan således findes ved at bruge Git diff funktionaliteten direkte i ens lokale kommandoprompt eller ved at finde filen i Github og kigges på tidligere commits.
Git diff (funktionalitet til at se forskel på to filer)
- Navigér til repositoriet på din computer
- cd sti/til/mappen
- Se commits
- Git log –oneline
- Vælg forskel mellem to commit hashes
- git diff <commit_hash_1> <commit_hash_2> --filsti/til/filen/man/fil/se/forskel/på
Verificering via Github (Mere visuel vej til at se forskel)
Naviger til Datafordeler Repository
- Find filen du vil se ændringen på
- Se eksempel i figuren til højre.

Eksempler på bilag der versioneres således:
- JSON
- XML
Versionering af ikke-maskinlæsbare filer gennem Githubs versionsstyring understøtter ikke at man kan tjekke forskelle mellem versioner via eksempelvis Git diff. Dette kan eksempelvis gøres for Word-dokumenter udenfor Git.
Versionering af DLS gennem DLS_metadata.json bilag
Bilaget angiver hvilken version af DLS-formatet, den pågældende DLS følger – ikke registrets egen versionering af deres DLS. Ved idriftsættelse af den moderniserede Datafordeler, vil DLS-formatets version være "2.0".
Hvis der tilføjes / fjernes bilag fra DLS'en i fremtiden, bruges dette til at være bagud kompatibelt. Datafordeleren øger versionsnummeret, når en ny DLS-format version kommer ud. Dette skal registrene tilføje som værdi i deres DLS_metadata.json bilag.
Versionering af datamodel
Når et register ændrer i dets datamodel, kan det håndteres ved enten at oprette en replikeringskanal eller opdatere den eksisterende.
Opdatering af eksisterende replikeringskanal
Når et register ændrer i dets datamodel, skal registeret aflevere følgende bilag, som bruges til at generere services:
- XSD for nuværende datamodel (As-is XSD) samt tilhørende XMI.
- XSD'en specificerer dataformatet af den nuværende datamodel. Den tilhørende XMI beskriver dens relationer. Disse filer blev brugt til at generere den nuværende version af services og fildownloads.
- XSD for kommende datamodel (To-be XSD) samt tilhørende XMI.
- XSD'en specificerer dataformatet af den opdaterede datamodel. Den tilhørende XMI beskriver dens relationer. Disse filer vil blive brugt til at generere den opdaterede version af services og fildownloads.
- XSD for data-replikering (Replication XSD).
- XSD-filen beskriver dataformatet som registret vil replikere til Datafordeleren i transitionsperioden
- Replikerings-XSD-skemaet skal specificere type- og elementbegrænsninger, der er gyldige for den strengest mulige fortolkning af datavaliditet som defineret i både nuværende (as-is) og kommende (to-be) skemaer.
- Eksempel på data-replikerings-XSD begrænsning
- Hvis et register har specificeret at en specifik streng har en max længde på 250 karakterer i deres as-is XSD og deres to-be XSD har specificeret for samme streng en max længde på 500 karakterer, så skal replikering XSD'en begrænse max længden til 250 karakterer under transitionsperioden. Efter udfasningsperioden er slut, kan as-is XSD'en blive fjernet fra registrets DLS og data-replikering XSD'en kan blive ændret til to-be XSD skemaet. Herefter kan registret bruge de eventuelle nye regler fra as-is XSD'en (den tidligere to-be XSD). I stedet burde registret tilføje et nyt felt.
- Et regelsæt der beskriver hvordan XSD-skemaet for data-replikering oversættes til den nuværende (As-is XSD) samt kommende (To-be XSD).
- Det er tilladt at udelade entiteter, felter og typer fra XSD-skemaet for data-replikering, som ikke eksisterer i de andre skemaer.
- Det er tilladt at omdøbe entiteter og felter mellem datamodel-versioner.
- Det er ikke tilladt at ændre felter. I stedet skal et register specificere et nyt felt som er fyldt med konverteret data fra det eksisterende felt. Efter perioden for afskrivning af nuværende, bliver det gamle felt slettet og det nye felt kan omdøbes hvis det er nødvendigt.
Så længe der er paralleldrift på flere versioner af samme datamodel, vil det være påkrævet af et register at aflevere XSD-skemaer på de datamodeller der driftes. Dette betyder også, at hvis et register har paralleldrift på 3 datamodeller, vil det være påkrævet af et register at aflevere tilsvarende flere XSD-skemaer. Bemærk at det ikke anbefales at have mere end 2 modeller ad gangen.

Oprettelse af ny replikeringskanal
- Aflever DLS i Github
- Netcompany Forvaltning opretter ny replikeringskanal jævnfør eksisterende proces
Versionering af fildownload og GraphQL-tjenester
Fildownload bliver automatisk genereret baseret på den leverede fysiske datamodel der leveres af et register. Fildownload versioneres derfor også på tværs af replikeringskanaler, hvilket vil sige at ændringer i enkelte entiteter vil forårsage en ny version af alle fildownload for den replikeringskanal, hvis ændringen indebærer at anvenderne skal lave ændringer i eget systemet for at bruge den pågældende tjeneste. Eksempelvis hvis der fjernes et felt eller en entitet. Det samme gør sig gældende for GraphQL-tjenester.
- No labels