Power Apps: Deep Linking

Power Apps: Deep Linking

Einer der häufigsten Anwendungsfälle bei Power Apps ist es, dem Benutzer verschiedene Links (z.B. über Email-Benachrichtigungen oder in Websites) zu unterschiedlichen Screens bzw. Ansichten der App zu ermöglichen. Dies geht über sogenanntes „Deep Linking“, also der Steuerung des ersten sichtbaren Screens über URL-Parameter.

Standardmäßig wird in einer Power App immer der erste, oberste Screen angezeigt, sobald sich die Anwendung im Browser öffnet. Die Reihenfolge kann man ganz einfach per drag&drop ändern.

Möchte man aber zum Beispiel per Microsoft Flow/Power Automate eine Email zu einem speziellen Formular auf einem anderen Screen verschicken, kann man dies über einen URL-Parameter realisieren.

Beim Starten der Power App wird als Erstes das „App“-Modul ausgeführt. Hier gibt es den Event „OnStart“. Möchte man nun einen URL-Parameter abfragen, geht das über die Methode „Param()“. In dem folgenden Beispiel fragen wir den URL-Parameter „DeepLink“ ab, und öffnen den entsprechenden Screen:

Öffnet man nun die Power App über die URL, erscheint standardmäßig der erste Screen (hier „Welcome“).

Fügt man der URL jedoch einen Parameter mit einem entsprechenden Wert an, zum Beispiel „&DeepLink=Task“, öffnet sich auf Basis der Abfrage im „OnStart“ Event direkt der passende Screen. (Die Funktion „NewForm()“ in diesem Beispiel stellt die Ansicht des Formulars auf einen neuen Eintrag um).

Bearbeiten eines SharePoint Eintrags per URL

Um einen Eintrag in einer SharePoint Liste direkt in Power Apps Formularen zu öffnen, kann man die gleiche Vorgehensweise anwenden. Hierzu übergeben wir die ID des Listeneintrags ebenfalls per URL-Parameter.

In dem „OnVisible“-Event des entsprechenden Screens, auf dem sich das dazu passende Formular befindet, fügen wir den folgenden Code hinzu:

if(!IsBlank(Param("ID")), EditForm(Form2))

Wobei „Form2“ der Name des Formulars ist, in welchem der SharePoint-Eintrag bearbeitet werden soll.

Mit diesem Code setzen wir den Anzeigemodus unseres Formulars auf „Bearbeiten“, sofern die URL einen Parameter namens „ID“ enthält.

Nun müssen wir noch in der „Item“-Eigenschaft des Formulars den entsprechenden Eintrag aus der SharePoint-Liste referenzieren. Dies geht über die „LookUp“-Methode, welcher wir den Wert aus unserem URL-Parameter übergeben. Da die Spalte „ID“ unserer Liste „Tasks“ ein Integer ist, müssen wir das „Param(„ID“)“ noch mit der Funktion „Value()“ konvertieren, da URL-Parameter immer als String interpretiert werden.

Rufen wir nun unsere App im Browser auf und fügen der URL einen Parameter ID=1 hinzu, öffnet sich direkt der dazu passende Listeneintrag aus SharePoint:

Über den Autor

Volker Kleffmann administrator