PowerApps – No Code, (No) Fun

Microsoft PowerApps predstavlja nov način »no-code« razvoja poslovnih aplikacij za SaaS platforme, kot so SharePoint, Dropbox, Google Drive, Facebook, OneDrive itd. Oglejmo si navezo PowerApps – SharePoint.

Gotovo vas je kar nekaj SharePoint razvijalcev, ki ste slišali za InfoPath orodje, s katerim se (je) lahko na enostaven način, brez pisanja kode, razvilo forme oz. obrazce za SharePoint sezname oz. malenkost bolj zahtevne obrazce z več gradniki (npr. »ponavljajoče tabele«), ki ste jih lahko nastavili kot document template na SharePoint knjižnico.

Ideja oz. zasnova samega orodja InfoPath v navezi s SharePointom vsekakor ni bila slaba – dokler ste ostali znotraj okvirja majhnih modifikacij, kot vam ga je privzeto znal ponuditi InfoPath glede na SharePoint seznam oz. SharePoint knjižnico, na katero ste ga povezali. Kaj kmalu pa ste lahko OOTB pričakovanja InfoPath-a presegli in v tem primeru preskočili na code-behind s pomočjo Visual Studio Tools for Applications. Tam ste lahko z nekaj več truda naredili praktično vse: povezali se na write način na več kot en SharePointov seznam, povezali se R/W na aktivni imenik (AD), izvajali zahtevnejše računske operacije itd. Poigrati ste se morali le malo bolj s Full-Trust code deploymentom in certifikati.

Če ste »požrli« par nadležnih bug-ov ter omejitev, ki so se pojavljali v UI, ter kakšen nadležen error, ki se je pojavil sam od sebe, potem lahko zaključimo, da samo orodje ni bilo slabe zasnove. Zato je kot strela z jasnega med najavami pre-release verzij SharePoint-a 2016 udarila novica, da Microsoft ne bo nadaljeval z razvojem tega orodja. Tako ga tudi ni vključil v najnovejši verziji Offica 2016. Vse skupaj je omilil z dejstvom, da bodo obrazci narejeni z InfoPath-om še vedno podprti tudi na novejših verzijah SharePointa. Bolelo je dejstvo, da InfoPatha ne bodo dodelali in tako dodali produktu tisto končno piko na i.

Microsoft pripravlja v tej smeri nekaj novega – kot izgleda prihaja zamenjava za InfoPath oz. no-code razvoj – t.i. Microsoft PowerApps. Kot se za nov produkt spodobi, je ta še v Preview verziji nekoliko počasen ter seveda poln hroščev in manjkajočih funkcionalnosti.  Ampak ja, kakšno konkretno stvar se da ustvariti tudi že s trenutno verzijo. Aplikacija obstaja kot UWP (Universal Windows Platform) v Windows Storu ali pa kot Web App na strani https://web.powerapps.com.

Na zgoraj omenjeni strani lahko preverite tudi nekaj Microsoftovih testnih aplikacij narejenih s tem orodjem, ki so prilagojene tako za desktop/tablet kot mobile okolje. Ali pa prelistate tutoriale in začnete z izdelavo svoje aplikacije.

sl5

Pa pojdimo na kratko čez izdelavo naše prve PowerApps aplikacije za SharePoint Online. Naj ob tem povem, da lahko tovrstno aplikacijo izdelate tako za SharePoint on-premise kot Online.

Najprej kreiramo SharePoint seznam, na katerega bi radi vezali našo PowerApps aplikacijo. V ta namen sem kreiral seznam »Kontakti« ter mu dodelil naslednje stolpce:

  • Last Name * (single line)
  • First Name * (single line)
  • Company * (single line)
  • Country * (choice)
  • Phone (single line)
  • Email Address (single line)
  • Partner (yes/no)

Ko imamo seznam kreiran, se lahko iz PowerApps povežemo nanj s kreiranjem povezave na SharePoint instanco oz. t.i. »App from your data«. Najprej se vpišemo s svojim O365 accountom, vnesem URL do SharePoint strani, na kateri imamo kreiran zgornji seznam, ter seznam izberemo.

