Ik ben vorige week begonnen met item 1 en 2 van de PL-900. De week daarop had ik op mijn part-time middag geen andere verplichtingen en heb ik die PT-middag gebruikt waarvoor ik die middag eigenlijk heb: aan de studie! Dus item 3 op de dinsdagmiddag doorgenomen. Op de woensdagavond heb ik op mijn wekelijkse planning 1 uur Microsoft Learn op de planning staan, wat goed uitkomt, want dan kan ik item 4 behandelen. Nou ja, deels. Want de totale tijd van de modules waar dit item uit bestaat, daar ben je met een normaal tempo ongeveer 3.5 uur mee bezig. Omdat ik ook nog aantekeningen maak, zal het iets langer duren.
Daarna moet ik nog 1 item doen, die bestaat uit 2 modules, die duren "normaal" rond de 2 uur en een kwartier.
Item 3: demonstreer de mogelijkheden van Microsoft Power Pages
Met MPP maak je snel een website waarmee je meerdere partijen kunt ondersteunen. Het voorbeeld wat gegeven wordt is een bedrijf wat zaken verkoopt, klantenservice loopt niet zo soepel, communicatie met de leveranciers ook niet en de interne processen binnen het bedrijf kunnen ook beter. Al die zaken zou je met Microsoft Power Pages kunnen ondersteunen en daardoor verbeteren.
- Klantenportaal: bekijk je orders, status, krijg persoonlijke aanbevelingen.
- Samenwerkende partners sites: betere communicatie en coordinatie.
- Self-service platform voor werknemers: toegang tot HR documenten, aanvraag vrije dagen indienen, training modules volgen.
We krijgen een video te zien waarin de mogelijkheden worden toegelicht;
In de video wordt het voorbeeld van King County gegeven. Daar hebben ze inmiddels meer dan 200 oplossingen gebouwd.
Zo was er een programma voor non-profitorganisaties. Om die aanvraag te doorlopen was je een half uur bezig. Met de nieuwe implementatie zit dat rond de 10 minuten.
Met COVID-19 had klantenservice steeds up-to-date informatie nodig. Daar is een portaal voor opgezet. Er kwam een vaccinatie planningssysteem, mbv Microsoft Viccination Management solution.
Note: als nerd test ik wat dingen, dus ik heb wel wat opmerkingen aan deze site. Zo geeft securityheaders deze site een score F omdat er geen enkele van de benodigde headers voor goede security aangeleverd wordt. Vervolgens als ik naar /sitemap.xml ga, dan krijg ik een "vieze" ASP.NET pagina te zien (this type of page is not served).
Dan de verschillende manieren om een site aan te maken. De standaard methode is om met Copilot je site te bouwen. Het alternatief is om dit vanaf 0 zelf te doen.
Met de "developer site" kun je als programmeur met pro-code tools aan de slag. Hiermee kun je zelf je code aanpassen, API zaken toevoegen.
En als je dingen meer visueel wilt aanpakken, dan kies je voor "design studio".
Deze bestaat uit de volgende onderdelen:
- Pages workspace: ontwerp en bouw zaken met tekst, afbeelding, video en formulieren (zonder iets met code te hoeven doen).
- Styling workspace: thema's, kleurpalletten, lettertypes, ontwerp van knoppen, jouw eigen "brand".
- Data workspace: beheer je data, interactie met Dataverse (dus tabellen gebruiken, aanmaken), formulieren en views.
- Set up workspace: tools om zaken te koppelen, zoals identity providers (zodat je met SSO kunt inloggen), security, rechten en "livegang configuratie".
- Security workspace: monitor en beheer de veiligheid van jouw Power Page sites.
Demo.
Authenticatie en authorisatie in Power Pages worden door de volgende componenten beheerd/gebruikt:
- Site visibility: wie kan jouw site zien? Bij aanmaken is een site private. Je kunt deze public maken.
- Authenticated users: worden in Dataverse weergegeven als contacts. Inloggen doe je:
- Local sign-in: forms-gebaseerde inlog, waarbij het wachtwoord in het contact-record in Dataverse staat.
- External authentication: Microsoft Entra External ID, Microsoft, Twitter, Facebook en meer.
- Table permissions: je kunt aangeven wie toegang tot rijen in Dataverse hebben, onafhankelijk vanaf welke locatie dit aangeroepen wordt.
- Page permissions: toegang tot losse pagina's verstrekken of weigeren.
- Web roles: het koppelen van gebruikers en rollen om toegang tot Dataverse data en website content in te regelen.
Als je meer wilt weten, kun je hier de Power Pages Security white paper lezen.
Meer lezen:
Introductie Power Pages
Maak een site met Power Pages
Security overzicht
De volgende module gaat over het maken van een Power Page websites.
We starten hier met Copilot. Jij stelt de vragen, Copilot maakt de site voor jou. Het voorbeeld wat gegeven wordt is een bakkerij die een website wil.
- Je krijgt de HTML, mogelijk een mooie afbeelding van een pas gebakken brood die uit de oven komt.
- Er wordt automatisch een sitemap gemaakt.
- Refinen: je kunt Copilot vragen wat zaken aan te passen, of je kunt zelf in de WYSIWYG-editor zaken aanpassen.
Copilot kan
- Nieuwe pagina's toevoegen.
- Nieuwe secties aan een site toevoegen.
- Tekst aanpassen op basis van "toon van de boodschap" en de lengte van de tekst.
- Aangepaste formulieren en formulieren die uit meerdere stappen bestaan aanmaken.
Volgende pagina gaat over design studio.
Als je in het portaal komt heb je links 4 menu-items:
- Power Pages Home: overzicht van al jouw websites.
- Template hub: bak met sjablonen, hier kun je zoeken naar wat jij nodig hebt.
- Learn hub: met video's en handleidingen krijg je uitleg over het gebruik.
- Solutions: hier staan de verschillende oplossingen die naar jouw huidige omgeving gedeployed zijn en waar je nieuwe kunt aanmaken.
Omdat studio gekoppeld is aan Dataverse, kun je daar ook makkelijk in Dataverse komen.
Je kunt acties met tabellen doen, views (dus een aangepaste weergave van je tabel-data) en formulieren.
De styling van je site, er zijn 13 preset thema's die de basis vormen voor je site.
Als je een thema activeert, kun je (natuurlijk) allemaal zaken aanpassen.
Vervolgens komt er een opdracht om zelf een site te maken. Dit deel sla ik even over.
Mocht ik dat later alsnog willen doen, hier is de link.
Volgende punt is security.
Er worden verschillende authenticatiemethoden ondersteund.
Met permissions kun je instellen wie waar wel of niet bij mag.
Met de web-rollen kun je een soort RBAC instellen.
En met de zichtbaarheid kun je instellen of een site "publiek" of "privaat" is.
Item 4: demonstreer de mogelijkheden van Microsoft Power Apps
Met Microsoft Power Apps heb je een no-code/low-code platform waarmee je apps kunt maken, workflows kunt inrichten en uitdagingen qua automatisering kunt oplossen. Bij veel bedrijven worden nog zaken in spreadsheets/Excel-bestanden bijgehouden, handmatig zaken daaruit gehaald, waardoor overzicht krijgen (te) lang duurt, dat kan (natuurlijk) veel beter.
Power Apps bieden veel mogelijkheden. Je kunt er formulieren en statusrapporten mee maken, maar ook complexe oplossingen voor het aankoopproces en beheer van je inventaris. Hoewel de instap makkelijk is, als je zaken wilt tunen, net iets anders inrichten, dan kun je er het beste iemand "met vaardigheden" aan laten werken.
We hebben al eerder genoemd dat Power Apps meer dan 1.400 connectoren beschikbaar hebben. Dat is geweldig, want het bouwen, configureren van connectoren kost veel tijd (en is dus duur). Je kunt allemaal verschillende databronnen gebruiken. Voorbeelden hiervan zijn:
- Dataverse
- Sharepoint
- Dynamics 365
- SQL Server en Azure SQL
- Office 365
Je zit niet vast aan "1 databron", je kunt er zoveel gebruiken als je wilt/nodig hebt.
Je hebt 2 soorten apps, de canvas-apps en de model-driven apps.
Canvas app zijn precies wat je denkt, je hebt een canvas waar je items op kunt zetten. Met Power FX formules kun je zaken configureren. Deze kunnen simpel vanuit bestaande data gegenereerd worden met bv. Copilot, dus je hebt een bestaand Excel-bestand, een pagina in Sharepoint, etc.
Microsoft Learn verwijst je ook nog naar de pagina waar je kunt lezen hoe je met Figma een Power App kunt maken.
Bij een canvas app kun jij aangeven wat de databronnen zijn, bij een model-driven app is dat altijd Microsoft Dataverse.
Dit zijn voornamelijk "business apps" waar je dashboards en overzichten met grafieken hebt: data is de bron van je output.
Je hebt apps, die bestaand uit areas en daar staan tables in. Waar bijvoorbeeld contactgegevens in staan.
Tabellen zijn of list view, dus meerdere records die overeenkomen met bepaalde criteria en form view, waarbij je 1 record bekijkt.
Demo.
In model-driven apps kun je business flows toevoegen. Met Power Automate gemaakte stappen wordt je door "de flow" heen geholpen.
Hierbij kunnen meerder tabellen geraadpleegd worden en ook kunnen er zaken ingesteld worden, zoals het vereisen van bepaalde goedkeuringen voordat verder kan worden gegaan.
Bij de keuze, welke type app ga ik maken, heb je criteria.
Databron: Model-driven is altijd Dataverse, bij Canvas kun je Dataverse gebruiken, maar ook andere bronnen.
Doel: Model-driven is gericht op de backoffice, processen, bij Canvas is het gericht op een taak of scherm.
User Interface: bij Model-driven responsive, consistente UI, gepersonaliseerd op basis van de gebruiker en vooral gericht op het navigeren door data-relaties. Bij Canvas kun je een aangepaste UI gebruiken, zaken integreren met het device waar de app op draait en is deze makkelijk "te embedden" in iets anders.
De volgende module gaat over het bouwen van een canvas app.
Het voorbeeld is dat je een kleine winkel hebt. Je hebt je gegevens in Excelbestanden staan, klantorders, verkopen, maar je wordt helemaal gek.
We gaan kijken of we dit met een canvas app kunnen fixen.
Als je een canvas-app maakt begin je met een data-connector. Daar heb je "standaard"-versies van, maar ook "premium".
We zien hier Sharepoint, Excel en SQL.
Bij Sharepoint worden een paar "best practises" genoemd:
- Gebruik standaard data-types, anders wordt het moeilijk voor je app.
- Voorkom verplichte kolommen in Sharepoint, laat je app dat afhandelen.
- Gebruik simpele kolomnamen, dus geen vreemde karakters en zeker geen spaties.
- Het aan elkaar relateren van tabellen, dat doe je handmatig.
- Zorg dat je binnen de limieten blijft. Vaak gaat Sharepoint als het aantal boven de 100 komt "pagineren". Maar daar kan je canvas-app niet mee omgaan, dus je mist data.
Tips voor Excel:
- Data in Excel is altijd een tabel (dat rijmt) en dat is perfect.
- Als je een gallerij bouwt op basis van Excel, zet dan [image] in de kolomheader.
- Je gallerij velden worden automatisch gevuld gesorteerd op alfabet (dus zo kun je de volgorde beïnvloeden).
- Als iemand in het Excel-bestand aan het werk is, blokkeert dat de read/write van data in je app. Dus bij een app voor meerdere gebruikers is Excel eigenlijk niet aan te raden.
- Voor Excel hoef je geen extra licentiekosten te betalen, dus misschien kun je hier nog wat slims voor bedenken ;)
SQL is een "premium data-source".
De verschillende groottes qua apps:
- Small-scale: als je app niet zoveel hoeft te doen, geen grote datasets heeft en geen complexe onderlinge relaties. Sharepoint, Excel.
- Enterprise-level: onderlinge relaties, schaalbaar. Dan is Dataverse, SQL Server de betere keuze.
En let dus op hoeveel gebruikers jouw app gaan gebruiken en vooral "gelijktijdig" gebruiken, want als dat niet fijn werkt, loop je het risico dat je app niet (meer) gebruikt wordt.
Als je met Excel werkt, dan gebruik je Excel Online (Business), shared Excel files. Die staan in een OneDrive folder. Vervolgens geef je aan welk veld het identity-veld is, of je laat er automatisch een kolom voor aanmaken.
Je hebt verschillende "controls" die je kunt gebruiken. Knopen, tekstvelden, checkboxen, sliders.
Voor media gebruik je een gallery, een formulier, een image.
Voordeel is dat deze controls ook zaken ondersteunen.
Zo hebben ze een verbeterde toegankelijkheid, dus ook voor mensen met beperkingen werken de controls, ze zijn gebouwd om snel te laden en te zorgen voor "soepele interactie" en met thema capabilities kun je zorgen dat alles er strak, volgens het sjabloon uitziet.
Dus je hebt ook progress bars, spinners, tab lists, info knoppen.
Naast de standard controls heb je ook nog intelligent controls. Deze gebruiken AI en geavanceerde mogelijkheden.
Zo heb je de AI Builder Controls:
- Form processor: kan data uit documenten halen, zoals facturen, bonnetjes, formulieren. Waarbij automatisch velden als "naam", "datum", "factuurbedrag" e.d. eruit kan halen en jouw velden kan vullen met deze informatie.
- Object detector: hiermee kun je objecten in afbeeldingen detecteren en tellen. Dus hoeveel stuks zijn er nog op voorraad.
- Text recognizer: een foto van jouw geschreven aantekeningen bij een vergadering kunnen worden omgezet naar tekst in een tekstbox en opgeslagen worden.
- Business card reader: je bent op een beurs, iemand toont zijn visitekaartje, jij scant het, de data wordt direct in het CRM van je bedrijf opgeslagen.
Om te zorgen dat je app "overal" goed getoond wordt, word je interface in "containers" geplaatst.
- Auto-layout: automatisch positioneren van de onderliggende componenten. Je geeft aan of iets horizontaal of verticaal geplaatst moet worden.
- Manual layout: hierbij kun handmatig exact zaken op positie X/Y zetten. Dit is bijvoorbeeld om te zorgen dat in een navigatiebalk iconen en labels op een correcte manier getoond worden en getoond blijven worden.
- Flexible height: voorbeeld hiervan is een lijst met reacties, die kan groeien als er meer reacties bij komen.
Als je een responsive layout wilt moet je:
- "scale to fit" uitzetten.
- Een layout container toevoegen.
- Daar de eigenschappen van instellen. zo kun je hier bijvoorbeeld flexible width of flexible height activeren.
- Componenten toevoegen.
- Componenten groeperen.
Je kunt ook je instructies aan Copilot geven en die het laten bouwen.
Check dan wel wat voor tabellen er in Dataverse aangemaakt zijn, die kun je nog naar wens aanpassen.
Hierna volgt een pagina waarin je zelf een app kunt gaan bouwen. Die stap sla ik even over.
Mocht ik dat later alsnog willen doen, hier is de link.
Je hebt ook Copilot controls. Hiermee kan een gebruiker van je app met "natuurlijke taal" acties uitvoeren.
Met Agent Builder kun je businessprocessen laten automatiseren door AI aangedreven agents.
Meer informatie hierover kun je hier vinden (het is nog in preview mode).
Demo.
In Power Apps Studio kun je een preview doen. Daar kun je de orientatie instellen, de verschillende types devices.
Meer infomatie over responsive canvas apps kun je hier nalezen.
Je kunt je app verder checken, bijvoorbeeld met de App Checker. Die controleert of er bijvoorbeeld problemen met formules zijn.
Ook "niet slimme formules" die bijvoorbeeld onnodig traag zijn worden door deze controle meegenomen.
En je hebt de Accessibility checker. Bijvoorbeeld om aan te geven dat elementen geen ondersteuning bieden aan een screen reader. Of er problemen zijn met "bereikbaarheid via het toetsenbord". En of je problemen met het contrast van je kleuren hebt.
Bij het opslaan van je app kun je kiezen voor Save with version notes, dus waarbij je kunt toevoegen wat er in deze editie nieuw/anders/gefixt is. Save as, dan sla je een kopie van de app met een andere naam op. En via Download a copy kun je een lokale kopie van je app binnenhalen.
Meer informatie over het opslaan en publiceren van canvas apps kun je hier lezen.
Als je een app hebt, dan moet je nadenken over wie erbij mogen. Je kunt iemand User maken, die kan alleen de app uitvoeren. Je kunt ook co-owners aanmaken, die mogen zaken aanpassen en de app delen met anderen. Ze kunnen niet de app verwijderen of het eigenaarschap overnemen.
Toegang geven: als jouw Excel-bestand ergens op een Onedrive staat, moet de gebruiker daar ook bij kunnen komen.
Behoud van data security, voorkom dat mensen "teveel zien". Dus richt RBAC in Dataverse in, beperk toegang tot bestanden.
De laatste module gaat over het bouwen van een model-driven app.
De basis hiervan is "data". Het voordeel van Dataverse is dat je hier al veel standaard tabellen beschikbaar hebt. Maar mocht je zelf iets willen ontwerpen, dan kan dat natuurlijk ook.
UI componenten. Je hebt een App, daarbinnen heb je een Site map, met formulieren en views kun je vervolgens data tonen. Heb je toch nog wat afwijkends, dan kun je een custom page toevoegen, dat is dan een canvas-pagina.
Logische componenten. Business process flow, hiermee kun je gebruiker stap-voor-stap door het programma heen loodsen. Business rule: bijvoorbeeld aantal producten mag nooit lager dan 1 zijn. Power automate flow, automatische work-flows tussen apps en services, zodat je notificaties kunt ontvangen, zaken kunt synchroniseren, data kunt verzamelen en meer.
En de visualisaties. Een grafiek (chart), dashboard waar je meerdere grafieken op kunt zetten, embedded Power BI: het invoegen/tonen van data uit Power BI.
De stappen om een model-driven app te maken, zijn als volgt:
- Model business data: maak de tabellen in Dataverse, zorg voor een goede structuur, relaties, etc.
- Define business processes: als je een app voor huizenverkoop maakt en je hebt het telefoonnummer en/of het e-mailadres nodig van de klant, zorg dat die vraag in de flow zit en niet dat beide velden leeg gelaten kunnen worden.
- Compose the app: in Power Apps Studio kun je nu aan de slag.
- Configure security roles: wie mag er wel en wie mag er niet bij.
- Publish and share: rest van de wereld, dit is mijn app!
Je hebt allemaal verschillende soorten formulieren.
- Main forms: primaire interactie met tabellen, de standaard.
- Quick create forms: snel even wat data invoeren, wat meteen wordt opgeslagen en waarbij je binnen het scherm kunt "blijven werken".
- Card forms: compacte formulieren die vooral op mobiele weergave het beste uit de verf komen.
Met views kun je de weergave aanpassen. Je hebt een aantal types:
- Persoonlijke views: alleen zichtbaar voor jezelf, ook voor anderen als je jouw view expliciet deelt.
- System views: standaard views, zoals Advanced Find, Quick Find, Associated Views, Lookup Views.
- Public views: voor iedereen beschikbaar, kunnen aangepast worden om te voldoen aan de look van het bedrijf.
System views kun je niet verwijderen of deactiveren, maar de beschikbaarheid kun je wel inregelen op basis van security rollen.
De oefening sla ik even over, maar mocht ik die nog een keer willen doen, dan is dit de link.