Trasformare il modulo da InfoPath a Power Apps

Questo articolo è destinato a chi ha familiarità con l'uso di InfoPath e vuole informazioni su come ottenere gli stessi risultati di qualità elevata con una piattaforma più solida.

Vantaggi principali di Power Apps rispetto a InfoPath

La maggior parte degli utenti esperti di InfoPath ha competenze elevate che usa per generare moduli di qualità. Anche se il risultato è decisamente buono, tali moduli presentano alcuni limiti: l'aspetto decisamente "classico", un'esperienza tutt'altro che ideale per i dispositivi mobili, l'incertezza sulla loro disponibilità futura e le possibilità molto limitate quando si tratta di connettersi ad altri servizi senza scrivere codice.

Il team di Power Apps conosce queste e molte altre problematiche. Ha lavorato duramente per incorporare un'esperienza migliore e consentire agli utenti di creare app canvas sfruttando le proprie abilità commerciali e tecnologiche esistenti. Con Power Apps puoi eseguire la compilazione e la distribuzione rapida delle soluzioni aziendali giuste senza scrivere codice.

Power Apps apre le porte al futuro
Power Apps è una piattaforma Software as a Service (SaaS) progettata per consentirti di compilare rapidamente di app altamente funzionali distribuibile sul Web, in SharePoint, Dynamics 365, Teams, Power BI o in un dispositivo mobile senza operazioni aggiuntive. E dal momento che puoi distribuirle comunicando semplicemente all'utente l'URL dell'app pubblicata, sono anche estremamente facili da aggiornare.

Condividere le app
Hai provato a compilare un'app e quindi a pubblicarla per dispositivi iOS o Android? È complicato. Se vuoi distribuire una seconda app o aggiornare la prima, gli utenti devono eseguire molti altri passaggi. Non con Power Apps. Gli utenti installano Power Apps per dispositivi mobili sui propri dispositivi e accedono. In un attimo hanno a disposizione tutte le app altamente funzionali che sono state condivise. In futuro, quando le app verranno aggiornate o ne verranno pubblicate di nuove, queste saranno visualizzate sui dispositivi degli utenti. Avere app per dispositivi mobili senza il problema della gestione dei dispositivi è un grande passo avanti, per te e per l'azienda.

A proposito di dispositivi mobili
Con Power Apps puoi sfruttare la potenza dei dispositivi mobili degli utenti. Dall'app puoi accedere all'accelerazione, alla fotocamera, alla bussola, alle informazioni di connessione e alla posizione. Ciò apre tutto un mondo di possibilità per la compilazione di app funzionali. La funzionalità di tocco è naturalmente automatica in Power Apps e non è necessario scrivere altro codice quando si compila l'app.

