Fyll en liste med en integrasjon

Fyll en liste med en integrasjon

Designet til Compose har blitt oppdatert. Siden kan inneholde skjermbilder av det gamle designet, men informasjonen er oppdatert. Vi takker for din tålmodighet mens vi oppdaterer bildene!

English

Hvis du ønsker å se brukerveiledningen i videoformat, kan du gjøre det i Lister-videoen på Compose egne YouTube-kanal. Den tar for seg vanlig bygging av lister direkte i Skjemabyggeren og Listebyggeren, og spoler du frem til tidspunkt 1:54, så får du se hvordan du fyller lister automatisk med integrasjoner.

Lister/valg-kilder kan opprettes i Listebyggeren og kobles til spørsmålselementer med enkelt- og flervalg, slik som radioknapper, avkrysningsbokser og nedtrekkslister. Istedenfor å bygge og vedlikeholde alternativene manuelt, kan du fylle en liste og oppdatere den jevnlig automatisk med integrasjonskall mot eksterne datakilder. Ergo, når den eksterne datakilden endres, oppdateres dine lokale kilder og tjenester automatisk uten at du trenger å gjøre noe!

Bygg en integrasjon som returnerer en liste

Før du kan ferdigstille listen, må integrasjonen bygges. Naviger til Arkivet og opprett en ny integrasjon. Dobbeltklikk på den for å åpne Integrasjonsbyggeren.

I Egenskaper-panelet oppgir du URL-en du vil hente informasjonen fra.

Registeret er en datamodell med informasjon om norske parkeringstilbydere. Kallet på dette registeret skal til slutt returnere en liste med alternativer. Vi får noe tilbake, så API-metoden er dermed GET.

URL-en avhenger ikke av noen URL-parametere, så vi trenger ingen forespørsel-variabler. Vi ønsker dog å motta en liste som et svar på integrasjonskallet, så Opprett en Svar-variabel. Husk også å spesifisere dataformatet på datamodellen til API-et. I vårt tilfelle er formatet JSON.

Typen svar-variabel vil som standard være tekst-validering, så denne må endres til Valg-kilde variabel. Dobbeltklikk på variabelen eller klikk Endre for å vise variabelens egenskaper.

Bytt Type til Valg-kilde variabel og pass på at valideringen korresponderer med informasjonen du mottar. Selv om vi legger opp til å hente ut numre som svarverdier, skal ikke numrene brukes i kalkulasjoner, så vi forventer Tekst-format på informasjonen vi henter ut. Trykk OK når du er ferdig med endringene.

Siden API-er med GET-metode ikke tillater forespørsel-body (og siden vi ikke har forespørsel-variabler uansett), naviger direkte til Svar-menyen. For dette API-et trenger vi ikke noe XPath-uttrykk heller siden vi kan jobbe med det fulle svaret (hele registeret) direkte. For å konvertere svaret til en liste må vi skripte konverteringen. Trykk Konverter verdi-knappen for å åpne skriptevinduet.

Datamodellen med JSON-format vi baserer listen på er til høyre for skriptet under.

def orgnumbers = value.read('$[*].organisasjonsnummer') def names = value.read('$[*].navn') def result = [:] for (int i = 0; i < orgnumbers.size(); i++) { result[orgnumbers[i]] = names[i] } return result

 

Svaret fra integrasjonskallet refereres til som value i skriptet med Groovy-kode. I de to første linjene leser skriptet value og henter ut to lister – organisasjonsnumre som vi vil bruke som svarverdier til alternativene, og navn som vil være alternativteksten for hvert alternativ. Resten av koden definerer den to-kolonnede listen result vi returnerer fra kallet. Trykk OK når du er ferdig.

Lagre kladden og versjonér. Integrasjonen kan nå fylle en liste!

Fyll en liste med en integrasjon

Naviger til Arkivet og opprett en ny liste. Dobbeltklikk på den for å åpne Listebyggeren.

Huk av Fyll med integrasjon.

Bla gjennom arbeidsområdet og velg integrasjonen vi lagde i veiledningen over.

Navnet på den valgte integrasjonen vises i Integrasjon-feltet. Du kan tilpasse hyppigheten til integrasjonskallet med et tidsintervall. I dette eksempelet beholder vi standardinnstillingene som kaller på integrasjonen hver time på minutt 0 (kl. 12.00, 13.00, 14.00 etc.). Hvis et kall feiler, vil listen fra det forrige vellykkede kallet være den gjeldende listen i Compose.

Integrasjonen er nå koblet til listen. Trykk Lagre kladd og du vil se at Publiser og Forhåndsutfyll-knappene blir aktive. Trykk Publiser for å kjøre integrasjonskallet og dermed fylle listen med alternativer.

Listen vises nå i Produksjon-menyen og er nå mulig å koble til skjema og prosesser. Vi ser at listen har organisasjonsnumrene som svarverdier og navnene på parkeringstilbyderne som alternativtekst.

Koble listen til et enkelt- eller flervalgspørsmål i et skjema ved å velge Velg i Egenskaper-panelet. Bla gjennom arbeidsområdet og finn listen vi nettopp publiserte.

Vi ser navnet på listen i feltet over Bla gjennom-knappen.

Husk å lagre kladden! Nå kan du forhåndsvise listen som oppdateres hver time fra et integrasjonskall.