Esercizio - Caricamento di un file in una raccolta documenti di SharePoint

Completato

È possibile salvare un file in una raccolta documenti di SharePoint usando Power Apps e un semplice flusso di Power Automate. In questa unità impariamo come farlo con un esercizio pratico. Questa tecnica prevede l'uso di un controllo allegati (da un controllo del modulo) e di un flusso Power Automate per inviare un file a una raccolta documenti di SharePoint.

Introduzione

Useremo il controllo allegato per caricare il file in Power Apps. Useremo poi un semplice flusso Power Automate per estrarre il nome e il contenuto del file e scriverlo in SharePoint. Infine, passeremo un collegamento di nuovo a Power Apps per poter aprire il file salvato nel browser.

Per avviare questa tecnica, innanzitutto determinare una raccolta documenti di SharePoint in cui salvare il file. È anche necessario un elenco di SharePoint che sia possibile collegare temporaneamente all'app per poter aggiungere un modulo di modifica all'app. Dobbiamo usare un elenco, poiché in questo modo possiamo accedere a un controllo degli allegati. Una raccolta documenti non consente di aggiungere allegati.

Effettuiamo insieme i seguenti passaggi.

Esercizio

  1. Andare a Power Apps Maker Portal e creare una nuova app canvas vuota.

  2. Aggiungere SharePoint come origine dati. Selezionare Connetti ai dati dalla nuova schermata canvas vuota o il pulsante Aggiungi dati.

  3. Nella finestra popup Selezionare l'origine dati, trovare e selezionare SharePoint.

    Nota

    Se non si ha familiarità con SharePoint, fare riferimento a questo modulo per quanto riguarda la creazione e l'utilizzo del sito di SharePoint con Power Apps. Inizia a usare Power Apps e SharePoint.

  4. Nel pannello Connetti a un sito SharePoint che appare sul lato destro dello schermo selezionare il proprio sito SharePoint o immettere l'URL del sito (per la home page di SharePoint) nel campo di input URL.

  5. Nel pannello Scegli un elenco selezionare sia un elenco che una raccolta documenti da usare nell'app, quindi selezionare Connetti. Tenere presente che usiamo l'elenco solo per poter usare il controllo modulo che include gli allegati, pertanto scegliere un elenco di dimensioni ridotte con un numero limitato di colonne per risultati ottimali. Prima di proseguire, l'app dovrebbe ora mostrare due elementi nella scheda Dati: una raccolta documenti di SharePoint e un elenco di SharePoint.

Aggiungi i controlli necessari

  1. Inserire un Modulo di modifica nell'app, selezionando Inserisci>Modulo di modifica.

  2. Per collegare il modulo all'elenco di SharePoint, nel pannello Proprietà sulla destra dello schermo selezionare l'elenco di SharePoint dall'elenco a discesa Origine dati.

  3. Nel controllo Modulo di modifica trovare e selezionare il controllo Allegati. Non è necessaria l'intera scheda dati, solo il controllo Allegati. Nella visualizzazione struttura ad albero il controllo Allegati presenta una piccola icona a forma di graffetta a sinistra del nome che inizia con DataCardValue. Copia il controllo "Attachments".

  4. Quindi incollare il controllo Allegati nella schermata canvas, all'esterno del controllo del modulo. Notare che l'app presenta degli errori. Ciò è dovuto al fatto che si è incollata una copia di questo controllo all'esterno del modulo in cui era integrato. Risolveremo questo problema tra qualche istante.

  5. Selezionare ed eliminare il controllo Modulo di modifica dall'app, ma non il controllo Allegato che hai appena incollato. Il controllo Modulo di modifica era stato aggiunto solo per poter copiare il controllo Allegato, quindi non è più necessario. A questo punto è possibile rimuovere anche l'elenco SharePoint dalle origini dati. Non è più necessario.

  6. Correggiamo gli errori nel controllo degli allegati. Per prima cosa, ridimensionalo e posizionalo nell'angolo superiore destro della schermata. Dobbiamo correggere alcuni errori nelle proprietà del controllo perché si comporta ancora come se facesse parte di un controllo del modulo. Una volta apportate le seguenti modifiche alle proprietà, il controllo non presenta errori:

    Items: eliminare Parent.Default e lasciare vuoto

    BorderColor: eliminare la voce e impostarla su Color.Black (o su un colore appropriato)

    Tooltip: eliminare Parent.Default e lasciare vuoto

    DisplayMode: eliminare Parent.Default e impostarla su DisplayMode.Edit.

  7. Modificare il nome del controllo Allegato in qualcosa di significativo come AttachmentControl. (nelle formule seguenti si usa il nome AttachmentControl).

  8. A questo punto è possibile visualizzare in anteprima la funzionalità del controllo allegato. Impostare l'app in modalità di anteprima e selezionare l'opzione Allega file nel controllo Allegato. È possibile selezionare un file o un'immagine dal computer e aggiungerlo agli allegati. Esci dalla modalità anteprima dell'app.

