Le model-driven app sono applicazioni guidate dai dati e dal modello di Dataverse: non disegni i pixel, ma componi elementi (tabelle, form, view, chart, dashboard) e la piattaforma genera un’interfaccia responsive e coerente. Come functional consultant il tuo compito è comporre questi elementi nell’app designer (l’esperienza moderna in Power Apps) scegliendo la configurazione giusta per lo scenario, non scrivere codice.
Anatomia di una model-driven app
Nell’app designer aggiungi pages (in genere una tabella con le sue view e i suoi form) e definisci la navigazione tramite la site map (mappa del sito). La site map è organizzata in gerarchia:
- Area → il livello più alto, selezionabile in basso a sinistra;
- Group → raggruppa voci correlate;
- Subarea → il link effettivo a una tabella, dashboard, custom page o URL esterno.
La site map è quindi la struttura di navigazione: decidere cosa è visibile e come è raggruppato è una scelta funzionale chiave.
I tipi di form
Ogni tabella espone più form, ciascuno con uno scopo preciso:
- Main form: l’esperienza principale di editing del record, con tab, sezioni, sotto-griglie, timeline e business process flow. È l’unico form che usa la struttura multi-colonna completa.
- Quick create form: form snello per creare rapidamente un record dal simbolo “+” nell’header o da un lookup, senza aprire il record completo. Va abilitato esplicitamente sulla tabella (Allow quick create).
- Quick view form: mostra in sola lettura i campi di un record correlato incorporato in un main form (es. i dettagli dell’account dentro il form del contact). Si aggiorna in base alla lookup.
- Card form: layout compatto pensato per le viste elenco su mobile e per i componenti che mostrano record “a scheda”.
Scegliere il form giusto è tipico: per inserire al volo un contatto da un altro record usi un quick create; per mostrare dati di una tabella collegata senza duplicarli usi un quick view.
View, chart e dashboard
Le view definiscono colonne, ordinamento e criteri di filtro di una griglia. Distingui:
- System/public view condivise;
- Personal view create dall’utente con “Save filters as new view”;
- view speciali come Lookup view e Quick Find view (quest’ultima governa la ricerca e i campi indicizzati).
I chart sono visualizzazioni basate su una view; le dashboard compongono più chart, view e (nelle interactive dashboard) stream filtrabili in un cruscotto operativo.
Le custom page: UI canvas dentro il modello
La custom page è il ponte tra il mondo model-driven e quello canvas: è una pagina in stile Canvas app (con controlli, formule Power Fx, connettori e pixel-perfect layout) inseribile direttamente nella site map o aperta come dialog da un command. Serve quando ti serve un’esperienza che i form standard non coprono:
- una landing/home page curata con card, immagini e call-to-action;
- layout con posizionamento libero dei controlli e logica ricca in Power Fx;
- integrazione di dati da connettori esterni accanto ai dati Dataverse;
- wizard o esperienze mobile-first molto personalizzate.
La regola pratica: resta sui main form per il CRUD standard sui record; introduci una custom page solo quando la personalizzazione dell’esperienza è il requisito, accettando in cambio più manutenzione.
Logica dei form: prima dichiarativa
Gran parte della logica sui form va gestita in modo dichiarativo, non con codice:
- Business rule: mostra/nascondi campi, imposta valori di default, rendi campi obbligatori, valida e blocca con messaggi di errore. Girano lato client e/o server a seconda dello scope. Sono lo strumento primo del functional consultant.
- Column/form logic nativa (campi calcolati, rollup, business process flow) per comportamenti guidati dal modello.
Solo quando la business rule non basta si passa a estensioni pro-code (JavaScript, PCF, plug-in), che l’esame PL-200 tocca marginalmente.
Trappole tipiche d’esame
- Serve mostrare i dettagli di un record correlato dentro un form, in sola lettura → usa un quick view form, non un main form incorporato o codice.
- Creazione rapida di un record dal “+” o da un lookup → abilita Allow quick create e configura un quick create form; se manca, il “+” apre il main form completo.
- Nascondere un campo o renderlo obbligatorio in base al valore di un altro → business rule (dichiarativa), non JavaScript.
- Home page ricca con layout personalizzato e connettori esterni dentro la model-driven app → aggiungi una custom page, non un dashboard né un main form.
- Governare quali campi sono cercati dalla ricerca globale → configura la Quick Find view della tabella; le altre view non influenzano la Quick Find.