Klossmajorene har laget et system for Family Engagement – “Dynamcis 365 Family Engagement”
Vi har lagd et sammensatt system basert på Power Platform og Azure, og alle komponentene våre snakker sammen med samme grunnleggende datamodell med brukere og familiestruktur
Man kan lese mer om alle modulene https://familyhub.powerappsportals.com/ – dette er vår offentlige markedsføring av produktet (denne siden er en viktig del av vår endelige leveranse)
Vi har de følgende modulene:
Vi lister opp de forskjellge modulene med linker til bloggpostene med den tekniske forklaringen
Oppgavestyring i hjemmet:
Command Center app i teams
Lese opp oppgaver som blir tilordnet med Sonos
Betaling av for småoppgaver i hjemmet med Vipps
Vi har integrert med flere deler av API-et til Vipps
Vi utbetaler lommepenger, eller betaling for utført husarbeid og lignende, gjennom Vipps-API. Det er selvsagt viktig å følge med på hvor mye penger man bruker, og på hvilke type oppgaver vi bruker mest penger. Vi har derfor laget et Dashboard som gir en visuell fremstilling av dette. Dashboardet viser også en total sum, og man har mulighet til å filtrere på dato, måned, kvartal og år. Dataene kommer inn via Rest API (JSON) og fyller en tabell i Power BI. Her gjør vi noen enkle kalkulasjoner, og relaterer til både systembruker og datotabell.
Det er viktig å følge personlig utvikling, og spesielt på hjemmekontoret. Dette gir personlig nytte, da man holder rede på ens eget velvære. Det gir også mening å kunne følge med på familiemedlemmer. Man kan også konkurrere med andre i antall push-ups og lignende. I forretningsverdi kan man her ha mulighet til å følge med på de ansattes velvære, noe som er spesielt nyttig når mange ikke møtes på kontoret som vanlig.
Vi henter data fra flere kilder. Noe kommer fra vår Bot, som stiller spørsmål og lagrer dette i en Sharepointliste. Push-ups og brukerdata kommer rett fra Dataverse.
Her har vi flere muligheter til å videreutvikle og tilpasse til behov. På planen står blant annet Slicer med mulighet til å velge bruker ved hjelp av bilde, og et eget dashboard for fitness og trening. Vi ønsker også å hente vær via API, for å se om produktivitet og velvære henger sammen med været som er utenfor vinduet. Mulighetene er endeløse!
Vi laget en app der flest mulig funksjoner er stappet inn i samme grensesnitt;
Navnet på appen er i seg selv et ordspill da denne kan brukes på tvers av familier slik at foreldre kan se de detaljene om barna som andre foreldre har valgt å legge ut og eksempler på oppgaver som er blitt registrert i Family Engagement-systemet.
Samtidig er det ikke alltid like lett å ha unger i hus; noen ganger vil man bare komme seg vekk. Foreldre fra flere hustander kan derfor samarbeide med å bygge opp en database med turer en kan dra på for å komme seg litt vekk fra masete unger. Istedet for at hver enkelt skal bruke tid på å velge ut en tur så kan foreldrene trykke på “Velg tilfeldig tur” hvor en av turene i databasen velges for deg.
Om alt skulle skjære seg kan det være godt å ha noen en kan spørre om råd. Vi har derfor valgt å inkludere vår kjære “Boten Anna” som kan hjelpe til med stort og smått.
Appen er bygd opp av disse komponentene;
For å kunne legge inn boten ble denne videoen brukt som inspirasjon. Fanen som skulle dukke opp når komponenten skulle importeres i appen var ikke til stede sånn ut av boksen, men ved hjelp av denne artikkelen fikk vi fanen til å dukke opp likevel. Github-repo som inneholder komponenten finnes på denne siden.
Ved å sende “ordre” om penger for utbetaling for til Vipps for å forespørre utbetaling av penger for betaling fra foreldre.
Man sender kun en forespørsel om betaling, men får i den spørringen ikke direkte tilbake resultatet om foreldrene tar seg bryet om å godkjennebetalingen.
For rapportering og oppfølging anser vi det som svært viktig at både foreldre og barn sitter med oppdatert informasjon om hvor vidt betalingen er utført – man kan selv se for seg det kaoset som oppstår om det oppstår tvil om hvor vidt en betaling for rydding av rom er utført eller ikke.
Som vi kan se er det to måter å implementere dette på, enten bruke callbackPrefix-koblingen som sendes inn i payments-metoden eller huske gjøre jevnlige forespørsler med å spørre på status på åpne betalinger.
Callback-URL vil gi en rask oppdatering av status på betaling og vil nok være hensiktsmessig å bruke i en nettbutikk-sammenheng med kjøpsflyter der kjøper venter på en nettside på om betaling har gått gjennom, men vi anser ikke dette som så viktig i et ukepentescenario
Det kan uansett være nyttig for en nettbutikk å sette opp jevnlig synkronisering av status på betalinger om f.eks en callback har feilet eller om en betaling har blitt refundert i ettertid.
I vår løsning har vi valgt å sette opp en jobb som jevnlig henter ut status på betalinger med vår go-to-teknololgi Power Automate Cloud Flows 😍
Vi har utvidet Task-tabellen i Dataverse til å holde på OrderID slik at vi bruker det som en nøkkel når vi snakker med Vipps sine API-er. Vi genererer OrderID selv som en Guid når vi sender inn ordre
Vi har satt opp en egen visning “Tasks med OrderId” som viser hvilke oppgaver som er sendt til Vipps, og vi bruker dataene fra denne visningen når vi går gjennom og ser hvilke ordre som er sendt inn
Vi får følgende respons tilbake, og ser at Vipps internt bruker en strukgur med flere “transactionLogHistory-objekter knyttet til en Order
Vi kunne modellert denne samme strukturen i Dataverse med å opprette en “transactionLogHistory-entitet”; men anser det som lite hensiktsmessig da det blir mye data å synkronisere
I stedet ser vi kun på nyeste “operation” i dette datasettet (“CANCEL” i skjermbildet over da den ordren ble kansellert), og synkroniserer den med statuscode-feltet på Task.
Vi ser for oss en løsning med PowerBI der man kan hente ut transactionId i et powerbi rapporteringslag og vise disse embeddet i model driven app
Ukepenger-løsningen trenger selvfølgelig et godt rapporteringslag, og da er det naturlig å gjøre dette gjennom PowerBI
Vi bruker igjen Power Automate Cloud Flows, og lager et lite mellomlag som i grunn bare håndterer pålogging til Vipps API-et og returnerer all betalingshistorikk som JSON
Flyten som er satt opp til å trigges av HTTP itererer gjennom alle records i CRM som har en ordreId, gjør en spørring mot Vipps sitt API om transaksjonshistorikk, for så å returnere dette som en JSON Array som Power BI kan konsumere.
Vi ser nok at dette ikke er en løsning som vil skalere for veldig mange ordre, men regner med at vi ikke får tusenvis av ordre i systemet vårt akkurat før vi må levere denne demoen 😎
Så nå har vi all trasaskjonsdata i PowerBI, og har mulighet til å koble dette til andre data fra Dataverse og andre kilder