Superare le limitazioni
Con InfoPath lavori normalmente con dati provenienti da un'unica origine. La situazione tuttavia si complica se vuoi aggiornare un'altra origine (ad esempio, un elenco in un'altra raccolta siti) o connetterti a servizi esterni. Concetti quali code-behind sono decisamente complessi. Power Apps è progettato per consentirti l'uso di più origini dati e connessioni ai servizi in un'unica app. Attualmente oltre 200 connettori supportano una combinazione di dati locali e cloud, tra cui servizi Microsoft Office 365 e Azure quali Power Automate e Dynamics 365. Puoi anche connetterti a una vasta gamma di servizi di terze parti, ad esempio Dropbox, Google, Salesforce, Slack e altre destinazioni molto diffuse.

Ora puoi compilare soluzioni scalabili in base alle esigenze degli utenti, non solo in base a dove risiedono i dati originali.

Power Apps e SharePoint: ancora meglio insieme

Power Apps è lo strumento ideale per migliorare la tua esperienza di uso di SharePoint in due modi. Puoi scegliere di personalizzare i moduli per un elenco o di creare un'app autonoma per utilizzare i dati di SharePoint.

Personalizzare un modulo di SharePoint è molto utile se vuoi personalizzare il modo in cui gli utenti aggiungono, visualizzano o modificano gli elementi di un elenco che usano per il proprio lavoro quotidiano. Se fai clic su Personalizza moduli, viene creata un'"app modulo" a schermata singola che modifica le modalità (nuovo/modifica/visualizzazione) in base al contesto. SharePoint gestisce queste app. Le autorizzazioni sono le stesse delle autorizzazioni elenco per la modifica/visualizzazione.

Creare un'app canvas Power Apps da SharePoint ti consente di eseguire l'app singolarmente in un dispositivo mobile. Puoi anche incorporare l'app in una pagina di SharePoint. Facendo clic su di essa verrà creata un'app composta da tre schermate (sfoglia elenco, visualizza dettagli e crea/aggiorna un elemento). Il modello di autorizzazione/condivisione per queste app non è associato a SharePoint ma è gestito da Power Apps.

Ora che conosci le differenze tra le due opzioni, nella sezione seguente ne verrà illustrato l'uso.

moduli di SharePoint

I team di Power Apps e SharePoint hanno collaborato per creare una sequenza di personalizzazione da usare con SharePoint. La maggior parte degli sviluppatori che usano InfoPath sa come InfoPath interagisce con SharePoint. SharePoint è un ottimo prodotto ma i moduli predefiniti sono molto semplici e non consentono la personalizzazione o la logica di business senza InfoPath. Tutto ciò rappresenta il passato.

Con Power Apps ora puoi personalizzare i moduli di elenco come funzionalità nativa. E quando esegui questa operazione, sfrutti tutta la potenza di Power Apps. La schermata seguente illustra un esempio di un modulo di Power Apps con un report di Power BI incorporato. L'intera soluzione è stata compilata in meno di 15 minuti.

Integrazione di SharePoint.

Un'altra caratteristica importante di Power Apps è la possibilità di connettersi facilmente a un'altra raccolta siti di SharePoint o a un altro ambiente dallo stesso modulo. Ad esempio, vuoi creare un modulo che consenta di visualizzare e aggiornare i dati da SharePoint Online e dall'ambiente SharePoint locale nello stesso momento? non è un problema. Se installi il gateway dati locale, in pochi minuti potrai connettere Power Apps, Power BI, Power Automate e App per la logica di Azure con i dati locali. Non è necessario apportare modifiche alle regole del firewall. Puoi anche connettere questa app a Power Automate.

App SharePoint standalone

Usa questa tecnica se, anziché aggiornare semplicemente l'esperienza del modulo di elenco, vuoi compilare un'app completa e autonoma basata sui dati di SharePoint. Questo è anche il modo migliore per iniziare. Pertanto ti consigliamo di iniziare a comprendere come funziona il canvas di Power Apps e compilare le app future da una qualsiasi delle numerose origini dati.

Per iniziare, segui questa procedura:

  1. Apri l'elenco che intendi utilizzare per compilare un'app.
  2. Nella barra dei menu, selezionare Integra -> Power Apps -> Crea un'app.
  3. Specifica un nome e quindi seleziona Crea.

Power Apps compilerà un'app che puoi personalizzare.

Per la prima app, inizia con un elenco semplice contenente solo un paio di campi di tipi differenti. In questo modo potrai creare una base solida senza complicare troppo le operazioni. L'apprendimento sarà piuttosto veloce e presto potrai affrontare app più complesse. Per assistenza nella compilazione della prima app, vedi la documentazione o questo video della community. Negli esempi seguenti vengono visualizzate attività di InfoPath comuni e le modalità per eseguirle in Power Apps. Ognuna di queste si basa su una semplice app di elenco.

Come usare Power Apps?

Dopo aver analizzato i concetti fondamentali, puoi andare oltre. Questa sezione illustra come applicare alcuni concetti comuni di InfoPath in Power Apps.

Nascondere/visualizzare/bloccare un campo in base a un valore
I moduli ben riusciti spesso applicano una logica di business avanzata, ad esempio la modifica dello stato di un campo in base a un valore o un'azione. Con Power Apps, puoi impostare la proprietà DisplayMode di un controllo su Modifica o Visualizza per specificare se un utente può modificare il campo. Puoi anche usare una semplice formula If per eseguire la stessa operazione in modo condizionale. Seleziona prima di tutto la scheda da modificare e quindi fai clic sull'icona del lucchetto. Questo passaggio consente di sbloccare la scheda in modo da poter modificare il valore.

Nascondere/visualizzare blocco schede di dati.

Nel riquadro di destra scorri fino alla proprietà DisplayMode per modificarla.

Espressioni di istruzioni If Else.

In questo esempio viene usata una formula If:

If(ThisItem.Color = "Blue", DisplayMode.View, DisplayMode.Edit)

Questa formula indica che, se il campo Color dell'elemento corrente è Blue, il campo Animal è di sola lettura. In caso contrario, il campo è modificabile.

Per nascondere la scheda anziché renderla di sola lettura, inserisci una funzione simile nella proprietà Visible sopra DisplayMode.

Puoi anche provare, ad esempio, a visualizzare un pulsante di approvazione solo se l'indirizzo di posta elettronica dell'utente corrisponde a quello del responsabile dell'approvazione. (Suggerimento: utilizza User().E-mail per accedere all'indirizzo e-mail dell'utente corrente). In questo modo puoi memorizzare l'indirizzo e-mail dell'approvatore YourDataCard e quindi impostare la proprietà Visible del pulsante su questa formula:

If( YourDataCard.Text = User().Email, true, false )

Formattazione condizionale
Analogamente, puoi anche offrire suggerimenti visivi agli utenti. Puoi, ad esempio, evidenziare il testo in rosso se il valore immesso non rientra in un intervallo accettabile oppure modificare il testo e il colore di un pulsante di caricamento dopo che l'utente ha caricato un file. Entrambe le operazioni possono essere eseguite tramite una funzione, ad esempio If, in proprietà quali Color o Visible.

Ad esempio, puoi usare la funzione If abbinata alla funzione IsMatch per modificare in rosso il colore del testo del campo relativo alla posta elettronica se l'utente non immette un indirizzo di posta elettronica correttamente formattato nella casella di input. A questo scopo, imposta il valore Color di TextInput1 (dove l'utente digita un indirizzo di posta elettronica) sulla formula seguente:

