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 altrobusiness 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.