PowerApps on työkalu jolla voi tehdä nopeasti mobiilisovelluksia (puhelimille ja tableteille). Rakentamisen hahmottaa parhaiten esimerkin kautta. Tehdään malliksi sovellus jolla työntekijät voivat:

  1.  ilmoittautua firman pikkujouluihin omilla kännyköillään
  2.  käyttää sovellukseen saamaansa QR-koodia pääsylippuna pikkujouluihin

Tiedon tallennuspaikka

Ensiksi luodaan tietovarasto johon ilmoittautumiset kerätään. Office 365:ssa sijaitseva SharePoint-lista on tähän luonteva ratkaisu.

event_reg_list

Listan kentiksi muotoutuivat:

  • Luotu = milloin henkilö on ilmoittautunut
  • Tekijä = kuka on ilmoittautunut
  • Juomalippu = montako juomalippua henkilöllä on käyttämättä pikkujouluissa (muistaako joku ajat kun yritysten juhlissa käytettiin juomalippuja?)
  • Avec = tuleeko henkilö yksin vai avecin kanssa
  • QR url = url-osoite jonka takaa löytyy ilmoittautumista vastaava QR-koodi

Listan yläreunassa olevasta PowerApps painikkeesta saa luotua listasta PowerApps -sovelluksen. Aloitetaan sillä.

eventreg_start

Pienen miettimisen jälkeen selaimeen avautuu PowerApps-editori ja siinä on valmiina sovellus joka näyttää äsken luodun Eventregisteration listan rivit. Sovelluksen avulla käyttäjä voi lisätä/poistaa/muokata listan rivejä. Tämä ei kuitenkaan ole aivan sitä mitä tavoiteltiin.

Ilmoittautumislomake

Aloitetaan muokkaaminen ilmoittautumislomakkeesta joka näyttää aluksi tältä:

event_regform_start

Haluan tietää ilmoittautujista ainoastaan sen ovatko he tulossa yksin vai avecin kanssa. Joten:

  • poistetaan lomakkeelta kokonaan kentät joiden arvoja emme käsittele itse (title)
  • piilotetaan kentät joihin emme odota käyttäjältä syötettä, mutta joihin haluamme itse laittaa jonkin arvon (juomalippu ja QR url)
  • lopuksi vaihdetaan Avec kentän tyyliksi liukusäädin jonka max arvo on 1

event_reg_list_middle

Lopuksi viimeistellään näyttö ja lisätään halutut toiminnallisuudet:

  • lisätään ohjetekstit ja poistetaan liukusäätimen arvo näkyvistä
  • siirretään yläpalkin painikkeet perinteiseksi buttoneiksi lomakkeen alapuolelle
  • muokataan tallenuksen toiminnallisuutta siten että
    • juomalippujen määräksi asetataan 5 mikäli henkilö tule yksin ja 10 mikäli hänellä on seuralainen mukana.
    • QR url kentän arvoksi generoidaan url-osoite joka osoittaa henkilön yksilöivään QR-koodiin. Käytetään tähän https://api.qrserver.com/  palvelua.

Alla muokattu ilmoittautumislomake. Huomaa QR url kentän update-lause.

evet_reg_qrcode

Pikkujoulupassi

Tapahtumapassin pohjana käytetään sovelluksen oletusnäyttöä, joka näyttää listastamme yhden rivin tiedot. Lähtötilanteessa se näyttää tältä:

event_reg_show_reg_start

Tehdään seuraavat muutokset:

  • näytetään passinhaltijan nimi
  • näytetään ilmoittautuneen henkilökohtainen QR-koodi. Ajatuksena että ovella voisi lukea koodit niin tiedettäisiin keitä oikeasti tuli paikalle
  • lisätään painike jolla sovelluksen voi sulkea (passin näyttämisen jälkeen sovelluksen voi suoraan sulkea). Sulkeminen tehdään Exit() -komennolla.
  • vaihdetaan otsikko
  • poistetaan kaikki muu

Lopputulos näyttää jo kelvolliselta:

event_reg_show_reg_end.png

Aloitusnäyttö

Lopuksi muokataan aloitusnäyttöä, jossa alunperin näytetään kaikki tapahtuman ilmoittautumisrivit.

event_reg_start_screen_start

Haluan tarjota käyttäjälle vain kaksi toimintoa: Ilmoittautumisen ja passin näyttämisen. Joten:

  • luodaan uusi painike ”Ilmoittaudu” jolla siirrytään ilmoittautumisnäyttöön
  • luodaan uusi painike ”Näytä passi” jolla näytetään käyttäjän passi
  • lisätään teksti ja jouluinen kuva
  • siivotan kaikki turha pois

Lopputulos näyttää tältä:

event_reg_start_screen_end.png

Miten sitten saadaan näytettyä juuri käyttäjän passi? Ratkaisu on yksinkertainen. Tehdään aloitusruudun tietojoukkoon yksinkertainen LookUp, jossa verrataan käyttäjän sähköpostikenttää SharePoint-listamme tekijä sarakkeesta löytyvän käyttäjän sähköpostikenttään (kts kuva yllä).

Ja näin sovellus on valmis. Vaihdetaan vielä teeman avulla väritys jouluisemmaksi:

event_red.png

Kun tämän jälkeen käynnistän puhelimeni PowerApps:in näen sen sisällä äsken tekemäni Pikkujoulut 2016 appsin  muiden PowerAppsien joukossa (alla vasen kuva). Oikealla puolella vielä kuvankaappaus sovelluksesta kännykästä.

event_reg_phone.png

Yhteenveto

Ihan kylmiltään tämän tekemiseen meni kyllä hetki. Käytettävyydeltään Pikkujoulu-sovellus ei ole huippua, mutta hieromiseen olisi mennyt nyt liikaa aika. Olisin halunnut sovelluksen toimivan siten että mikäli käyttäjä ei ole vielä ilmoittautunut pikkujouluihin, hänet ohjataan suoraan ilmoittautumislomakkeelle. Ilmoittautuneet olisi sovellusta avattaessa taas ohjattu suoraan passi-näytölle. En kuitenkaan lyhyellä googlettamisella löytänyt mekanismia näiden siirtymien toteuttamiseen.

Mutta jos sinulla on tarve vaikka yksinkertaiselle sovellukselle jolla liikkuva työntekijä kirjaa kentällä havaintoja tyyliin:

  • mitä havaittu
  • milloin havaittu
  • kuka havainnon on tehnyt
  • missä havaittu (laitteesta saadaan sijaintitieto automaattisesti)
  • kuva havainnosta (käyttäen laitteen kameraa)
  • jotain luokittelutietoa havainnosta

niin onnistuu. Ja helposti.

Tämä kirjoitus on osa laajempaa sarjaa jossa käyn läpi Office 365:n työkaluja. Mistä niissä on kyse ja miten niitä voisi hyödyntää.