Introductie
Deze pagina beschrijft richtlijnen voor het ontwerpen en configureren van Model-Driven Apps binnen Dataverse.
Model-Driven Apps vormen de gebruikersinterface bovenop het datamodel en bestaan onder andere uit:
- tabellen (voorheen entiteiten)
- formulieren (forms)
- weergaven (views)
- dashboards en charts
- navigatie via de app en sitemap
Belangrijk:
De focus ligt op het tonen, bewerken en sturen van data en processen. Bij Model-Driven Apps is de structuur van data en navigatie belangrijker dan pixel-perfect maatwerk in de gebruikersinterface.
🧩 Wanneer kies je een Model-Driven App?
Een Model-Driven App is vooral geschikt wanneer:
- de oplossing draait om gestructureerde bedrijfsdata in Dataverse
- gebruikers records moeten bekijken, muteren en opvolgen
- rollen, rechten en processturing belangrijk zijn
- je snel een onderhoudbare bedrijfsapplicatie wilt inrichten
- standaard componenten voldoende zijn voor het grootste deel van de gebruikerservaring
Minder geschikt is dit app-type wanneer de oplossing vooral vraagt om een volledig vrije schermopmaak of een sterk visueel maatwerkportaal.
📌 Doel
- consistente gebruikerservaring
- duidelijke navigatie en structuur
- efficiënte dataverwerking
- onderhoudbare en schaalbare apps
- zo veel mogelijk standaard en configureerbare inrichting
🧭 1. Algemene principes
- de UI volgt het datamodel en het proces
- minimaliseer complexiteit in formulieren en navigatie
- toon alleen relevante informatie
- gebruik standaardfunctionaliteit waar mogelijk
- houd de app voorspelbaar, consistent en rolgericht
- maak beheer en uitbreiding eenvoudiger door herhaling in structuur
Ontwerpregel:
Niet alles hoeft op één formulier of in één app zichtbaar te zijn. Verdeel informatie op basis van taak, rol en frequent gebruik.
🗂️ 2. App structuur
Richtlijnen
- gebruik bij voorkeur één app per functioneel domein
- structureer navigatie logisch, bijvoorbeeld Sales, Service of Beheer
- groepeer tabellen per proces, rol of use case
- vermijd “alles-in-één” apps met overvolle navigatie
- gebruik consistente namen voor pagina’s, tabellen en menu-items
Voorbeeld
- Accounts
- Contacts
- Opportunities
Functioneel domein
Procesgericht
Beheerbaar
Forms bepalen hoe gegevens worden weergegeven en bewerkt.
Richtlijnen
- gebruik één duidelijk hoofdformulier per tabel als uitgangspunt
- gebruik tabs voor logische scheiding van informatie
- gebruik secties voor compacte groepering
- plaats de belangrijkste velden bovenaan
- beperk onnodige scrollbewegingen
- maak formulieren taakgericht in plaats van technisch compleet
Voorbeeldindeling
- Tab: Algemeen
- Tab: Details
- Tab: Relaties / Subgrids
- Tab: Historie / Audit / Procesinformatie
Gebruik van logica op formulieren
- gebruik Business Rules voor eenvoudige validaties en UI-gedrag
- gebruik JavaScript alleen waar configuratie niet volstaat
- vermijd zware client-side logica en onnodige event-afhandeling
- maak gedrag uitlegbaar en testbaar
Tip:
Zet veelgebruikte velden op de standaard geopende tab. Minder vaak gebruikte informatie kan op secundaire tabs worden geplaatst om het formulier rustiger en sneller te maken.
📊 4. Views (Weergaven)
Views bepalen hoe data in lijsten wordt gepresenteerd en gefilterd.
Richtlijnen
- toon alleen relevante kolommen
- gebruik duidelijke sortering
- gebruik filtering waar mogelijk
- gebruik betekenisvolle namen voor views
- maak onderscheid tussen persoonlijke en algemene views waar relevant
Voorbeelden
- Active Accounts
- My Opportunities
- Open Cases
Aandachtspunten
- voorkom een wildgroei aan bijna identieke views
- zorg dat de belangrijkste velden direct zichtbaar zijn
- stem views af op dagelijkse taken van de gebruiker
📈 5. Dashboards & charts
Dashboards en charts geven gebruikers snel inzicht in status, trends en werkvoorraad.
Richtlijnen
- gebruik dashboards vooral voor overzicht en monitoring
- beperk het aantal visuals tot wat echt helpt bij besluitvorming
- zorg dat dashboards aansluiten op rollen of teams
- koppel grafieken aan views die inhoudelijk kloppen
Gebruiksscenario's
- openstaande zaken per status
- pipeline-overzicht
- werkvoorraad per team of eigenaar
- kwaliteits- of opvolgingsindicatoren
🔗 6. Navigatie
- gebruik duidelijke en herkenbare groepsnamen
- houd navigatie compact en taakgericht
- vermijd duplicatie van dezelfde tabel in meerdere groepen zonder duidelijke reden
- gebruik een consistente volgorde in menu’s
- plaats beheeronderdelen apart van dagelijkse gebruikersfunctionaliteit
🧠 7. Business Logic
Binnen Model-Driven Apps wordt business logic verdeeld over meerdere technieken en lagen binnen het platform.
De keuze voor de juiste implementatie hangt af van complexiteit, scope, performance en onderhoudbaarheid.
- Business Rules
- JavaScript
- PCF Controls
- Cloud Flows
- Plugins & Custom API’s
Richtlijn:
Gebruik de lichtst mogelijke oplossing die voldoet aan de functionele en technische eisen.
📚 Richtlijnen & verdieping
- beperk het aantal velden op forms
- minimaliseer het gebruik van zware subgrids en overvolle tabs
- vermijd dure onLoad-scripts en onnodige client-side events
- gebruik filtering en gerichte views om informatie compacter aan te bieden
- plaats vaak gebruikte velden op de standaard geopende tab
- plaats minder gebruikte informatie op secundaire tabs
Specifiek aandachtspunt
De standaard geopende tab heeft de grootste invloed op de eerste laadtijd van een formulier. Houd die tab compact, relevant en gericht op de primaire taak van de gebruiker.
🔐 9. Security & toegang
- gebruik security roles voor toegang tot data en functionaliteit
- toon alleen relevante gegevens per rol of team
- gebruik ownership en teams bewust en consequent
- voorkom overexposure van data in forms, views en dashboards
- scheid beheerfunctionaliteit van operationeel gebruik waar nodig
Extra aandacht
- toegang moet aansluiten op het functionele proces, niet alleen op techniek
- controleer of formulieren, views en dashboards passen bij de autorisaties
- beperk uitzonderingen en maatwerkrollen waar mogelijk
✅ Best practices
Aanbevolen
- houd formulieren eenvoudig en overzichtelijk
- gebruik een consistente structuur per tabel
- groepeer informatie logisch op basis van proces en gebruik
- gebruik standaardcomponenten waar mogelijk
- optimaliseer voor dagelijkse taken van de eindgebruiker
Vermijden
- overvolle formulieren
- complexe UI-logica in JavaScript zonder duidelijke noodzaak
- inconsistente navigatie
- duplicatie van views, forms of menu-items
- één app die alles probeert op te lossen voor alle rollen
📝 10. Ontwerp- en beheerchecklist
- Is de app logisch afgebakend per domein of proces?
- Is de navigatie compact, duidelijk en consistent?
- Bevat het hoofdformulier alleen de informatie die direct nodig is?
- Zijn tabs en secties logisch ingedeeld?
- Zijn views bruikbaar voor dagelijkse werkzaamheden?
- Zijn dashboards en charts alleen toegevoegd waar ze echt waarde bieden?
- Is business logic geplaatst in de juiste laag?
- Zijn performance-risico’s beperkt?
- Sluiten security roles en ownership aan op het proces?
- Is de oplossing onderhoudbaar en uitbreidbaar zonder onnodig maatwerk?
📊 Samenvatting
Model-Driven Apps vormen de gebruikersinterface van Dataverse-oplossingen.
Een goede inrichting zorgt voor:
- betere gebruikservaring
- hogere productiviteit
- minder fouten
- eenvoudiger beheer en onderhoud
Kernboodschap:
De gebruikersinterface moet altijd een logische, consistente en onderhoudbare afspiegeling zijn van het onderliggende datamodel, het proces en de rollen in de organisatie.