{"id":219,"date":"2022-11-24T08:00:00","date_gmt":"2022-11-24T06:00:00","guid":{"rendered":"https:\/\/blogit.xamk.fi\/datalab\/?p=219"},"modified":"2022-11-24T01:55:15","modified_gmt":"2022-11-23T23:55:15","slug":"power-apps-tuntiseurantasovellus","status":"publish","type":"post","link":"https:\/\/blogit.xamk.fi\/datalab\/2022\/11\/24\/power-apps-tuntiseurantasovellus\/","title":{"rendered":"Power Apps tuntiseurantasovellus"},"content":{"rendered":"\n<p>Annetun teht\u00e4v\u00e4nantoni perusteella minun oli luoda tuntiseurantaan suunnattu ohjelma. Ohjelman tarkoituksena olisi tarjota Xamkin oppilaille helppo ja vaivaton keino suoritetun tuntim\u00e4\u00e4r\u00e4n kirjaamista ja seuraamista varten, l\u00e4hinn\u00e4 ty\u00f6harjoittelun yhteydess\u00e4, ja sit\u00e4 tulisi pysty\u00e4 k\u00e4ytt\u00e4m\u00e4\u00e4n \u00e4lylaitteella kuten puhelimella tai tabletilla.<\/p>\n\n\n\n<p>Varsinaisesta sovelluskehitt\u00e4misest\u00e4 itsell\u00e4ni ei ollut mink\u00e4\u00e4n sortin kokemusta, vaikka eri ohjelmointikielten alkeita oli tultukin opiskeltua, kuten muun muassa Python, JavaScript ja PHP. Sovellus oli tarkoitus luoda <strong>Power Apps<\/strong>ia k\u00e4ytt\u00e4en. Nimi ei sanonut omalla kohdallani mit\u00e4\u00e4n, mutta helpotuksekseni asiat pian avauvuivat. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>Power Apps<\/strong> on Microsoftin <strong>Power<\/strong> -tuoteperheeseen (kuva 1) kuuluva sovellusten kehitt\u00e4mist\u00e4 varten luotu ty\u00f6kalu. <strong>Power<\/strong> -tuoteperheen sovellukset ovat suunniteltu toimimaan nimenomaan kesken\u00e4\u00e4n, mutta moni niist\u00e4 toimii my\u00f6s muiden Microsoftin -palveluiden kesken.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/ms-power-platform.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/ms-power-platform.png 800w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/ms-power-platform-300x169.png 300w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/ms-power-platform-768x432.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Kuva 1. Microsoft Power -tuoteperhe.<\/figcaption><\/figure>\n\n\n\n<p><strong>Power Apps<\/strong> -kehitt\u00e4misymp\u00e4rist\u00f6 on toteutettu pilvipalveluna ja l\u00f6ytyy osoitteesta <a rel=\"noreferrer noopener\" href=\"https:\/\/make.powerapps.com\" target=\"_blank\">https:\/\/make.powerapps.com<\/a>. (kuva 2) Sill\u00e4 luodut sovellukset toimivat \u00e4lylaitteilla, kuten puhelimilla ja tableteilla, mutta my\u00f6s selaimessa. Sovelluskehitys on yhdistelm\u00e4 palikkaohjelmointia ja kyselykielt\u00e4 muistuttavien k\u00e4skyjen kirjoittamista.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"500\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1-1024x500.png\" alt=\"\" class=\"wp-image-221\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1-1024x500.png 1024w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1-300x146.png 300w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1-768x375.png 768w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1-1536x750.png 1536w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1-1200x586.png 1200w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps1-1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Kuva 2. Power Apps k\u00e4ytt\u00f6ymp\u00e4rist\u00f6 ja ohjelman aloitussivu.<\/figcaption><\/figure>\n\n\n\n<p>Tuot projektiisi ennalta luotuja elementtej\u00e4 jonka j\u00e4lkeen asetat niille haluamasi arvot ja kerrot kuinka ohjelma reagoi k\u00e4ytt\u00e4j\u00e4n ollessa vuorovaikutuksissa k\u00e4ytt\u00f6liittym\u00e4n kanssa. N\u00e4m\u00e4 tuodut elementit voivat olla n\u00e4pp\u00e4imi\u00e4, listoja, ajastimia, tai pelkki\u00e4 kuvioita tai ihan vain puhdasta teksti\u00e4.<\/p>\n\n\n\n<p><strong>Power Apps<\/strong> -ohjelmat tukevat sis\u00e4\u00e4nkirjautumista Microsoft -tilin kautta, jolloin sovelluskehitt\u00e4j\u00e4n itse ei tarvitse huolehtia salasanojen ja k\u00e4ytt\u00e4j\u00e4tunnuksien salaamiseen liittyvist\u00e4 tietoturvaongelmista. Samalla ohjelma mahdollistaa k\u00e4ytt\u00e4j\u00e4tietoja k\u00e4sittelevien funktioiden k\u00e4yt\u00f6n kuten <strong>User().FullName<\/strong> ja <strong>User().Email<\/strong>, jotka ovat suuri apu luodessa ohjelmaa, jonka on tarkoitus pysty\u00e4 erittelem\u00e4\u00e4n eri k\u00e4ytt\u00e4j\u00e4t toisistaan.<\/p>\n\n\n\n<p>Ja kuten edell\u00e4 mainitsin <strong>Power Apps<\/strong> on suunniteltu toimimaan vuorovaikutuksissa eri Microsoft -palveluiden kanssa. K\u00e4ytin projektissani Microsoft <strong>Sharepoint<\/strong> -palvelun alla toimivaa <strong>Lists<\/strong> -sovellusta, joka mahdollistaa taulukkodatan s\u00e4il\u00f6misen ja jakamisen. Loin kaksi listaa\/taulukkoa johon toiseen listasin t\u00e4ll\u00e4 hetkell\u00e4 olevat ty\u00f6teht\u00e4v\u00e4t (kuva 3) ja toiseen k\u00e4ytt\u00e4jien tunnit. Lis\u00e4ksi siirsin taulut DataLabs <strong>Sharepoint<\/strong> -ryhm\u00e4n alle, jotta kaikilla DataLabs ryhm\u00e4n j\u00e4senill\u00e4 olisi l\u00e4ht\u00f6kohtaisesti oikeudet taulujen k\u00e4sittelemiseen sovelluksen k\u00e4yt\u00f6n yhteydess\u00e4. Ohjelma toimi halutulla tavalla jos k\u00e4ytt\u00e4j\u00e4lt\u00e4 puuttuvat taulujen muokkaamista varten edellytett\u00e4v\u00e4t oikeudet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps2-1024x443.png\" alt=\"\" class=\"wp-image-224\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps2-1024x443.png 1024w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps2-300x130.png 300w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps2-768x332.png 768w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps2.png 1174w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Kuva 3. Sharepoint ty\u00f6teht\u00e4v\u00e4t -lista.<\/figcaption><\/figure>\n\n\n\n<p>K\u00e4ytt\u00e4j\u00e4 pystyy hakemaan ty\u00f6teht\u00e4vi\u00e4 sovelluksen <strong>saatavilla olevat ty\u00f6teht\u00e4v\u00e4t<\/strong> -painikkeen kautta, joka tulostaa edelt\u00e4v\u00e4n kuvan 3 <strong>ty\u00f6teht\u00e4v\u00e4t<\/strong> -listan (kuva 4). Ty\u00f6teht\u00e4v\u00e4n nime\u00e4 koskettamalla k\u00e4ytt\u00e4j\u00e4 saa esille kyseist\u00e4 teht\u00e4v\u00e4\u00e4 koskevat tarkemmat tiedot ja voi halutessaan valita teht\u00e4v\u00e4n itselleen painiketta painamalla.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"361\" height=\"597\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps3.png\" alt=\"\" class=\"wp-image-226\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps3.png 361w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps3-181x300.png 181w\" sizes=\"auto, (max-width: 361px) 100vw, 361px\" \/><figcaption class=\"wp-element-caption\">Kuva 4. Power Apps ty\u00f6teht\u00e4v\u00e4t -lista.<\/figcaption><\/figure>\n\n\n\n<p>Ty\u00f6teht\u00e4v\u00e4n valitsemisen j\u00e4lkeen kyseinen teht\u00e4v\u00e4 l\u00f6ytyy teht\u00e4vien lis\u00e4\u00e4misess\u00e4 k\u00e4ytetyn valikon alta (kuva 5) ja k\u00e4ytt\u00e4j\u00e4 voi kasvattaa sen teht\u00e4v\u00e4n tunteja kirjatessaan suorituksiaan. Valikon kautta k\u00e4ytt\u00e4j\u00e4 pystyy my\u00f6s muokkaamaan tai poistamaan aikaisemmin kirjattuja teht\u00e4vi\u00e4. Kenttin\u00e4 ovat p\u00e4iv\u00e4ys, ty\u00f6, tunnit ja valinnainen tekstikentt\u00e4 johon voi halutessaan kirjoittaa jotain.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"402\" height=\"696\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps5.png\" alt=\"\" class=\"wp-image-228\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps5.png 402w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps5-173x300.png 173w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><figcaption class=\"wp-element-caption\">Kuva 5. Oman teht\u00e4v\u00e4n lis\u00e4ys\/muokkaus.<\/figcaption><\/figure>\n\n\n\n<p>Teht\u00e4v\u00e4n kirjaamisen j\u00e4lkeen teht\u00e4v\u00e4 tulostuu k\u00e4ytt\u00e4j\u00e4n <strong>ty\u00f6teht\u00e4v\u00e4t<\/strong> -sivulle (kuva 6), jossa k\u00e4ytt\u00e4j\u00e4 voi tarkastella kirjaamisiaan. Kirjattuja p\u00e4ivi\u00e4 voi suodattaa halutun p\u00e4iv\u00e4n mukaan ja niit\u00e4 voi halutessaan muokata tai poistaa. Teht\u00e4vien yhteenlaskettu tuntim\u00e4\u00e4r\u00e4 tulostuu sovelluksen aloitussivulle. (kuva 2)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"340\" height=\"586\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps4.png\" alt=\"\" class=\"wp-image-227\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps4.png 340w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2022\/11\/powerapps4-174x300.png 174w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><figcaption class=\"wp-element-caption\">Kuva 6. Omien teht\u00e4vien n\u00e4kym\u00e4.<\/figcaption><\/figure>\n\n\n\n<p>Sovelluksen k\u00e4ytt\u00f6liittym\u00e4 on viel\u00e4 t\u00e4ss\u00e4 vaiheessa ei-niin-t\u00e4ydellinen ja siit\u00e4 puuttuu muutama ominaisuus. Pohjimmiltaan sen runko kuitenkin toimii. Tarkoituksena olisi my\u00f6s luoda interaktiivinen <strong>Power BI<\/strong> -visualisointi, jota kautta sovelluksen k\u00e4ytt\u00e4j\u00e4t, opettajat, tai joko kummatkin pystyisiv\u00e4t seuraamaan tuntikirjanpitoon liittyv\u00e4 tunteja ja tavoitteita.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>Power Apps<\/strong> esitt\u00e4\u00e4 itsens\u00e4 helppok\u00e4ytt\u00f6isen\u00e4 ja nopeana tapana luoda sovelluksia Microsoft -ymp\u00e4rist\u00f6ss\u00e4 sijaitsevan datan ymp\u00e4rille. Omalta osaltani ohjelma ei kuitenkaan ollut aina niin yksiselitteinen mit\u00e4 se lupasi. Joskus ohjelma ei vain toiminut halutulla tavalla ja sen yksinkertaisuuden takia ongelman l\u00f6yt\u00e4minen osoittautui odotettua turhauttavammaksi, mutta vikaa oli aivan varmasti my\u00f6s k\u00e4ytt\u00e4j\u00e4ss\u00e4. Ja vaikka v\u00e4lill\u00e4 ohjelman palikkamainen rakenne voikin tuoda omat rajoitteensa, niin se on silti erinomainen ty\u00f6kalu kaikille heille, jotka eiv\u00e4t ole ohjelmoinnin mestareita.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Annetun teht\u00e4v\u00e4nantoni perusteella minun oli luoda tuntiseurantaan suunnattu ohjelma. Ohjelman tarkoituksena olisi tarjota Xamkin oppilaille helppo ja vaivaton keino suoritetun tuntim\u00e4\u00e4r\u00e4n kirjaamista ja seuraamista varten, l\u00e4hinn\u00e4 ty\u00f6harjoittelun yhteydess\u00e4, ja sit\u00e4 tulisi pysty\u00e4 k\u00e4ytt\u00e4m\u00e4\u00e4n \u00e4lylaitteella kuten puhelimella tai tabletilla. Varsinaisesta sovelluskehitt\u00e4misest\u00e4 itsell\u00e4ni ei ollut mink\u00e4\u00e4n sortin kokemusta, vaikka eri ohjelmointikielten alkeita oli tultukin opiskeltua, kuten muun [&hellip;]<\/p>\n","protected":false},"author":319,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[19,20,21],"class_list":["post-219","post","type-post","status-publish","format-standard","hentry","category-yleinen","tag-power-apps","tag-sovellus","tag-sovelluskehitys"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts\/219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/users\/319"}],"replies":[{"embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/comments?post=219"}],"version-history":[{"count":4,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts\/219\/revisions"}],"predecessor-version":[{"id":230,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts\/219\/revisions\/230"}],"wp:attachment":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/media?parent=219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/categories?post=219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/tags?post=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}