Datafangst 2017-1 er produksjonssatt

Datafangstløsningen er nå oppdatert i produksjon. De viktigste nyhetene:

  1. Kontraktslista: Mer informasjon om hver kontrakt:
    1. Kontraktstatus (planlagt, utlyst, igangsatt, ferdig)
    2. Byggeleder/kontaktperson for en kontrakt.
    3. Fritekst kommentar-felt på Kontraktsnivå. Bare dataforvalter har tilgang til å kommentere, men kommentarene er synlige for alle på kontraktens “hjem”-fane.
  2. Forslag til standard milepæler / leveranseplan:
    1. Ved opprettelse av en kontrakt kommer det opp en standard liste av milepæler. Disse får automatisk påfølgende datoer fra dagens dato for å kunne beholde en sortering. Milepælene kan slettes og datoer kan endres. Man kan også legge inn egne/nye/andre milepæler for en kontrakt.
  3. Bedret kontraktsliste:
    1. Kontrakter kan nå sorteres på den nye informasjonen og på neste milepæl. Kontraktene blir rød dersom en frist/milepæl har passert og gul når den nærmer seg.
    2. Du kan nå arkivere kontrakter, da slettes de ikke, men de skjules fra kontraktslista. Et kryss i «Vis arkiverte kontrakter» får dem frem igjen. Arkiverte kontrakter vises som grå. Arkivering kan gjøres om.
    3. NB! Sletting av en kontrakt er fremdeles sletting, og kan ikke angres!
    4. Du kan nå duplisere en kontrakt. Hvis du har mange liknende, f.eks. en driftskontrakt som leveres hver måned, med samme objektliste, samme inviterte osv, så kan du velge å duplisere kontrakten, gi den nytt navn, og så skal alle andre innstillinger bli kopiert over.
    5. Kontraktslista viser nå alle dine kontrakter og du kan bla fra side til side. Tidligere ble lista kuttet på 100 kontrakter uansett hvor mange du hadde…
  4. Datafanen: Objektlisteegenskaper vs Alle egenskaper:
    1. Nå viser datafangst som standard kun objektlisteegenskaper (+ det som evt er levert ekstra). Hvis du vil se alle egenskaper, så er det nå en egen avkrysningsboks over tabellen.
  5. Datafanen: Du kan splitte skjermen begge veger og evt justere høyde / bredde på kart og tabell.
  6. Statusfanen: Slettemanus har fått egen kart- og liste-visning

Nye data om en kontrakt

Forslag til standard milepæler

Fargekoding i prosjektlista: Gult lys når en frist nærmer seg, Rødt når den er passert. Grått for arkiverte kontrakter.

Bytt mellom horisontal og vertikal inndeling av datafanen. Dra i skilleveggen for å utvide den ene eller den andre vegen.

Egen visning av slettemanus på statusfanen.

APISKRIV 2017-1 produksjonssatt

NVDB APISKRIV er nå oppdatert i produksjon. De viktigste endringene er angitt under.

Nytt/Forbedret
NVDB-1401 Validering av geometri – Vi sjekker nå om angitt geometri er innenfor Norge
NVDB-1650 Tillate korreksjon av stedfesting med «feil» lenkestartdato. Vi tillater nå korreksjoner der objektet flyttes til en lenke som er nyere enn objektet selv.
NVDB-1854 Presiser bruk av format i binaer-egenskaper: Vi presiserer at BLOB-format skal inneholde MIME-type. Dette er altså ikke en kodeendring.
NVDB-1881 Valideringsfeil som warning for leste egenskaper. Ved behandling av endringsett leses det inn objekter og egenskaper fra NVDB, f.eks døtre til objektet som skal endres. Tidligere fikk man valideringsfeil dersom det i NVDB fra før av var feil i de tilknyttede objektene. Dette gir nå bare en advarsel og man får lov til å lagre sine endringer likevel. Vi oppfordrer likevel klienter til å rette opp gamle feil.
Feilrettinger
NVDB-1733 For mange elementer i IN-klausul: Ved store endringsett kom vi over en begrensning i Oracle som ikke vil ha mer enn 1000 ledd i en “IN” klausul. Fra nå av leser vi bit for bit istedet for alt på en gang.
NVDB-1749 Avvisning uten angitt valideringsfeil. Innleste endringssett ble av og til avvist uten feilmelding. Det viste seg at vi under beriking hentet inn litt for mange versjoner av relaterte objekter.
NVDB-1839 Ikke global feil for manglende autorisasjon på assosiert vegobjekt: Dersom et endringssett også førte  til endringer i relaterte objekter som brukeren ikke har lov til å endre på, ble endringssettet avvist uten synlig feilmelding. I denne versjonen blir endringssettet fremdeles avvist, men brukeren får i det minste vite hvorfor.
NVDB-1857 Tom verdi for StringAttribute blir NULL i NVDB. Tomme strenger ble skrevet som “NULL” til NVDB. Fra nå av blir endringssett med tomme strenger avvist.
NVDB-1899 Assosiasjoner med content type id forsvinner. For assosiasjoner tillater vi nå at content-type-id og list-type-id brukes om hverandre. Vi oversetter automatisk til list-type-id der dette er forventet.
NVDB-1928 Sletting i skrive-API opptrer som virkelig sletting i lese-API. Skrive-apiet brukte feil transaksjonstype (2 istedet for 1) når et objekt ble satt historisk. For lese-apiet fremstod det derfor som om objektet var fjernet fra databasen.
NVDB-2029 Systemfeil på korreksjon: Geometrier kan lagres på litt ulike måter i NVDB. Skrive-apiet taklet ikke alle variantene, men vi har nå blitt mer fleksible.

URL’er til vegkart og NVDBAPI bør URL-Encodes

Applikasjonstjenerene som vegkart og NVDB-API LES kjører på ble oppgradert like før påske. Den nye versjonen av Tomcat avviser nå blankt URL/URI’er med tegn som ikke er ihht internett-standardene RCF-1738 og RFC-2396, og forespørsler med slike tegn kommer aldri frem til API’et.

Ulovlige tegn er blant annet:

 control = <US-ASCII coded characters 00-1F and 7F hexadecimal>
 space = <US-ASCII coded character 20 hexadecimal>
 delims = "<" | ">" | "#" | "%" | <">
 unwise = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"
 reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

(les mer her)

Dette gir problemer for klienter som bruker avanserte spørringer mot API LES v1 og v2, der vi benytter flere av disse tegnene. Senere versjonener av Tomcat har myket opp dette kravet, og vi venter nå på neste oppgradering av Tomcat. Oppgradering av Tomcat i Statens vegvesen er ventet i uke 23.

En umiddelbar løsning for klienter er å sørge for å URL-Encode sine forespørsler. Vi anbefaler i utgangspunktet alle å URL-Encode sine forespørsler. (https://www.w3schools.com/tags/ref_urlencode.asp)

NVDB åpne vegdata utviklerkonferanse 2016

Edit 6.9.2016programmet er nå klart

Tid: Fredag 23. September kl 10-15

Sted: Clarion Hotel & Congress, Trondheim

Påmelding

Program

Vi vil i år – som i fjor – avholde en utviklerkonferanse for dere som jobber med utvikling rundt våre åpne data og apier.

Vi driver i disse dager og setter sammen programmet for dagen og ønsker oss at dere som har interesse av å komme svarer på en superkort spørreundersøkelse:

https://no.surveymonkey.com/r/VDH83P8

Det er 3 avkrysningsspørsmål og 2 kommentarfelt – vi setter stor pris på tilbakemelding! Endelig program for utviklerdagen blir sendt ut i løpet av de nærmeste ukene.

Grensesnittene utviklet i åpne vegdata prosjektet:

I 2016 har vi lansert versjon 2 av NVDB lese-api og en utviklerutgave av NVDB skrive-api. Til konferansen håper vi også å kunne presentere en første versjon av et datafangst-api.

Ressurser for utviklere

Følg oss også på twitter @nvdbapi


Påskeegg, replikeringsfeil og datafeil i kontraktsområdene

Søkeindeksen bak vegkart og NVDB-apiet betjenes av 5 søkemotor-noder. Vi opplever fortiden problemer med at disse nodene er kommet i utakt som en følge av feil med replikeringen. Dette påvirker responsen for alle objekttypene i NVDB, spesielt dersom du søker med områdefilter. Vi må derfor gjøre om på oppsettet av disse nodene og deretter foreta en full reindeksering. Vi håper å få dette gjort så fort som overhode mulig, kanskje allerede i kveld, senest i løpet av påskeuken.

Vi har også en datafeil med kontraktsområdene våre. Det har blitt opprettet uhorvelig mange kontraktsområder i enkelte kommuner og dette har trigget en feil i API’et. Her jobber vi med å rette opp data og korrigere API’et; dette håper vi er på stell like over påske.

God påske.

Utviklerutgave av skrive-apiet tilgjengelig på docker-hub

Vi har nå gleden av å tilby en utviklerutgave av NVDB Skrive-API. Denne er tilgjengelig via docker-hub. Utviklere som ønsker å skrive data til NVDB kan dermed få kjøre en virtuell utgave av  skrive-apiet på sin maskin.

Om NVDB skrive api

Skrive-apiet er et asynkront REST-API som tar imot Endringssett på vårt eget vegobjekt-format. Skrive-apiet er tett knyttet opp mot NVDB og Datakatalogen. For å kunne bruke Skrive-API’et i produksjon, må du:

  • Ha bruker i Statens Vegvesen, med NVDB roller i LDAP
  • Få tildelt datarettigheter i skrive-apiet til de objekttypene, de vegkategoriene og de områdene du ønsker å skrive data for.
  • Ha kjennskap til Datakatalogen: Alle objekter som skal skrives blir strengt validert mot siste utgave av datakatalogen.
  • Ha kjennskap til Vegnettet i NVDB: Skrive-apiet krever at objekter er stedfestet på vegnettet (med angitt veglenkeid og posisjon).

En oversikt over NVDB API’ene, med tilhørende kode-eksempler er tilgjengelig her: https://github.com/nvdb-vegdata/nvdb-utviklerkonferanse-2015 Dokumentasjonen til skrive-apiet pakkes og distribueres sammen med applikasjonen og er inkludert i utviklerutgaven.

Om utviklerutgaven

Denne utviklerutgaven mocker all Statens vegvesen infrastruktur, inkludert NVDB databasen, men lar deg få lov til å utforske kommunikasjonen med API’et og validere dine data. Denne varianten har ingen vegdata og skriver heller ingen data til NVDB. Det er altså bare for å kunne utvikle mot APIet. Den inneholder imidlertid siste versjon av datakatalogen og kan validere innsendte data mot denne.

Docker-utgaven oppdateres når vi oppdaterer skrive-apiet i akseptansetestmiljøet, den vil altså følge neste produksjonskandiat av apiet. Datakatalogen oppdateres fortløpende.

For å få tak i docker-utgaven:

  1. Installér Docker https://docs.docker.com/engine/installation/
  2. Kjør docker run -d -p 8080:8080 –name nvdb-skriveapi nvdbapnevegdata/nvdb-skriveapi
  3. For å stoppe kjør docker stop nvdb-skriveapi

Når docker kjører:

Om alt har gått bra er Skrive-apiet nå tilgjengelig på http://localhost:8080/ på en Linux-maskin. For Windows og Mac kjører docker daemon i en Linux VM og localhost må erstattes med korrekt IP-adresse. For å finne denne åpne et command prompt/terminal og kjør kommando docker-machine ip.

Når man åpner denne siden i nettleseren vises en side der man kan velge innlogging. Dette er ikke knyttet til reelle brukere, men dummybrukere som kun lever i SDKen. Når bruker er valgt vil man bli sendt til /nvdb/apiskriv. Her ligger lenke til dokumentasjonen av APIet, og en testklient som kalles Generator.

Generator-klienten viser eksempler på requester som sendes til APIet, og forventet respons fra APIet.

Logge inn i skrive-apiet programatisk

For å opprette en sesjon programmatisk kan du POSTe ønsket user-id til /login (eks: user-id=toillbaill). Da blir en serversesjon opprettet. For å bruke denne sesjonen må du bruke JSESSIONID-cookien som returneres ved login.

Feilsøk:

Loggene til Skrive-APIet nås ved å utføre:

docker exec -it nvdb-skriveapi bash
cd maven/apache-tomcat-8.0.32/logs