Tätä lomaketyökalua olet odottanut – SharePoint lomakkeet PowerAppsilla – Osa 1: Perusteet


Tätä lomaketyökalua olet odottanut – SharePoint lomakkeet PowerAppsilla – Osa 1: Perusteet



PowerApps on Microsoftin pilvipalvelu, joka mahdollistaa sovelluskehityksen ilman ohjelmointiosaamista. PowerAppsia voi nyt käyttää moderneissa SharePoint listanäkymissä Office 365 palvelussa. Tämä on pitkään odotettu uudistus, joka tarjoaa meille mahdollisuuksia muuttaa lomakkeen käyttöliittymää ilman SharePoint Designeria, InfoPathia, JavaScriptiä tai muita vaikeita teknologioita.  

Tässä blogiartikkelissa käyn läpi perusteet PowerAppsin kytkemisestä SharePoint listoihin ja myöhemmin käyn toisessa artikkelissa läpi monimutkaisemmat muokkausmahdollisuudet.  

Miten vaihdan PowerApps-lomakkeen SharePoint-listaan? 

Modernissa listanäkymässä käytetään SharePointin käyttöliittymää. Jos oma Office 365 ympäristösi on ns. Targeted Release -tilassa näet jo nyt mahdollisuuden muokata lomaketta (Mukauta lomakkeet) PowerAppsissa. Luo sovellus -painike luo tavallisen PowerAppsin joten älä käytä sitä, jos haluat nimenomaan muokata SharePointissa näkyvää lomaketta. 

