Ganze 5 Jahre voller Fokus auf die Power Platform:
Wir digitalisieren Ihr Unternehmen mit Power Apps & Co.
9,5 von 10 Kunden
können gar nicht genug von Coleida bekommen
1.000e Citizen DeveloperInnen
wurden duch uns geschult und inspiriert

Power Apps

Die Offline-Funktionalität in Power Apps: Dataverse vs. SharePoint

Power Apps ist eine beeindruckende Plattform, die es ermöglicht, personalisierte Apps für Ihr Unternehmen zu entwickeln. Eine der wichtigsten Funktionen von Power Apps ist die Möglichkeit, offline zu arbeiten, Daten zu sammeln und zu speichern, wenn keine Internetverbindung verfügbar ist. Sobald die Verbindung wieder hergestellt ist, werden die Daten automatisch synchronisiert. Heute möchten wir die Unterschiede und Möglichkeiten dieser Offline-Funktionalität in Bezug auf zwei beliebte Datenquellen, Microsoft Dataverse und SharePoint, untersuchen. 

Offline-Funktionalität mit Microsoft Dataverse

Allgemeine Anforderungen

  • Die Canvas App muss sich in einer Lösung befinden. 
  • Der Ersteller einer offlinefähigen App muss die Rolle des Umgebungserstellers, Systemadministrators oder Systemanpasser besitzen.  
  • User mit der Basic-Benutzer können die offlinefähige Anwendung nicht öffnen. Diese Rolle benötigt wenigstens Leseberechtigung auf Canvas App und offlinefähige Tabellen. 

Vorgehen

Für den ersten Schritt erstellen wir uns eine Lösung mit einer Dataverse Tabelle „Ablesung Zähler“.

Wir möchten, dass die Tabelle für unsere Power App auch Offline-Daten abspeichert. Hierzu müssen wir in den erweiterten Optionen der Tabelle die Einstellung „Kann offline geschaltet werden“ aktivieren.   

ActivateOfflineFunctionalityDataverseTable

Zudem besitzt die Dataverse-Tabelle eine Spalte zur Eingabe der Zählernummer und eine Spalte zur Eingabe des Zählerstandes. 

GUIDZaehlernummer  
(Spaltentyp Text) 
Zaehlerstand 
(Spaltentyp Nummer) 

Als zweiten Schritt erstellen wir uns eine Canvas App „Offline App“. Im Power Apps Studio aktivieren wir für die Power App im Bereich „Allgemein“ die Einstellung „Kann offline verwendet werden“.  

ActivateOfflineFunctionalityCanvasApp

Sobald dies aktiviert ist, wird automatisch ein Offline-Screen eingefügt. Diese Screen-Vorlage „Offline data sync“ enthält ein globales Symbol im Header, welches die Verbindung und den Status der Synchronisierung anzeigt und bereits mit Funktionen für das Icon-Symbol, die Sichtbarkeit und das OnSelect ausgestattet ist.

AppOfflineTemplate

Für das dritte Merkmal benötigen wir ein Offline-Userprofil. Mit diesem User ist es für Benutzer der App möglich, die Offline-Daten auf Dataverse abzuspeichern. 

Als letzten Schritt müssen wir nur noch unsere Canvas App mit Steuerelementen (Formular und Icon) und Funktionen ausbauen. Auf dem OnSelect des Speichern-Symbols benötigen wir lediglich einen Patch-Befehl für das Speichern der Daten in die Datenquelle.  

//Den Datensatz in die Datenquelle speichern 

Patch( 

    ‚Ablesung Zaehlers‘, 

    Defaults(‚Ablesung Zaehlers‘), 

    Form.Updates 

); 

//Das Formular zurücksetzen 

ResetForm(Form); 

//Das Formular auf Neu setzen 

NewForm(Form) 

Patch-Befehl

Dataverse_CanvasApp 

Mit diesen wenigen Schritten können Daten in Dataverse abgespeichert werden. 

Offline Funktionalität mit SharePoint Online  

Allgemeine Anforderungen 

  • Die Canvas App muss sich nicht zwingend in einer Lösung befinden. Ist aber ratsam, da so die gesamte Applikation mitsamt der Tabellen an einem „Ort“ verwaltet wird. 
  • Für die Erst-Nutzung der Offline-Daten muss die App erstmalig mit dem Internet verbunden sein, um die Tabellen und Daten auf den Speicher des Gerätes zu laden.

Vorgehen 

Für den ersten Schritt erstellen wir uns eine Lösung und eine SharePoint-Seite mit einer SharePoint-Liste „Ablesung Zaehler“. Diese Liste sieht folgendermaßen aus:

IDZaehlernummer  
(Spaltentyp Text) 
Zaehlerstand 
(Spaltentyp Nummer) 

Ähnlich zu dem Vorgehen mit der Datenquelle Dataverse, erstellen wir uns in der Lösung eine Canvas App mit der Screen-Vorlage „Offline data sync“. Der ausschlaggebende Unterschied hier ist, dass wir mit der Funktion „ClearCollect und SaveData() & LoadData() arbeiten. 

Gehen wir das Ganze schrittweise an. Auf App.OnStart in unserer Canvas App setzen wir folgenden Code: 

//Nicht gespeicherte Datensätze aus dem Speicher des Gerätes laden 

LoadData( 

    colSPUnsavedAblesungZaehler, 

    „localSPUnsavedAblesungZaehler“, 

    true 

); 

//Nicht gespeicherte Datensätze in die Datenquelle speichern 

Patch( 

    ‚Ablesung Zaehler‘, 

    colSPUnsavedAblesungZaehler 

); 

//Die Collection leeren 

Clear( 

    colSPUnsavedAblesungZaehler 

); 

Patch-Befehl

Auf dem Speichern-Symbol legen wir Folgendes fest:  

If( 

//Wenn die Internetverbindung vorhanden ist 

Connection.Connected, 

//dann den Datensatz in die Datenquelle speichern 

Patch(‚Ablesung Zaehler‘,Defaults(‚Ablesung Zaehler‘),Form2_1.Updates), 

//Wenn die Internetverbindung nicht vorhanden ist,

dann den zu speichernden Datensatz in die Unsaved Collection laden 

Collect(colSPUnsavedAblesungZaehler,Form2_1.Updates)); 

//Die Collection auf den Speicher des Gerätes laden 

SaveData(colSPUnsavedAblesungZaehler,“localSPUnsavedAblesungZaehler“); 

//Das Formular zurücksetzen 

ResetForm(Form2_1); 

//Das Formular auf Neu setzen 

NewForm(Form2_1) 

Patch-Befehl

SharePoint_Canvasapp

Fazit

Die Offline-Funktionalität ist eine unglaublich nützliche Funktion von Power Apps. Sie ermöglicht es Benutzern, Daten zu sammeln und zu speichern, wenn keine Internetverbindung verfügbar ist, und synchronisiert diese Daten automatisch, sobald die Verbindung wieder hergestellt ist. Ob Sie Dataverse oder SharePoint als Datenquelle verwenden, hängt von Ihren spezifischen Anforderungen ab. Beide bieten robuste Lösungen für das Datenmanagement und die Offline-Funktionalität. Probieren Sie es aus und entdecken Sie, welche Option am besten zu Ihren Bedürfnissen passt!

GDPR Cookie Consent mit Real Cookie Banner