Crea il flusso

  1. Ora che abbiamo i controlli di cui abbiamo bisogno, creiamo un flusso di Power Automate. Per farlo, in Power Apps selezionare il pulsante Power Automate nella barra di spostamento a sinistra per visualizzare il pannello Power Automate.

  2. Nel pannello Power Automate selezionare Crea nuovo flusso.

  3. Dalla finestra popup Crea il tuo flusso selezionare + Crea un flusso.

  4. Viene visualizzato il canvas Crea il tuo flusso, che mostra un flusso senza titolo con Power Apps come trigger. Selezionare l'azione PowerApps (V2), quindi selezionare + Aggiungi un input.

  5. Selezionare File come tipo di input. Questo è tutto ciò di cui si ha bisogno per il trigger.

  6. Selezionare l'icona + Nuovo passaggio per aggiungere un altro passaggio.

  7. Nella finestra di dialogo Scegliere un'operazione cercare e selezionare l'operazione Crea file di SharePoint.

  8. Dopo aver inserito l'azione Crea file, è necessario compilare quattro voci richieste. In Indirizzo del sito selezionare l'indirizzo del sito dall'elenco a discesa. Dovrebbe essere lo stesso sito di SharePoint da cui è stata allegata la raccolta documenti all'app.

  9. In Percorso cartella, notare che il messaggio indica che è necessario iniziare da una libreria esistente. È presente un'icona di cartella a destra del campo. È possibile selezionare tale icona, quindi trovare e selezionare la cartella in cui si desidera salvare il file.

  10. Per prima cosa si provvederà a inserire File Content, poiché il trigger Power Apps lo fornisce come contenuto dinamico. Posizionare il cursore nel campo di input Contenuto del file. Dal riquadro del contenuto dinamico, selezionare File Content. Dopo averlo inserito in File Content, se si passa con il mouse sopra File content, verrà visualizzata la seguente formula:

    triggerBody()['file']['contentBytes']

  11. Successivamente, si crea il Nome del file. A tale scopo si inserisce un'espressione. Posizionare il cursore nel campo Nome file e selezionare la scheda Espressione dalla finestra popup Contenuto dinamico. Immettere la formula seguente nel campo di input Formula espressione:

    triggerBody()['file']['name']

  12. Selezionare OK. Nel passaggio Crea file dovrebbero ora essere presenti valori per tutti e quattro gli input, con l'input Nome file che mostra un input fx con la formula per il nome del file.

  13. A questo punto, il flusso acquisisce il contenuto del file da Power Apps (incluso il nome del file) e creerà un file nella raccolta documenti di SharePoint designata. Nell'ultima parte di questo flusso restituiremo a Power Apps il collegamento al file appena creato. Selezionare + Nuovo passaggio per aggiungere un'altra azione.

  14. Nel campo di input Scegliere un'operazione digitare powerapps. Quindi selezionare Rispondi a una PowerApp o a un flusso.

  15. Nell'azione Rispondi a PowerApp o a un flusso selezionare + Aggiungi un output.

  16. Selezionare Testo.

  17. Dove c'è Immettere un titolo digitare: FileLink

  18. Dove c'è scritto Immettere un valore per la risposta, selezioniamo una combinazione di testo e contenuto dinamico. Innanzitutto, immettere l'indirizzo della home page del sito di SharePoint. Dovrebbe corrispondere all'indirizzo del passaggio Crea file nel flusso (inizia con https e termina con il nome del sito di SharePoint). Quindi selezionare Percorso dal contenuto dinamico del passaggio Create file.

  19. Rinomina il flusso, ad esempio in SaveFileToSharePoint.

  20. Salva il flusso e chiudi la finestra dell'editor di Power Automate. Power Apps salva il flusso e lo elenca nella scheda Power Automate, per cui potremo usarlo nella nostra app.