If( IsMatch(TextInput1.Text, Email), Black, Red )

IsMatch supporta molti modelli predefiniti, ad esempio Email, oppure è possibile crearne uno. Per altre informazioni sulla formattazione condizionale, vedi questo video della community.

Implementazione della sicurezza basata sui ruoli
La prima funzione da prendere in considerazione è DataSourceInfo. Le informazioni che si ottengono dall'origine dati variano, ma spesso puoi usare questa formula per verificare se l'utente è autorizzato a modificare i dati (sostituire YourDataSource con il nome dell'origine dati):

DataSourceInfo( YourDataSource, DataSourceInfo.EditPermission )

In questo modo puoi visualizzare un modulo o un pulsante solo se l'utente è autorizzato alla modifica. Vedi la documentazione di DataSourceInfo per un elenco completo delle informazioni per le quali è possibile eseguire una query nella funzione.

Se vuoi usare i gruppi di Active Directory per gestire l'accesso ai pulsanti o ai moduli nell'app, sarà necessario approfondire. A questo scopo, puoi sfruttare la flessibilità di Power Apps e creare il tuo connettore tramite l'API Microsoft Graph. Se sembra troppo complicato, puoi seguire questo post di blog per ottenere indicazioni dettagliate.

Inviare un messaggio di posta elettronica dall'app
Puoi inviare un messaggio di posta elettronica da Power Apps in molti modi, ma quello più semplice consiste nell'usare Office 365 Outlook Connector. Con questo connettore puoi inviare un messaggio dall'app. Puoi anche ottenere i messaggi di posta elettronica ed eseguire altre attività che interagiscono con la cassetta postale. Per informazioni sull'invio di messaggi di posta elettronica, vedi la documentazione o questo video della community.

Puoi inviare messaggi più complessi (ad esempio, nell'ambito di un workflow di approvazione SharePoint) usando Power Automate e connettendo l'app al flusso creato. Dopo aver connesso l'app a Power Automate, puoi sfruttare tutta la potenza di un motore del flusso di lavoro che, come Power Apps, è ottimamente connesso a dati e servizi esterni. Per altre informazioni su come connettere Power Apps e Power Automate, vedi la documentazione.

Se ancora non hai trovato l'opzione di posta elettronica che stai cercando, puoi sfruttare anche i connettori di Power Apps per Benchmark Email, Gmail, MailChimp, Outlook.com, SendGrid o SMTP. Il vantaggio di Power Apps è proprio la connettività.

Flussi di lavoro
Non è possibile parlare di app aziendali e logica di business senza un motore del flusso di lavoro. La buona notizia è che il team di Power Apps non ha prodotto un nuovo flusso di lavoro. Ha invece messo a disposizione un connettore affidabile al servizio Power Automate. Puoi automatizzare processi e attività in più di 200 servizi diversi tramite un motore del flusso di lavoro facile da usare. Per altre informazioni su come connettere Power Apps e Power Automate, vedi la documentazione.

Variabili con Power Apps
Quando compili le soluzioni, è naturale tenere in considerazione le variabili. Power Apps offre molteplici tipi di variabili, ma è consigliabile usarle solo quando necessario. Anziché ottenere i dati, archiviarli in una variabile e fare quindi riferimento a questa variabile, puoi fare riferimento direttamente ai dati. Puoi comprendere meglio questo modello confrontandolo con Excel. In Excel il totale non è una variabile, è la somma di altri campi. Quindi, se vuoi usare questo valore altrove nel foglio di calcolo, specifica la cella in cui è stato calcolato il totale. La documentazione contiene una spiegazione molto chiara al riguardo. È necessario pensare in modo diverso.

Se comunque hai bisogno di una variabile (in molti casi è ancora così), le informazioni riportate di seguito ti consentiranno di comprendere le diverse opzioni. Tieni presente che con Power Apps non è necessario definire le variabili. È sufficiente usare una funzione per specificare un nome e un valore da archiviare e la variabile viene creata. Puoi visualizzare le variabili che hai creato selezionando Variabili nella scheda Visualizza. Le variabili vengono mantenute in memoria e i loro valori vengono persi quando chiudi l'app. Puoi creare questi tipi di variabili:

  • Le variabili globali sono quelle più usate in generale. Usa la funzione Set per specificare un valore per una variabile globale e renderla disponibile nell'app:

    Set( YourVariable, YourValue )

    Potrai quindi fare riferimento a YourVariable in base al nome all'interno dell'app.

  • Le variabili di contesto sono disponibili solo nella schermata in cui vengono definite. Quando esci dalla schermata, vengono reimpostate. Vengono spesso usate, ad esempio, per archiviare le informazioni passate da una schermata precedente o per verificare se il modulo è stato inviato. Per impostare una variabile di contesto, usa la funzione UpdateContext, come illustrato in questo esempio:

    UpdateContext( { Submitted: "true" } )

    In questo esempio il valore di una variabile denominata Submitted viene impostato su true. Puoi aggiungere questa formula alla proprietà OnSelect di un pulsante di invio per verificare che le informazioni siano state inviate e impostare tutti i campi come di sola lettura.

  • Le raccolte archiviano tabelle di informazioni che possono essere aggiornate singolarmente. Usa la funzione Collect per creare un carrello acquisti, ad esempio, quando l'utente contrassegna diversi elementi di SharePoint da inviare. Per vedere questo concetto messo in pratica, guarda il video della community.

Elenchi a cascata
Gli elenchi a cascata sono molto utili poiché consentono, ad esempio, di filtrare le opzioni disponibili in un elenco a discesa in base al valore selezionato nell'elenco a discesa precedente. In Power Apps vengono spesso creati dalla presenza di due origini dati nell'app. La prima origine dati è rappresentata dai dati che stai visualizzando o aggiornando, la seconda archivia i valori per creare l'effetto a cascata. Questa figura illustra un esempio della seconda origine dati con le opzioni di scelta.

Elenchi a cascata.

In questo esempio puoi aggiungere un elenco a discesa denominato ddSelectType e impostarne la proprietà Items sulla formula seguente:

Distinct( Impacts, Title )

Nell'elenco a discesa vengono visualizzati solo gli elementi Cost, Program Impact e Schedule. Puoi quindi aggiungere un secondo elenco a discesa e impostarne la proprietà Items sulla formula seguente:

Filter( Impacts, ddSelectType.Selected.Value in SCategory )

Ed ecco creati gli elenchi a cascata. Per altre informazioni, vedi il post del team di Power Apps SharePoint: elenchi a cascata in 4 facili passaggi o questo video della community. È comunque possibile crearne anche senza SharePoint.

Non compilare super app
Con Power Apps puoi chiamare un'app da un'altra app. Quindi, invece di compilare moduli in blocco tenuti insieme in qualche modo, come con InfoPath, puoi compilare un gruppo di app che si chiamano a vicenda e che si passano anche i dati, semplificando così lo sviluppo.

Passaggi successivi

Con Power Apps e le informazioni contenute in questo argomento puoi ora iniziare a sviluppare le tue app. Per continuare il percorso, di seguito vengono riportati alcuni collegamenti utili, ad esempio quello del sito della community di Power Apps. Entrando subito a far parte della community puoi incrementare le tue competenze molto più rapidamente di quanto non faresti da solo.

Informazioni di riferimento sulle funzioni in PowerApps: sempre un ottimo modo per trovare idee, basta vedere l'elenco delle funzioni predefinite.

Community di Power Apps: per vedere gli esempi, consultarti con gli altri, fare domande e offrire risposte e aiutare la community di Power Apps.

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).