πŸ“± Model-Driven Apps

← Terug naar Develop

Model-Driven Apps vormen de primaire gebruikersinterface bovenop het Dataverse datamodel.

Gebruikers werken via Model-Driven Apps met:

Het ontwerp van een Model-Driven App bepaalt in hoge mate hoe efficiΓ«nt gebruikers kunnen werken en hoe eenvoudig de oplossing kan worden beheerd.

A great user experience starts with a great data model.


🎯 Doel

Deze richtlijnen ondersteunen teams bij:


πŸ›οΈ Algemene Ontwerpprincipes

Binnen Model-Driven Apps gelden de volgende uitgangspunten.

βœ… Proces boven techniek

De applicatie ondersteunt het bedrijfsproces.

Gebruikers moeten processen kunnen uitvoeren zonder kennis van het onderliggende datamodel.


βœ… Eenvoud boven complexiteit

Toon alleen informatie die noodzakelijk is.

Vermijd overvolle schermen en onnodige velden.


βœ… Standaard boven maatwerk

Gebruik standaard Dataverse-functionaliteit waar mogelijk.

Beperk JavaScript en maatwerk tot situaties waarin standaardfunctionaliteit onvoldoende is.


βœ… Consistentie boven creativiteit

Gebruikers moeten overal dezelfde patronen herkennen.

Gebruik vergelijkbare indelingen, navigatie en terminologie.


πŸ—‚οΈ App Structuur

Een Model-Driven App wordt opgebouwd rond een functioneel domein.

Richtlijnen

βœ… Gebruik één app per functioneel domein

βœ… Groepeer tabellen op basis van processen

βœ… Gebruik duidelijke navigatiestructuren

βœ… Houd apps compact en overzichtelijk


Voorbeeld

Sales App

Accounts
Contacten
Opportunities
Offertes
Contracten

Service App

Klanten
Tickets
Werkorders
Planning

Vermijd

🚫 Eén grote app voor alle processen

🚫 Technische navigatiestructuren

🚫 Dubbele navigatie-items


🧾 Formulieren (Forms)

Formulieren bepalen hoe gegevens worden bekeken en onderhouden.

Een goed formulier ondersteunt het werkproces van de gebruiker.


Ontwerpprincipes

βœ… Belangrijke gegevens bovenaan

βœ… Logische groepering van velden

βœ… Beperk scrollen

βœ… Gebruik tabs voor hoofdonderwerpen

βœ… Gebruik secties voor groepering


Aanbevolen structuur

Tab: Algemeen

Basisgegevens van het record.

Tab: Details

Aanvullende of minder gebruikte gegevens.

Tab: Relaties

Subgrids en gerelateerde informatie.

Tab: Historie

Historische gegevens en auditinformatie.


Formulieren per doelgroep

Gebruik meerdere formulieren wanneer gebruikersgroepen verschillende informatie nodig hebben.

Voorbeelden

Project - Consultant
Project - Manager
Project - Beheer

Vermijd

🚫 Tientallen formulieren voor kleine verschillen

🚫 Eén formulier voor alle gebruikers


πŸ“Š Weergaven (Views)

Views bepalen hoe gegevens worden gepresenteerd in lijsten.


Richtlijnen

βœ… Toon alleen relevante kolommen

βœ… Gebruik betekenisvolle namen

βœ… Gebruik standaard sortering

βœ… Pas filtering toe waar relevant


Voorbeelden

Mijn Open Taken
Actieve Klanten
Open Servicemeldingen
Projecten Deze Maand

Vermijd

🚫 Overvolle views

🚫 Te veel kolommen

🚫 Onduidelijke namen


🧭 Navigatie

Navigatie bepaalt hoe gebruikers door de applicatie bewegen.


Richtlijnen

βœ… Groepeer tabellen logisch

βœ… Gebruik procestaal

βœ… Houd structuur compact

βœ… Gebruik consistente volgorde

Voorbeeld

Sales
β”œβ”€ Accounts
β”œβ”€ Contacten
β”œβ”€ Opportunities

Beheer
β”œβ”€ Producten
β”œβ”€ Prijslijsten
β”œβ”€ Instellingen

Vermijd

🚫 Technische tabelnamen

🚫 Dubbele menu-items

🚫 Diepe navigatiestructuren


βš™οΈ Gebruik van Business Logic

Business Logic ondersteunt het gebruikersproces.

Mogelijke technieken


Richtlijnen

Gebruik bij voorkeur:

Business Rules
    ↓
JavaScript
    ↓
Plug-ins / Custom API's

Kies altijd de eenvoudigste oplossing die voldoet.


Vermijd

🚫 Dubbele implementaties

🚫 Businesslogica verspreid over meerdere technieken

🚫 Complexe JavaScript-validaties wanneer Business Rules voldoende zijn


⚑ Performance

De prestaties van een Model-Driven App worden sterk beΓ―nvloed door ontwerpkeuzes.


Richtlijnen

βœ… Toon alleen benodigde velden

βœ… Gebruik beperkte aantallen subgrids

βœ… Gebruik efficiΓ«nte views

βœ… Houd formulieren compact

βœ… Beperk zware JavaScript-functionaliteit


Vermijd

🚫 Grote aantallen subgrids

🚫 Onnodige rollups

🚫 Zware OnLoad scripts

🚫 Te veel tabbladen


πŸ” Security & Toegang

Gebruikers mogen alleen de informatie zien die relevant is voor hun rol.


Richtlijnen

βœ… Gebruik Security Roles

βœ… Gebruik Teams waar relevant

βœ… Gebruik Ownership correct

βœ… Beperk toegang volgens het Least Privilege principe


Vermijd

🚫 Overmatige rechten

🚫 Toegang tot alle gegevens

🚫 Security via JavaScript


βœ… Best Practices

Doe

βœ” Ontwerp vanuit processen

βœ” Gebruik standaardfunctionaliteit

βœ” Houd formulieren compact

βœ” Gebruik duidelijke navigatie

βœ” Gebruik consistente patronen

βœ” Optimaliseer voor productiviteit

βœ” Test met eindgebruikers


Vermijd

✘ Overvolle formulieren

✘ Overmatig maatwerk

✘ Inconsistente gebruikerservaring

✘ Technische navigatiestructuren

✘ Onnodig veel formulieren

✘ Prestatieproblemen door slecht ontwerp


πŸ”— Relatie met andere onderwerpen

Onderwerp Relatie
Entity Guidelines Het datamodel vormt de basis van de applicatie
Forms Beschrijft richtlijnen voor formulierontwerp
App Theming Beschrijft branding en visuele inrichting
Business Logic Ondersteunt validaties en procesgedrag
Security & Access Model Bepaalt toegang tot gegevens
Performance Ondersteunt schaalbare en snelle applicaties

πŸ“Œ Samenvatting

Model-Driven Apps vormen de gebruikersinterface van Dataverse-oplossingen.

Een goede inrichting zorgt voor:

πŸ‘‰ Een Model-Driven App moet een logische, gebruiksvriendelijke en onderhoudbare vertaling zijn van het onderliggende bedrijfsproces en datamodel.