Completa l'app

  1. Tornare alla schermata dell'app e selezionare il controllo Allegato.

  2. Andare alla proprietà OnAddFile.

  3. Iniziare a digitare il nome del flusso nella formula OnAddFile. Quindi aggiungere un punto e poi Run, in modo che la formula sia simile alla seguente: SaveFileToSharePoint.Run. Tenere comunque presente che occorre ancora aggiungere altro alla formula aggiungendo una parentesi aperta. Il flusso necessita di un input di tipo: {file:Record}.

  4. Aggiungere "{file:" alla formula, quindi aggiungi un'altra parentesi graffa e digitare la formula in modo che corrisponda allo schema di seguito. Procediamo quindi a definire gli elementi del record come contentBytes e name, che il nostro flusso passa come record completo al flusso Power Automate.

    SaveFileToSharePoint.Run({file:{contentBytes: Last(Self.Attachments).Value, name: Last(Self.Attachments).Name}})

    L'uso di maiuscole e minuscole di questi elementi di OnAddFile è importante e, durante la digitazione, Power Apps suggerisce automaticamente le opzioni corrette. Il motivo per cui dobbiamo usare la funzione Last è che Self.Attachments è una tabella e il nostro flusso richiede solo un singolo record. Abbiamo anche usato Self che si riferisce al controllo stesso, anziché dover digitare il nome del controllo.

  5. Modifichiamo la formula per includere il "FileLink" di ritorno dal nostro flusso. A tale scopo, impostiamo una variabile prima di eseguire il flusso e quindi useremo l'output "filelink" come dati variabili. Apportare le seguenti modifiche alla formula:

    Set(varFileLink, SaveFileToSharePoint.Run({file:{contentBytes: Last(Self.Attachments).Value, name: Last(Self.Attachments).Name}}).filelink);

    Imposta il valore di varFileLink alla proprietà "filelink" che il nostro flusso restituisce a Power Apps.

  6. Aggiungere un controllo Pulsante all'app e impostare il testo su "Visualizza file"

  7. Impostare la proprietà OnSelect del nuovo pulsante su: Launch(varFileLink). Il nuovo pulsante ci porta a tale file in modo che possiamo visualizzarlo nel browser.

Testa la tua app

  1. Portare l'app in modalità Anteprima e allegare un file al controllo degli allegati. È possibile selezionare un file dal computer o trascinarlo nel controllo allegati. Dovresti vedere l'azione iniziare immediatamente.

  2. Selezionare il pulsante Visualizza file. Si verifica una delle tre possibilità seguenti. Se si è caricata un'immagine, il file di immagine si apre in una scheda del browser separata. Se si è inviato un documento o un foglio di calcolo, il file si apre in un'app desktop o in un'app del browser. È possibile scaricare anche altri tipi di file nel browser, che ti darà l'opzione di aprirli.

Passaggi successivi (facoltativo)

Congratulazioni! Si è creata un'app con la possibilità di caricare un file in una raccolta documenti di SharePoint tramite Power Apps. Non sono necessarie ulteriori operazioni, ma è possibile migliorare questa funzionalità con i passaggi seguenti:

  1. Con i dati restituiti dal flusso, è possibile usare il collegamento in qualsiasi altro punto dell'app.

  2. È possibile inserire una galleria nell'app con la proprietà Items che punta alla raccolta documenti di SharePoint. Quindi è possibile usare la Miniatura dell'elemento con il controllo immagine nella raccolta, con una formula per la proprietà Image quale: ThisItem.Thumbnail.Small. Il record Thumbnail è molto efficace ed è disponibile nelle dimensioni Grande, Medio e Piccolo. Rappresenta una parte visualizzabile di pressoché qualsiasi file.

  3. È possibile usare la proprietà dell'elemento LinkToItem per portarti a un elemento selezionato, simile al nostro pulsante "Visualizza file". Selezionare il controllo Galleria e andare alla proprietà OnSelect. Immettere Launch(ThisItem.'Link to item').

  4. Impostare l'app in modalità di anteprima e selezionare un elemento dalla raccolta per vedere questa funzionalità in esecuzione.

Riepilogo

L'uso del controllo Allegato con un semplice flusso è un modo efficace per salvare un file in una raccolta documenti di SharePoint da Power Apps. È possibile aggiungere questa funzionalità a qualsiasi parte dell'app in cui si desidera salvare un file. Il passaggio di Power Automate che passa il file contentBytes e il nome è tutto ciò di cui Power Apps ha bisogno per inserire il file in una raccolta documenti di SharePoint.