Odpre se nam delovno okolje aplikacije. V razdelku označeno z 1 se vam pojavijo tri že prej pripravljene forme (BrowseScreen za pregled vseh vnosov in njihovo brisanje, DetailScreen za predogled izbranega vnosa ter EditScreen oz. vnosna forma). V razdelku 2 se nahaja glavno okno za urejanje izbrane forme. V razdelku 3 se nahajajo podrobnejše nastavitve, podobne kot so obstajale že v InfoPathu, v razdelku 4 pa je tipična Office orodna vrstica. Poudariti velja, da imate v zgornjem desnem kotu aplikacije tudi gumb za predogled aplikacije.

sl6

Uredimo najprej BrowseScreen tako, da bo za posamezen element prikazoval dve polji. Prvi bo skupek »First name« + »Last name«, drugi pa bo polje »Company«. Dodali bomo še dve označbi. Prva bo predstavljala, da gre za našega partnerja, druga pa, da ima kontakt vpisan tudi e-mail naslov.

Najprej spremenimo layout, kot prikazuje spodnja slika.

sl7

Kot lahko opazimo, ima ta layout tri gradnike. Desnega spodaj lahko odstranimo, ostala dva pa raztegnemo, kot prikazuje spodnja slika.

sl8

V prvem bi radi prikazali kombinacijo imena in priimka, zato ga moramo zapolniti s formulo CONCATENATE(ThisItem.FirstName, ” “, ThisItem.Title). (V mojem primeru je priimek zapisan kar v default polju Title).

sl9

V drugem bi radi prikazali podatek o podjetju, zato enostavno vnesemo formulo ThisItem.Company

sl10

Zadevo lahko testiramo tako, da pritisnemo tipko F5 in vnesemo nov testni vnos preko naše prve PowerApps aplikacije. Izberemo opcijo, da je naš partner, in vnesemo tudi elektronski naslov.

Na BrowseScreen dodamo krog (Insert/Shapes/Circle), ki bo označeval, ali gre za našega partnerja (zelena barva) ali ne (rumena barva).
Ko ga uspešno dodamo na formo, ga označimo ter prikličemo dodatne nastavitve preko menija View/Advanced. V desnem oknu poiščemo Fill polje ter vnesemo formulo If(ThisItem.Partner, RGBA(102, 204, 0, 1), RGBA(204, 204, 0, 1))

sl11

Dodali bomo še sliko, ki bo označevala, da ima kontakt vpisan elektronski naslov.
Sliko najprej dodamo med resurse preko menija File/Media/Images. Izbira slike je prepuščena vam.

sl12

Zapomnite si ime slike, ker se boste v naslednjem koraku nanjo sklicevali (v mojem primeru je to ime »large«).
Na formo nato dodamo gradnik za slike (Insert/Image). V Image nastavitev vnesemo ime prej dodane slike – v mojem primeru large.

sl13

Nastavimo še pravilo, da se slika prikaže zgolj, ko je vpisan elektronski naslov. To storimo v nastavitvi Visible z naslednjo formulo: IF(Len(ThisItem.Email_x0020_Address) > 0, true, false)

Ponovno preverimo delovanje forme; tokrat za razliko od prej ne vnesemo elektronskega naslova ter izberemo, da oseba ni naš partner.

sl14

Preverimo še, ali sta oba zapisa sedaj tudi prisotna v našem SharePoint seznamu, na katerega smo vezali aplikacijo.

sl15

Na podoben način lahko modificiramo tudi DetailScreen in EditScreen. Vmesnik oz. samo urejanje naše aplikacije dokaj spominja na ostale produkte iz Office družine izdelkov. Vse poteka preko drag-drop gradnikov, inline editinga ter pisanja formul v stilu Excela.

Ampak kaj storiti, če hočemo nekaj več, izven okvirjev OOTB PowerApps-a? Tukaj ne bomo »ostali bosi«. Za pisanje custom server-side kode lahko uporabimo t.i. Azure Functions, na katere se vežemo iz naše PowerApps aplikacije. Več o tem si lahko preberete tukaj: https://powerapps.microsoft.com/cs-cz/blog/using-azure-functions-in-powerapps/

Poglejte si še uporabo Logic Flow-a, s katerim lahko definirate enega ali več dodatnih taskov, ki se prožijo ob določenih dogodkih znotraj aplikacije. https://powerapps.microsoft.com/en-us/tutorials/using-logic-flows/; https://www.helloitsliam.com/2016/03/17/powerapps-track-email-with-logic-flows/

Lep pozdrav!
Gašper Rupnik

{End.}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Powered by WordPress.com.

Up ↑

%d bloggers like this: