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:
- ilmoittautua firman pikkujouluihin omilla kännyköillään
- 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.
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ä.
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ä:
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
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.
Pikkujoulupassi
Tapahtumapassin pohjana käytetään sovelluksen oletusnäyttöä, joka näyttää listastamme yhden rivin tiedot. Lähtötilanteessa se näyttää tältä:
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:
Aloitusnäyttö
Lopuksi muokataan aloitusnäyttöä, jossa alunperin näytetään kaikki tapahtuman ilmoittautumisrivit.
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ä:
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:
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ä.
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ää.