Skip to content

Manuel overgang fra DAWA til DAR ​

Til Windows/IIS-installationer uden understøttet opdateringsscript

Denne vejledning beskriver den manuelle DAWA-til-DAR-migrering for OneDoor-installationer på Windows med IIS og HttpPlatformHandler, hvor det automatiske opdateringsscript ikke kan bruges.

Hvis scriptet kan bruges til installationen, bør I i stedet følge vejledningen til automatisk opdatering. Scriptet udfører ændringerne nedenfor og validerer konfigurationen automatisk.

Vejledningen gælder installationer, der opgraderes fra en OneDoor-version før 1.25.42. Nyere installationer anvender allerede DAR.

Inden I går i gang ​

  1. Få installationens Septima API-token. Har I ikke modtaget tokenet, kan I kontakte jorgen@septima.dk.
  2. Tag backup af hele OneDoors konfigurationsmappe.
  3. Find alle YAML-filer under installationens config-mappe samt config/config.json.
  4. Planlæg et kort driftsstop, mens OneDoor-pakken og konfigurationen opdateres.

Beskyt tokenet

Tokenet er en adgangsoplysning. Del det ikke i mails, skærmbilleder, supportsager eller logfiler. Begræns læseadgangen til konfigurationsfilerne til de brugere og processer, der skal køre OneDoor.

1. Stop IIS application pools ​

Stop de IIS application pools, der betjener OneDoor-sitet, inden du redigerer konfigurationen. Start de samme pools igen efter migreringen.

2. Opdatér OneDoor Server ​

Sæt @septima/onedoor-server til version 1.25.42 eller nyere i installationens package.json, og installér dependencies igen:

bash
yarn

3. Skift konfigurationen fra DAWA til DAR ​

Gennemgå alle YAML-filer (.yml og .yaml) i alle mapper under installationens config-mappe — ikke kun config.yml og ikke kun under config/organisations — og foretag følgende ændringer.

Skift søgereferencer ​

Erstat:

yaml
_ref: $.searchers.dawa

eller:

yaml
_ref: $.searchers.Dawa

med:

yaml
_ref: $.searchers.dar

Skift også referencen i definitionen af organisationens searcher:

yaml
searchers:
  dawa:
    _ref: $.standardkommune.dawa

til:

yaml
searchers:
  dar:
    _ref: $.standardkommune.dar

Opdatér DMP-importen ​

Skift:

yaml
import:
  sections:
    - name: dmp
      dir: $.env.configDir

til:

yaml
import:
  sections:
    - name: dmp
      dir: $.env.libDir/lib/standardkommune

Opdatér targets for husnummer og vej ​

Skift target for omHusnummeret:

yaml
omHusnummeret:
  _type: Septima.Search.ComposedDetailsHandler
  _options:
    targets: [{source: '*', typeId: 'adresse'}]

til:

yaml
omHusnummeret:
  _type: Septima.Search.ComposedDetailsHandler
  _options:
    targets: [{source: 'dar', typeId: 'husnummer'}]

Skift target for omVej:

yaml
omVej:
  _type: Septima.Search.ComposedDetailsHandler
  _options:
    targets: [{source: 'Dawa', typeId: 'vej'}]

til:

yaml
omVej:
  _type: Septima.Search.ComposedDetailsHandler
  _options:
    targets: [{source: 'dar', typeId: 'navngivenvejpostnummer'}]

Skift searchertypen ​

Definerer konfigurationen selv en searcher med _type, skal typen hedde præcis Septima.Search.DarSearcher — med namespace og store bogstaver som vist. Erstat fx:

yaml
_type: Septima.Search.DawaSearcher

med:

yaml
_type: Septima.Search.DarSearcher

I version 1.25.44 konfigureres tokenet centralt i config/config.json som beskrevet i trin 4. Optionerne septimaapitoken og septimaapiendpoint bruges ikke længere af DAR-søgeren og kan fjernes fra dens _options.

Opgraderer I til version 1.25.42, skal alle steder, hvor der står _type: Septima.Search.DarSearcher, have optionen septimaapitoken under _options:

yaml
_type: Septima.Search.DarSearcher
_options:
  kommunekode:
    _ref: $.parameters.kommunekode
  septimaapitoken:
    _ref: $.parameters.septimaapi.token

Har searcheren allerede _options, tilføjes septimaapitoken blot sammen med de eksisterende options. Har den ingen _options, oprettes blokken.

Udskift øvrige DAWA-navne ​

Udskift alle øvrige forekomster af dawa og .dawa i YAML-filerne med dar og .dar — fx navne på searchers, detailhandlers og source-værdier:

yaml
_ref: $.detailhandlers.dawa
targets: [{source: 'Dawa', typeId: 'adresse'}]

til:

yaml
_ref: $.detailhandlers.dar
targets: [{source: 'dar', typeId: 'adresse'}]

URL'er og domænenavne, fx dawa.dk eller https://api.dataforsyningen.dk/dawa/..., skal ikke ændres.

4. Indsæt Septima API-token ​

I version 1.25.44 skal tokenet indsættes centralt i installationens config/config.json under searchApi.token.

Opgraderer I til version 1.25.42, skal tokenet også indsættes i organisationernes params.yml. Brug i så fald samme token begge steder.

params.yml (version 1.25.42) ​

Find params.yml for hver organisation, der bruger DAR. Tilføj septimaapi under den eksisterende topniveau-nøgle parameters:

yaml
parameters:
  septimaapi:
    token: "DinUnikkeToken"

Bevar de øvrige værdier under parameters. Findes parameters.septimaapi.token allerede og indeholder den en gyldig værdi, skal den ikke ændres — brug i så fald samme token i config.json.

config/config.json ​

Åbn installationens topniveau-config.json i config-mappen. Tilføj searchApi sidst i objektet, før den afsluttende }. Husk kommaet efter den foregående værdi:

json
,
"searchApi": {
  "token": "DinUnikkeToken"
}

Den samlede fil kan fx se sådan ud:

json
{
  "servername": "Test-server",
  "logLevel": "info",
  "logTarget": "file",
  "uiDevMode": true,
  "allow_origins": [
    "*"
  ],
  "searchApi": {
    "token": "DinUnikkeToken"
  }
}

Findes searchApi.token allerede med en gyldig værdi, skal den ikke ændres.

5. Kontrollér konfigurationen ​

Søg i alle YAML-filer under config efter resterende DAWA-referencer. Følgende må ikke længere forekomme, bortset fra i URL'er og domænenavne:

text
dawa
Dawa
DawaSearcher
$.searchers.dawa
$.standardkommune.dawa

Kontrollér også, at:

  • config/config.json indeholder et gyldigt searchApi.token og stadig er gyldig JSON
  • ved opgradering til version 1.25.42: alle _type: Septima.Search.DarSearcher har optionen septimaapitoken med _ref: $.parameters.septimaapi.token, og alle organisationer, der bruger DAR, har samme token i parameters.septimaapi.token
  • DMP-importen peger på $.env.libDir/lib/standardkommune
  • YAML-indrykningen er bevaret

6. Start IIS application pools og test OneDoor ​

Start IIS application pools igen, og kontrollér serverloggen for konfigurationsfejl.

Test derefter i OneDoor, at:

  1. en adresse kan findes
  2. et husnummer kan åbnes og viser detaljefanen Om husnummeret
  3. en vej kan findes og åbnes
  4. zonestatus vises for en adresse

Hvis OneDoor ikke starter eller søgningen fejler, skal I stoppe IIS application pools og gendanne backupkopien af konfigurationsmappen, før I forsøger igen.