Skip to content

Commit

Permalink
Alternativt forslag til JSON ved oppretting, som bruker _embedded.
Browse files Browse the repository at this point in the history
Merk, dette forslaget er basert på ideer i mangelmelding arkivverket#25.

Løser også utfordringer omtalt i mangelmelding arkivverket#285.
  • Loading branch information
petterreinholdtsen committed Mar 7, 2023
1 parent 015d16c commit fb35554
Showing 1 changed file with 127 additions and 129 deletions.
256 changes: 127 additions & 129 deletions kapitler/06-konsepter_og_prinsipper.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1324,15 +1324,16 @@ resultatkoden 406, ikke resultatkode 200.
**Opplasting**
Opplasting av dokumentfiler kan enten gjøres fra registrering,
dokumentbeskrivelse eller dokumentobjekt. Hvis det gjøres fra
registrering, så returneres en JSON-liste med nyopprettet
dokumentbeskrivelse og dokumentobjekt. Hvis det gjøres fra
dokumentbeskrivelse så returneres et enkelt JSON-objekt med opprettet
dokumentobjekt. Hvis det gjøres fra dokumentobjekt så returneres et
oppdatert dokumentobjekt. Når det lastes opp fra registrering og
dokumentbeskrivelse så må metadata i de opprettende entitetene sjekkes
og eventuelt oppdateres etter opplasting.
Opplasting av dokumentfiler kan enten gjøres fra mappe, registrering,
dokumentbeskrivelse eller dokumentobjekt. Resultatet fra en vellykket
opplasting returnerer JSON for det nyopprettede eller oppdaterte
dokumentobjektet med HATEOAS "embedded"-informasjon som beskrevet i
JSON Hypertext Application Language om de nyopprettede
foreldreentietene. De nyopprettede entitetene er ferdig utfylt med
verdier hentet fra den opplastede filen der det er mulig, eller gis
verdien 'UNKNOWN'. Etter opplasting og eventuell nyoppretting av
entiteter så må metadata i de opprettende entitetene sjekkes og
eventuelt oppdateres.
Eksempel på oppretting fra registrering
Expand All @@ -1346,127 +1347,124 @@ Eksempel på oppretting fra registrering
Respons: 201 Created
{
"results": [
{
"systemID":"0003f272-918a-444d-9db0-f76f8b2cb4a7",
"dokumenttype":{
"kode":"NQ",
"kodenavn":"Bilde"
},
"dokumentstatus":{
"kode":"F",
"kodenavn":"Dokumentet er ferdigstilt"
},
"tittel":"1629",
"dokumentnummer":1,
"tilknyttetDato":"2021-06-09T11:13:33+02:00",
"tilknyttetAv": "pålogget bruker",
"referanseTilknyttetAv": "8f58d80c-9b5c-4ddf-af5a-764f08a7661e",
"tilknyttetRegistreringSom":{
"kode":"H",
"kodenavn":"Hoveddokument"
},
"opprettetDato":"2021-06-09T11:13:33+02:00",
"opprettetAv":"[email protected]",
"endretDato":"2021-06-09T11:13:33+02:00",
"endretAv": "pålogget bruker",
"referanseEndretAv": "8f58d80c-9b5c-4ddf-af5a-764f08a7661e",
"_links":{
"self":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentbeskrivelse/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/registrering/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/registrering"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentobjekt/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/dokumentobjekt/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-dokumentobjekt/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-dokumentobjekt/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/part/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/part/",
"templated":true
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-partperson/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-partperson/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-partenhet/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-partenhet/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/merknad/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/merknad/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-merknad/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-merknad/"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/graderingskode/":{
"href":"https://n5.example.com/api/metadata/graderingskode"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/slettingstype/":{
"href":"https://n5.example.com/api/metadata/slettingstype"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/dokumentmedium/":{
"href":"https://n5.example.com/api/metadata/dokumentmedium"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/dokumentstatus/":{
"href":"https://n5.example.com/api/metadata/dokumentstatus"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/dokumenttype/":{
"href":"https://n5.example.com/api/metadata/dokumenttype"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/tilgangsrestriksjon/":{
"href":"https://n5.example.com/api/metadata/tilgangsrestriksjon"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/skjermingdokument/":{
"href":"https://n5.example.com/api/metadata/skjermingdokument"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/skjermingmetadata/":{
"href":"https://n5.example.com/api/metadata/skjermingmetadata"
}
}
},
{
"systemID": "e37be679-f87b-4485-a680-4c3e3c529bdf",
"versjonsnummer": "1",
"variantformat": {
"kode": "A",
"kodenavn": "Arkivformat"
},
"format": {
"kode": "RA-JPEG",
"kodenavn": "JPEG (ISO 10918-1:1994)"
},
"filnavn": "portrait.jpeg",
"filstoerrelse": 2000000,
"mimeType": "image/jpeg",
"sjekksum": "40cbd5b88175e268ef3a1c286ad7d46ff69c22787d368e8635cae7edca4b5625",
"sjekksumAlgoritme": "SHA-256",
"referanseDokumentfil": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf/referanseFil",
"_links": {
"self": {
"href": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentobjekt/": {
"href": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/fil/": {
"href": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf/referanseFil"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentbeskrivelse/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/"
}
}
}
],
"count" : 2
}
{
"systemID": "e37be679-f87b-4485-a680-4c3e3c529bdf",
"versjonsnummer": "1",
"variantformat": {
"kode": "A",
"kodenavn": "Arkivformat"
},
"format": {
"kode": "RA-JPEG",
"kodenavn": "JPEG (ISO 10918-1:1994)"
},
"filnavn": "portrait.jpeg",
"filstoerrelse": 2000000,
"mimeType": "image/jpeg",
"sjekksum": "40cbd5b88175e268ef3a1c286ad7d46ff69c22787d368e8635cae7edca4b5625",
"sjekksumAlgoritme": "SHA-256",
"referanseDokumentfil": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf/referanseFil",
"_links": {
"self": {
"href": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentobjekt/": {
"href": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/fil/": {
"href": "https://n5.example.com/api/arkivstruktur/Dokumentobjekt/e37be679-f87b-4485-a680-4c3e3c529bdf/referanseFil"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentbeskrivelse/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/"
}
},
"_embedded": {
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentbeskrivelse/":{
"systemID":"0003f272-918a-444d-9db0-f76f8b2cb4a7",
"dokumenttype":{
"kode":"NQ",
"kodenavn":"Bilde"
},
"dokumentstatus":{
"kode":"F",
"kodenavn":"Dokumentet er ferdigstilt"
},
"tittel":"1629",
"dokumentnummer":1,
"tilknyttetDato":"2021-06-09T11:13:33+02:00",
"tilknyttetAv": "pålogget bruker",
"referanseTilknyttetAv": "8f58d80c-9b5c-4ddf-af5a-764f08a7661e",
"tilknyttetRegistreringSom":{
"kode":"H",
"kodenavn":"Hoveddokument"
},
"opprettetDato":"2021-06-09T11:13:33+02:00",
"opprettetAv":"[email protected]",
"endretDato":"2021-06-09T11:13:33+02:00",
"endretAv": "pålogget bruker",
"referanseEndretAv": "8f58d80c-9b5c-4ddf-af5a-764f08a7661e",
"_links":{
"self":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentbeskrivelse/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/registrering/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/registrering"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/dokumentobjekt/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/dokumentobjekt/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-dokumentobjekt/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-dokumentobjekt/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/part/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/part/",
"templated":true
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-partperson/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-partperson/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-partenhet/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-partenhet/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/merknad/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/merknad/"
},
"https://rel.arkivverket.no/noark5/v5/api/arkivstruktur/ny-merknad/":{
"href":"https://n5.example.com/api/arkivstruktur/dokumentbeskrivelse/0003f272-918a-444d-9db0-f76f8b2cb4a7/ny-merknad/"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/graderingskode/":{
"href":"https://n5.example.com/api/metadata/graderingskode"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/slettingstype/":{
"href":"https://n5.example.com/api/metadata/slettingstype"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/dokumentmedium/":{
"href":"https://n5.example.com/api/metadata/dokumentmedium"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/dokumentstatus/":{
"href":"https://n5.example.com/api/metadata/dokumentstatus"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/dokumenttype/":{
"href":"https://n5.example.com/api/metadata/dokumenttype"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/tilgangsrestriksjon/":{
"href":"https://n5.example.com/api/metadata/tilgangsrestriksjon"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/skjermingdokument/":{
"href":"https://n5.example.com/api/metadata/skjermingdokument"
},
"https://rel.arkivverket.no/noark5/v5/api/metadata/skjermingmetadata/":{
"href":"https://n5.example.com/api/metadata/skjermingmetadata"
}
}
}
}
}
Et dokumentobjekt opprettes før opplasting. Hvis noen av feltene
Et dokumentobjekt kan opprettes før opplasting. Hvis noen av feltene
«format», «mimeType», «filnavn», «sjekksum», «sjekksumAlgoritme» og
«filstoerrelse» er fylt inn ved opprettelsen skal tjeneren verifisere
at verdiene i de angitte feltene stemmer når den komplette filen er
Expand Down

0 comments on commit fb35554

Please sign in to comment.