Kun olet valinnut Mukauta lomakkeet vaihtoehdon, pääset muutaman välivaiheen kautta muokkaamaan itse lomaketta. Välivaiheiden määrä ja sisältö riippuu siitä, oletko aiemmin käyttänyt PowerAppsia vai et. Normaali Office 365 lisenssi (esim. E1 tai A1 tai parempiriittää antamaan oikeuden muokata lomaketta. 

Muutama huomio käyttöliittymästä: 

  • Back to SharePoint -linkki vie sinut takaisin SharePointiin kysellen tarvittaessa haluatko tallentaa muutokset ja julkaista ne muille käyttäjille.
  • Lomakkeella on oletusarvoisesti muutamia kenttiä, joita et oikeasti ehkä halua sinne – hiukan myöhemmin tässä artikkelissa miten ne voi ottaa pois lomakkeesta. 
  • Vasemmassa reunassa näkyy SharePointIntegration-kohta FormScreen1:n yläpuolella. Jos olet aiemmin käyttänyt PowerAppsia vain ilman SharePoint-integraatiota, tämä on uusi toiminto sinulle ja mahdollistaa painikkeiden kuten tallenna ja peruuta kontrolloinnin. 

Kurkistetaan kuitenkin ihan ensimmäiseksi File-kohdan alle yläreunan toimintonauhassa. Valitse File ja sitten App Settings. 

Täältä löytyy vaihtoehdot lomakkeen koon ja muodon säätämiseen: 

  • Vaaka tai pystynäyttö 
  • Pieni (480×270) tai suuri (790×444) 

Normaalisti tätä ei tarvitse säätää, mutta joissain tilanteissa vaakasuorassa oleva lomake toimii paremmin kuin kapea pystynäyttö. Huomaa, että tämä asetus koskee kaikkia näyttöjä (Screen) tässä sovelluksessa. Eli voit tehdä useasta eri näytöstä koostuvan SharePoint-integroidun lomakkeen, mutta ne ovat kaikki saman kokoisia. Useiden näyttöjen käyttämisestä kerrotaan jatkoartikkelissa. 

Lomakkeella näkyviä kenttiä kontrolloidaan seuraavasti. Valitse ensin vasemman reunan valikosta SharePointForm1 ja tämän jälkeen oikean reunan paneelista Data-otsikon oikealla puolella olevaa listan nimeä. 

Tämä tuo näkyviin hallintanäytön joka mahdollistaa listan eri sarakkeiden näkyvyyden kontrolloinnin. Tästä näytöstä voit myös valita kuinka moneen sarakkeeseen kentät tulevat lomakkeelle ja muuttaa niiden järjestystä. 

Pystyt myös muokkaamaan kontrollien tyyppejä. Esimerkiksi Kuvaus-kenttä voidaan näyttää monirivisenä tekstilaatikkona, tai voit säätää onko kenttä pelkästään näkyvissä, ilman että sitä voi muokata. 

Jos haluat lisätä uusia kenttiä, se tulee tehdä SharePointin puolella. Lisää kenttä SharePointissa ja tämän jälkeen valitse toimintonauhasta View / Data sources, jonka jälkeen voit Refresh-toiminnolla kertoa PowerAppsille, että SharePoint-listan tietorakenne on muuttunut. 

PowerApps noudattaa SharePointin tietorakennemääritystä. Jos jokin kenttä on SharePointissa määritelty pakolliseksi, ei PowerApps salli tallentamista ilman että pakolliselle tiedolle annetaan arvo.  

Joissain tapauksessa tämä voi aiheuttaa ongelmia: esim. Ideat-listaan voidaan lisätä kenttä Päätöksen perustelut, joka on pakollinen vain, jos Tila-tieto on jotain muuta kuin Avoin. Tässä tapauksessa SharePointin pakollisuusmääritystä ei kannata käyttää. Tällöin tallennettavan tiedon validointi tulee tehdä PowerAppsissa. 

Jos valitset vasemman reunan paneelista SharePointIntegration-elementin ja tämän jälkeen oikean reunan paneelista Advanced toiminnon näet miten eri käyttötapaukset toimivat PowerAppsin näkökulmasta. 

OnNew käynnistyy kun käyttäjä klikkaa lisätäkseen uuden listakohteen, EditForm kun käyttäjä haluaa muokata olemassa olevaa listakohdetta ja OnView kun käyttäjä haluaa tarkastella olemassa olevaa listakohdetta. Nämä kaikki käsitellään samalla PowerApps lomakkeella, mutta se avataan eri tilaan (New, Edit, View). 

OnSave ja OnCancel kontrolloivat mitä tapahtuu, kun käyttäjä klikkaa Tallenna tai Peruuta.  

Ei ole mahdollista kontrolloida onko Tallenna tai Peruuta -painikkeet näkyvissä tai käytettävissä, mutta on mahdollista kontrolloida mitä niistä tapahtuu.  

Tehdään lopuksi hiukan monimutkaisempi harjoitus. Aiemmin mainittu Päätöksen perustelut ja sen näkyvyyden ja pakollisuuden kontrollointi. 

Kun kenttä on lisätty lomakkeelle, sen näkyvyys on Advanced-ominaisuuksista tutkittuna true eli näkyvissä. 

Tähän voimme kirjoittaa kaavan joka tutkii mikä on Tila-tiedon lomakkeella oleva arvo ja päättelee sen perusteella pitäisikö Päätöksen perustelut -kenttä näyttää vai ei. Kun valitsemme Tila-kentän, näemme sen PowerAppsin käyttämän nimen (tässä tapauksessa DataCardValue2). 

Tämän jälkeen voimme hyödyntää sitä toisen kentän näkyvyyden määrittämisessä. Eli näkyvissä jos Tila tiedon valittu arvo ei ole Avoin.  

Vastaavasti OnSave kohdassa voimme kontrolloida, että tallennus tapahtuu vain jos Tila on avoin tai Päätöksen perustelut kentän arvo ei ole tyhjä. 

Tämä on vain alkua. PowerApps-integraatio SharePoint-listoihin ei rajoitu yksinkertaisiin lomakkeisiin. Yksi lomake voi kytkeytyä useisiin eri SharePoint-listoihin ja muihin tietolähteisiin kuten vaikkapa SQL-tietokantoihin. Näistä mahdollisuuksista voit lukea lisää jatkoartikkelista. 

Olli Jääskeläinen toimii Sulavalla ryhmätyöskentelyyn ja tekoälyyn erikoistuneena arkkitehtinä. Hän kouluttaa PowerApps, Microsoft Flow ja SharePoint teknologioita. Jos olet kiinnostunut osallistumaan hänen koulutuksiinsa, lue lisää seuraavista: