Power Apps – Grups vs Container Control

In questo articolo, presenteremo una novità per Power Apps: un nuovo controllo “Contenitore” nelle app canvas che ti consente di raggruppare i controlli che risiedono all’interno di quel contenitore.

Il tutto forse non ti sembra nuovo: infatti, esiste già una funzione simile che ti permette di raggruppare i controlli aggiungendo un “Gruppo” attorno ad essi.

Di seguito vediamo la differenza tra le due funzionalità di raggruppamento (Gruppo e Container Control) nelle app canvas di Power Apps e come si completano a vicenda.

Nota: Container control è una funzionalità sperimentale e deve essere abilitata tramite le impostazioni avanzate dell’app. Queste funzionalità potrebbero cambiare, interrompersi o scomparire in qualsiasi momento e non dovrebbero essere utilizzate in una configurazione di produzione.

Il gruppo è un concetto e il contenitore è un controllo

Il gruppo, quando applicato a un insieme di controlli, non influisce sul layout dello schermo, il che significa che non aggiungono alcun elemento al DOM.

Il contenitore, quando applicato a un set di controlli, aggiunge un elemento “div” che racchiude tutti i controlli all’interno di quel contenitore.

Tab Index Behaviour

Puoi utilizzare il contenitore per assicurarti che l’azione di tabulazione passi prima attraverso i controlli all’interno di questo e proceda poi ai controlli all’esterno. Con un gruppo non puoi imporre tale comportamento.

Posizionamento dei controlli

I controlli, all’interno di un contenitore, possono essere posizionati solo dentro di esso e la loro posizione (valori X, Y) è relativa al contenitore.

Mentre, i controlli, all’interno di un gruppo, possono essere posizionati ovunque sullo schermo e la posizione di essi (valori X, Y) è relativa allo schermo.

Se un controllo all’interno di un contenitore è posizionato in modo tale da andare oltre il limite di quest’ultimo, non sarà visibile sullo schermo.

Proprietà di controllo

I controlli, all’interno di un gruppo, ereditano i valori di proprietà di quest’ultimo, quando vengono applicati a livello di gruppo. Tuttavia, puoi modificare anche i singoli controlli.

I controlli all’interno di un contenitore non ereditano le proprietà di questo.

Annidamento/raggruppamento di oggetti

I gruppi non possono essere annidati: non puoi aggiungere un gruppo all’interno di un altro, mentre con i contenitori puoi farlo. Inoltre, è possibile avere più gruppi all’interno di un contenitore, e raggruppare più contenitori.

Aggiunta di nuovi controlli ai contenitori

I controlli possono essere aggiunti in un contenitore tagliandoli e incollandoli. Nel gruppo, non puoi aggiungere direttamente un nuovo controllo.

Come hai visto sopra, a seconda del caso d’uso, è possibile scegliere tra un contenitore o un gruppo o persino utilizzarli entrambi in un’app canvas di Power Apps.


Le informazioni presenti in questo post, sono prese dall’articolo: https://kksimplifies.com/container-control/.

Novità per le Formule di Power Apps

Siamo felici di annunciarti la disponibilità di alcune features molto attese per le formule Power Apps canvas.

Launch to self

Quando è in esecuzione in un browser web, un’app canvas può ora auto-rimpiazzarsi con un’altra app canvas o una web page. Si tratta di una funzionalità che gli utenti attendevano con ansia e la cui richiesta è aumentata ulteriormente nel periodo del COVID.

Per rispondere a queste necessità, Microsoft ha aggiunto un nuovo modo di utilizzare la funzione Launch. Attualmente i parametri vengono passati come una sequenza di coppie di stringhe nome valore:
Launch( “https://bing.com/search”, “q”, “Power Apps”, “format”, “rss” )

Poichè questa funzione può prendere un numero di argomenti arbitrari di qualsiasi tipo che possa condizionare una stringa, non vi era un modo corretto per aggiungere un argomento extra che specificasse la target tab per il launch. L’associazione tra gli argomenti di parametro è vasta e può diventare difficile selezionarla se vi è un lungo elenco.

È stato, quindi, aggiunto un nuovo modo di richiamare “Launch”: l’operazione viene fatta con un record invece che con coppie di argomenti. In questo modo, il nome e il valore di ciascun parametro sono molto più facili da associare:
Launch( “https://bing.com/search”, { q: “Power Apps”, format: “rss” } )

Inoltre, puoi aggiungere un nuovo parametro per il LaunchTarget:
Launch( “https://bing.com/search”, { q: “Power Apps”, format: “rss” }, LaunchTarget.Self )

Grazie a questa novità, potrai sostituire un’app canvas, eseguita su web browser, con un’altra app o una pagina web. Vediamo la feature in azione nell’app COVID qui sotto: da notare che la finestra del browser non cambia mentre ci si sposta tra le app canvas.

ATTENZIONE:

  • LaunchTarget funziona solo con la nuova sintassi del record. L’aggiunta al vecchio formato non avrà alcun effetto.
  • LaunchTarget non funziona nelle app integrate, come quelle ospitate in Power BI o SharePoint, e, in ogni caso, ve lo sconsigliamo. Non avreste infatti il controllo su come l’host accetta la richiesta per una nuova finestra.

Puoi leggere di più sull’argomento a questo link: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-param

Self Operator

Altra feature molto richiesta, che Microsoft sta introducendo, è quella del Self Operator.

Le formule spesso si riferiscono ad altre proprietà dello stesso controllo.
Ti sarà capitato di voler collegare due colori, probabilmente avendo HoverBorderColor con lo stesso valore di HoverColor. Se il controllo è Label1 allora dovresti impostare la proprietà HoverBorderColor su Label1.HoverColor.

Supponiamo tu stia copiando e incollando una formula ed il nome del controllo del destinatario fosse diverso: dovresti modificarlo manualmente. Sarebbe preferibile utilizzare un riferimento relativo, in cui la proprietà HoverBorderColor sia impostata su Self.HoverColor.
Self Operator è molto simile all’operatore Parent esistente.

Self vs. This

Perché lo chiamiamo Self invece di This? Entrambi i termini sono ampiamente utilizzati nei linguaggi informatici e sono emersi due argomenti principali per Self:

  • Esiste già un operatore Parent, e un giorno potrebbe esserci un operatore Children. Self si adatta più naturalmente a questa gerarchia.
  • Esiste già ThisItem e Microsoft presenterà a breve ThisRecord, mentre ThisUser e ThisChannel sono all’orizzonte. Se se ci fosse solo un semplice This, esso porterebbe alla domanda “Questo cosa?”. “This*” riguarda i dati e non i controlli.

Pe approfondimenti sull’argomento trovi la documentazione a questo link: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/operators

Tempistiche

Microsoft ha introdotto le modifiche per Launch prima di sapere che avrebbe aggiunto la parola chiave Self. Poichè è coerente con la funzione Window.Open di JavaScript, ha scelto LaunchTarget.Self per sostituire la finestra corrente.

Sfortunatamente, l’aggiunta di un operatore Self non è compatibile con Self come valore di enumerazione. Con l’aggiunta dell’operatore, Power Apps inserisce automaticamente virgolette singole intorno a ‘Self’ in LaunchTarget.’Self’.
Comprendendo il conflitto di nomi, Microsoft ha già avviato il processo per sostituirlo con LaunchTarget.Replace. Inoltre, sta anche rinominando LaunchTarget.Blank in LaunchTarget.New (non è un operatore, ma in futuro potrebbe diventarlo).

LaunchTarget.Self è disponibile con la versione 3.20043, mentre LaunchTarget.’Self’ e l’operatore Self sono disponibili con la versione 3.20051. Ci sono molti fattori che influenzano quale sia la versione migliore per te, tra cui la tua regione. Quindi, il modo più semplice per sapere quale utilizzare, potrebbe essere quello di digitare LaunchTarget ed aggiungrvi il . per visualizzare le scelte possibili.

La buona notizia è che le tue formule si aggiorneranno automaticamente man mano che Microsoft apporterà le modifiche. È infatti presente un’altra funzionalità in Power Apps che tiene traccia della versione della lingua che stai utilizzando nella tua app ed aggiorna automaticamente le formule.


Le informazioni presenti in questo post, sono prese dall’articolo: https://powerapps.microsoft.com/en-us/blog/formulas-launch-to-self-and-self-operator/

È arrivato il componente “Power BI” che semplifica l’integrazione della Business Intelligence in Power Apps

Sappiamo tutti quanto possa essere complicato incorporare Power BI all’interno del portale PowerApps utilizzando il liquid tag.
Il motivo? L’utente deve richiedere i dati a Power BI e passarli al parametro corretto all’interno del liquid code.
Con questa feature, Microsoft vuole abilitare Power BI Embedded come componente principale nell’esperienza di progettazione del portale (proprio come avviene con Forms e List). Potrai aggiungere report o dashboard utilizzando il pannello delle proprietà, senza preoccuparti del liquid code.

Per iniziare

Per aggiungere un report o una dashboard seleziona il componente Power BI dall’apposito riquadro.
Una volta aggiunto alla pagina, potrai selezionare l’elemento che desideri dal pannello delle proprietà.

Aggiungere Dashboard/Riquadri
Per visualizzare le dashboard disponibili nell’area di lavoro desiderata, seleziona “Dashboard” alla voce “Type”.

Utilizzando il campo “Tile” puoi visualizzare solo un riquadro specifico della dashboard che hai selezionato.

Aggiungere un Report
Per visualizzare i report disponibili nell’area di lavoro, il procedimento è il medesimo: nel campo “Type” seleziona “Report”.

Configurare le opzioni avanzate

Applicare il Filtro
Le opzioni Avanzate, ti permettono di applicare i filtri.
Il parametro Filtro non deve contenere il valore ?filter= prefix.
Ad esempio, Table/Field eq ‘value’.
Trovi maggiori informazioni a questo articolo: https://docs.microsoft.com/it-it/power-bi/collaborate-share/service-url-filters

Applicare i Ruoli
Se in Power BI hai definito ed assegnato un ruolo ai report, dovrai immetterli in questo campo, come mostra l’immagine sottostante.
Poitrai inserirli separati da una virgola, ad esempio ruolo_1, ruolo_2.
Per ulteriori informazioni, ti rimandiamo al seguente articolo: https://docs.microsoft.com/it-it/power-bi/admin/service-admin-rls

Feedback
La tua opinione è preziosa!
I tuoi feedback permettono a Microsoft di continuare a migliorare le funzionalità e a crearne di nuove.
Racconta la tua esperienza sul portale di PowerApps: https://powerusers.microsoft.com/t5/Power-Apps-Portals/bd-p/PowerAppsPortals.

A questo link, invece, trovi la documentazione dettagliata: https://docs.microsoft.com/it-it/powerapps/maker/portals/compose-page#add-power-bi.


Le informazioni presenti in questo post, sono prese dall’articolo: https://powerapps.microsoft.com/en-us/blog/power-apps-portals-simplified-power-bi-integration-using-power-bi-component/

Lavorare con gli elenchi a cascata in SharePoint e Power Apps

Nella GIF qui sotto, vedrete come sia possibile collegare gli elenchi di SharePoint e mostrare solo un sottoinsieme dei dati.

Il collegamento a cascata è utile quando si dispone di più elenchi correlati tra loro e si desidera visualizzare solo le opzioni coerenti con la selezione operata in precedenza.

Nell’esempio qui sopra, viene creato un elenco che illustra le grandi innovazioni provenienti da vari paesi ed inserisce a cascata le innovazioni in base alla scelta della regione, filtrando i paesi per la regione specifica.

1. Liste SharePoint
Nell’esempio seguente vengono utilizzati tre diversi elenchi SharePoint.

Paese: contiene una singola riga di colonne di testo per il titolo e la regione. L’elenco è costituito da 231 paesi con regione associata. La vista utilizzata è il raggruppamento per regione. La tassonomia delle regioni del mondo, la trovate qui.

Regione: utilizzo del campo “Titolo” predefinito per il titolo della regione. Il campo di testo aggiuntivo “Paesi” viene utilizzato come segnaposto solo per la formattazione delle colonne.

Innovazioni: si tratta dell’elenco principale in questo esempio. In questo elenco è possibile aggiungere tutte le grandi innovazioni, utilizzando i campi di ricerca per “Regione” e “Paese” (e “Paese: Regione”) e una singola riga di colonna di testo per “Titolo”.

2. Formattazione delle colonne (JSON)

In questo passaggio viene costruito un oggetto JSON ed aggiunto alla formattazione della colonna per personalizzare la modalità di visualizzazione del campo colonna nell’elenco “Regione”. Al termine, il campo della colonna mostrerà un collegamento formattato alla vista raggruppata nell’elenco “Paese”.

Innanzitutto, verrà creato un collegamento di navigazione alla vista raggruppata nell’elenco “Paese”.

Fate click su un’intestazione di modo che l’elenco mostri solo quella. Quindi copiate l’URL e spostate “FilterValue1 =” alla fine dell’URL.

Passate all’elenco “Regione” e selezionate o create una nuova colonna di testo singolo denominata “Paesi”. Fate clic sull’intestazione della colonna “Paesi” e selezionate “Impostazioni colonna” e “Formatta questa colonna” per visualizzare la schermata di formattazione della colonna.

JSON

{
“$schema”: “http://columnformatting.sharepointpnp.com/columnFormattingSchema.json”,
“elmType”: “div”,
“style”: {
“display”: “inline-block”,
“padding”: “10px 0 10px 0”,
“min-height”: “auto”
},
“children”: [
{
“elmType”: “span”,
“style”: {
“display”: “inline-block”,
“padding”: “0 10px 0 0”
},
“attributes”: {
“iconName”: “Forward”
}
},
{
“elmType”: “a”,
“txtContent”: “Show Countries”,
“attributes”: {
“target”: “_top”,
“href”: {
“operator”: “+”,
“operands”: [
“INSERT_URL_HERE”,
“[$Title]”,
“&FilterType1=Lookup”
]
}
}
}
]
}

3. Power Apps (Filtro, Scelte)

Per personalizzare il modulo per l’elenco delle innovazioni aprire Power Apps nel browser. Nell’elenco “Innovazioni”, creare una nuova voce di elenco e scegliere “Modifica modulo”, quindi “Personalizza con PowerApps”. Attenzione, a seconda del vostro ambiente specifico, potreste visualizzare i comandi in maniera diversa. Per ulteriori informazioni vi rimandiamo all’articolo Personalizza un elenco di SharePoint o un modulo di libreria utilizzando Power Apps.

In Power Apps, selezionate la scheda “Paese” e nella scheda “Avanzate” selezionate “Sblocca per modificare le proprietà” per aprire le modifiche. A seconda dell’istanza specifica, i nomi forniti per i componenti potrebbero essere diversi: regolatevi di conseguenza.

Selezionate DataCardValue3 (Casella combinata) in Country_DataCard1 (Card) e poi il valore della funzione Items.

Poiché la funzione Scelte consente solo due valori (Id, Valore) per la ricerca nell’elenco Paesi, è necessario apportare alcune modifiche aggiuntive.

Assicuratevi che la colonna “Regione” sia selezionata nel campo di ricerca dell’elenco “Paese”. Fondamentalmente, apparirà in Power Apps come una tabella aggiuntiva.

Utilizzando la funzione “filtro” e l’operatore “in” ora è possibile fare riferimento ai valori in base all’Id dal “Paese” per mostrare il valore “Titolo” in base alla selezione della “Regione”.

Powerapps

Filter(Choices([@Innovations].Country), Id in Filter(Choices([@Innovations].’Country:Region’), Value = DataCardValue2.Selected.Value).Id)


Le informazioni presenti in questo post, sono prese dall’articolo: Working with Cascading Lists in SharePoint and Power Apps.

Nuove funzionalità geospaziali all’interno di Power Apps

Microsoft è entusiasta di condividere l’arrivo di nuove funzionalità geospaziali su Power Apps. Con queste nuove features, i produttori di app saranno in grado di introdurre rapidamente funzionalità basate sulla posizione nelle loro esperienze ed iniziare a digitalizzare i flussi di lavoro nello spazio fisico utilizzando gli strumenti che già conoscono.
Questi nuovi componenti sono basati sui servizi di Azure Maps .

Non è necessario essere uno sviluppatore professionista per trarne beneficio: i componenti possono essere aggiunti in modo molto semplice (drag-and-drop) e lo sviluppo è di tipo sviluppo low-code.

Mappe Interattive

Gif: Mappe Interattive in azione

Per migliaia di anni, le mappe sono state il modo migliore per visualizzare ed interpretare i dati di posizione: per questo, gli utenti si aspettano esperienze di mappatura dinamica di alta qualità. Con le nuove funzionalità geospaziali, i produttori saranno in grado di portare mappe interattive all’interno delle loro Power Apps.

Associare un set di dati contenente indirizzi o coordinate di latitudine e longitudine segnerà  tali posizioni sulla mappa come marcatori. Quando l’utente effettuerà lo zoom out, i marcatori potranno raggrupparsi per rappresentare gruppi di dati. La posizione corrente dell’utente può anche essere rappresentata sulla mappa su dispositivi mobili o esperienze web. Il componente mappa supporta anche le viste stradali e satellitari.

Suggerimento Indirizzo

GIF : suggerimento Indirizzo in azione

Inserire gli indirizzi è, molto spesso, un’attività frustrante e soggetta ad errori, specialmente in scenari mobile. Con il nuovo componente di input dell’indirizzo, durante la digitazione è possibile visualizzare suggerimenti di indirizzi dinamici. Utilizzando la logica di corrispondenza, il componente suggerirà diverse possibili  corrispondenze di indirizzi che l’utente potrà selezionare, rendendo più semplice e rapido l’inserimento di indirizzi precisi.

COVID 19
La pandemia di COVID-19 ha avuto un impatto senza precedenti su tutti. Reza Dorrani, MVP di Microsoft, ha creato un’app di monitoraggio Coronavirus che aiuta le persone a visualizzare i dati sulla diffusione del virus a livello globale. Per farlo, ha utilizzato il componente della mappa per mostrare i dati rilevati dalla Johns Hopkins University relativi al numero di casi in tutto il mondo. Reza ha potuto creare e pubblicare l’app in soli due giorni utilizzando Power Apps.
Per saperne di più sull’app e le funzionalità geospaziali, vi rimandiamo al canale YouTube di Reza.

Gif : app di Reza

Registratevi per la private preview
Le funzionalità sono in arrivo, in public preview, quest’estate assieme a molte altre feature. A questo link, potete Registrarvi per la preview ed iniziare a sperimentare.
Per ulteriori informazioni su queste e altre nuove entusiasmanti funzionalità sulla Power Platform, ecco l’evento di lancio virtuale di Microsoft Business Applications.

Le informazioni presenti in questo post, sono prese dall’articolo: New Geospatial Features in Power Apps.