Kolumne: SharePoint ganz praktisch

Microsoft PowerApps – eine Einführung
Keine Kommentare

Seine PowerApps stellte Microsoft bereits Ende 2015 vor. Die Technologie dahinter wurde seither stetig weiterentwickelt, die Möglichkeiten wurden erweitert.

In der ersten Version wurden die PowerApps als sogenannte Canvas Apps realisiert. Schon damals stand der „Non Code“-Ansatz im Vordergrund: Normale Benutzer sollten Anwendungen erstellen können, ohne eine einzige Zeile Code in einer der üblichen Programmiersprachen – wie C# – schreiben zu müssen. Die Apps basieren auf einem Canvas (Leinwand), auf dem unterschiedlichste Elemente – Schaltflächen, Eingabefelder, Auswahllisten und viele andere – positioniert werden können. Benötigte Logik wird einer PowerApp über Excel-ähnliche Ausdrücke hinzugefügt statt mit Code.

Üblicherweise werden mit einer PowerApp Daten verarbeitet, die ihr zunächst verfügbar gemacht werden müssen. Für den Zugriff auf Daten kommen dabei (Daten-)Konnektoren zum Einsatz. Um auf Daten lesend und schreibend zugreifen zu können, stehen für verschiedene Datenquellen spezielle Konnektoren zur Verfügung. Die rein Canvas-basierten Apps eignen sich sehr gut, um pixelgenaue Apps zu bauen, stoßen aber bei Anforderungen im Enterprise-Umfeld an ihre Grenzen. Apps in diesem Bereich basieren meist auf einer Vielzahl von Daten und unterschiedlichen Eingabemasken.

Diese Schwäche wurde schnell erkannt und es wurde nach Lösungen gesucht. Zeitgleich gab es im Dynamic-365-Umfeld den xRM-Ansatz. Dieser ermöglichte die schnelle Umsetzung von Oberflächen, basierend auf einem (Daten-)Modell. Microsoft hat sich im März 2018 entschlossen, beide Technologien zu einer Plattform zu vereinen.

BASTA! 2020

Entity Framework Core 5.0: Das ist neu

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

Memory Ownership in C# und Rust

mit Rainer Stropek (timecockpit.com)

Softwarearchitektur nach COVID-19

mit Oliver Sturm (DevExpress)

Delphi Code Camp

Delphi Language Up-To-Date

mit Bernd Ua (Probucon)

TMS WEB Core training

mit Bruno Fierens (tmssoftware.com bvba)

Eine einzige Plattform

In der ersten Phase wurden die verschiedenen Designer für die Realisierung der PowerApps neu konzeptioniert bzw. vereinheitlicht. Durch die Reduzierung der verfügbaren und benötigten Designer sollte die Lernkurve für die Umsetzung von PowerApps abgeflacht werden. Am Ende dieses Optimierungsprozesses blieben lediglich der View- und der Form-Designer übrig.

Zusammenfassend kann man die PowerApps heute folgendermaßen charakterisieren: Die Umgebung beinhaltet Dienste, Konnektoren sowie eine Datenplattform und stellt eine Infrastruktur für die schnelle Entwicklung individueller Geschäftsanwendungen zur Verfügung. Dabei können die Daten entweder auf der zugrunde liegenden Datenplattform (Common Data Service) oder in verschiedenen onlinebasierten bzw. lokalen Datenquellen (SharePoint, Excel, Office 365, Dynamics 365, SQL Server usw.) liegen. Zudem können mit PowerApps auch Geschäftslogiken und Workflows abgebildet werden. Die umgesetzten Oberflächen sind dabei für verschiedene Geräte optimiert und können nahtlos im Browser oder auf mobilen Geräten (Smartphones oder Tablets) verwendet werden.

PowerApps verwenden

Für SharePoint-Entwickler sind die PowerApps sehr interessant, da sie in SharePoint Online (Office 365) integriert sind. Es gibt verschiedene Wege, wie eine PowerApp angelegt werden kann. Entweder kann eines der Dashboards mit den entsprechenden Designern als Einstiegspunkt verwendet werden oder man startet direkt mit einer Datenquelle.

In SharePoint stellt eine Liste eine mögliche Datenquelle für eine PowerApp dar. Daher wird die erste PowerApp hier basierend auf einer SharePoint-Liste realisiert. Das Beispiel verwendet dazu eine einfache eigene SharePoint-Liste (Custom List) für die Verwaltung von Produkten. Sie hat folgende Felder:

  • Titel (Text)

  • ArticleNo (Text)

  • Image (Bildspalte)

  • Available (ja/nein)

  • Price (Währung)

Der Einstiegspunkt für die Anlage einer PowerApp befindet sich direkt oberhalb der Liste in SharePoint (Abb. 1). Wie der Abbildung entnommen werden kann, gibt es hier drei Aktionen: App erstellen, Alle Apps anzeigen, Formulare anpassen.

Abb. 1: Startpunkt für die Anlage einer PowerApp aus einer SharePoint-Liste herausAbb. 1: Startpunkt für die Anlage einer PowerApp aus einer SharePoint-Liste heraus

Der zweite Menüpunkt dient lediglich der Anzeige aller Apps und wird daher nicht weiter erläutert. Der dritte Menüpunkt ermöglicht die Anpassung der Bearbeitungsformulare der Liste. Diese Standardformulare können nun über die PowerApps modifiziert werden. Über diesen Weg ist es möglich, die Formulare ohne serverseitigen Code – wie zum Beispiel C# – anzupassen. Auch ein zusätzliches Programm – wie früher InfoPath – ist für die Modifikation nicht mehr notwendig.

Ein Formular anlegen

Nach Auswahl des Menüpunkts wird man zum Formular-Designer geleitet. Er lädt direkt das Formular und ermöglicht die Anpassung der Felder, wie in Abbildung 2 zu sehen ist. Innerhalb des Formular-Designers sind zahlreiche Möglichkeiten vorgesehen, um das Formular anzupassen. So können zum Beispiel Felder

  • verschoben und neu angeordnet,

  • entfernt,

  • hinzugefügt,

  • mit speziellen Formaten sowie

  • mit Formeln und Aktionen ergänzt werden.

Abbildung 3 zeigt ein angepasstes Formular. Die Bedienung des Designers ist intuitiv und vergleichbar mit dem in Visual Studio integrierten UI-Designer, zum Beispiel für WinForms-Anwendungen. Die Möglichkeiten pro Steuerelement sind sehr zahlreich und erlauben somit eine gute Anpassung an spezielle Bedürfnisse. In Abbildung 4 sind zur Verdeutlichung die Standardeigenschaften für ein Textfeld zu sehen.

Abb. 2: Anpassung des (Listen-)Formulars im Formular-Designer

Abb. 2: Anpassung des (Listen-)Formulars im Formular-Designer

Abb. 3: Angepasstes Formular

Abb. 3: Angepasstes Formular

Abb. 4: Eigenschaften für ein Steuerelement

Abb. 4: Eigenschaften für ein Steuerelement

Wie zu erkennen ist, sind zahlreiche Anpassungen möglich. Oft reichen jedoch statische Anpassungen nicht aus und das Formular soll sich je nach Eingabewerten angleichen. Typische Szenarien sind zum Beispiel die bedingte Aus- und Einblendung von Formularsteuerelementen oder bedingte Pflichtfeldprüfungen in Abhängigkeit von anderen Formularwerten. Anstatt für diese Anforderungen direkt Code zu schreiben, werden benötigte Logiken als Funktionen, ähnlich wie in Excel, abgebildet. Das bedeutet aber nicht, dass keine eigene Logik, die zum Beispiel mit C#.NET realisiert wurde, verwendet werden kann; das wird Thema einer weiteren Ausgabe der Kolumne sein.

Abb. 5: Regeln in einem Formular

Abb. 5: Regeln in einem Formular

Zunächst ist in Abbildung 5 die Verwendung einer Formel für eine regelbasierte Formatierung exemplarisch abgebildet. Die Formel schaltet den entsprechenden Bereich auf sichtbar, wenn der Wert des Elements DataCardValue4 auf wahr (true) gesetzt wird. Die Abbildung zeigt zudem die Aufteilung eines Eingabebereichs, der in der Regel in vier Bereiche gegliedert ist:

  • StarVisible

  • ErrorMessage

  • DataCardValue

  • DataCardKey

Der erste Eintrag, StarVisible, stellt die Kennzeichnung für ein Pflichtfeld dar. Hierüber können das Aussehen sowie das Verhalten der Anzeige gesteuert werden. Der zweite Eintrag ermöglicht die Anpassung der Fehlermeldung. Der Bereich DataCardValue dient der Werteeingabe und wird im Formular von einem geeigneten Steuerelement repräsentiert. Der letzte Bereich ist für die Identifizierung des Feldes zuständig, er wird typischerweise mit einem Label auf dem Formular dargestellt. Daneben befinden sich rechts oberhalb noch einige nützliche Funktionen (Abb. 6).

Abb. 6: Weitere Funktionen für die Formularerstellung

Abb. 6: Weitere Funktionen für die Formularerstellung

Unter (1) kann die App auf Fehler überprüft werden. Bei der Prüfung werden folgende Bereiche untersucht: Formeln, Laufzeit, Regeln, Barrierefreiheit und Leistung. Anschließend können die Details zu den gefundenen Fehlern einzeln abgerufen werden. In Abbildung 6 sind als Beispiel die Fehler bezüglich der Barrierefreiheit zu sehen. Die beiden Pfeilicons unter (2) ermöglichen es, die durchgeführten Formularänderungen rückgängig zu machen oder zu wiederholen. Das Abspielsymbol (3) führt die App als Vorschau aus, damit das angepasste Formular getestet werden kann. Das letzte Symbol (4) erlaubt die explizite Freigabe des Formulars für andere Benutzer.

Formular veröffentlichen

Wurden alle Änderungen an dem Formular durchgeführt, muss es in SharePoint für die Verwendung veröffentlicht werden. Das ist innerhalb des PowerApp-Dashboards möglich. Dazu einfach den Link Zurück zu SharePoint klicken, der sich links oben und hier direkt unterhalb der Hauptnavigationsleiste befindet (Abb. 2). Anschließend erscheint die in Abbildung 7 dargestellte Bestätigungsfrage, ob die Änderungen direkt veröffentlicht oder nur zwischengespeichert werden sollen.

Abb. 7: Angepasstes Formular in SharePoint

Abb. 7: Angepasstes Formular in SharePoint

Abb. 8: Verwaltung der Formulareinstellungen

Abb. 8: Verwaltung der Formulareinstellungen

Nachdem das Formular in SharePoint zur Verfügung steht, kann es direkt genutzt werden – wie auch Abbildung 3 zeigt. Wenn wieder das originale Standardformular verwendet werden soll, kann es über die Listeneinstellungen reaktiviert werden. Dazu in die Listeneinstellungen wechseln und dem Link Formulareinstellungen folgen. Abbildung 8 zeigt die dann verfügbaren Optionen. Mit der ersten Option kann anschließend das Standardformular wieder aktiviert werden. Das zuvor angepasste Formular ist dann nicht gelöscht, sondern kann später über die zweite Option wieder reaktiviert werden. Hier ist auch zu erkennen, dass mehrere Versionen angepasster Formulare verwaltet werden können. Wurde zum Beispiel bei der erneuten Anpassung des Formulars ein Fehler gemacht, kann eine vorherige Version verwendet werden. Die dritte Option ermöglicht aus Gründen der Abwärtskompatibilität die Verwaltung von InfoPath-Formularen, die zuvor für die Realisierung eigener Formulare zum Einsatz kamen.

Neue App erstellen

Wie zu Beginn in Abbildung 1 zu sehen war, gibt es auch noch die Möglichkeit, eine neue App direkt zu erstellen. Nach Auswahl dieses Menüpunkts erscheint rechts ein neuer Bereich (Abb. 9), in dem zunächst ein Name für die neue App anzugeben ist. Nach Bestätigung der Schaltfläche Erstellen wird wieder das Web-PowerApps-Studio geladen und die initiale App-Struktur auf Basis der Listenstruktur angelegt.

Abb. 9: Anlage einer neuen PowerApp

Abb. 9: Anlage einer neuen PowerApp

Nach der Anlage der App-Struktur sind nun auch die Unterschiede gegenüber der ersten realisierten PowerApp zu bemerken. Diese bezog sich nur auf das (Listen-)Formular und ermöglichte die direkte Anpassung. Das reicht in vielen Fällen auch schon aus. Sind jedoch weitreichende Anpassungen notwendig, die auch andere Szenarien oder Prozesse unterstützen sollen, ist die Anlage einer vollständigen PowerApp der richtige Weg. Eine vollständige PowerApp bedeutet in diesem Fall, dass sie mehrere Bildschirme (UI-Oberflächen/Screens) und eine Navigation zwischen den einzelnen Oberflächen beinhaltet. Abbildung 10 zeigt die neu erstellte App innerhalb des Designers.

Abb. 10: Aufteilung einer vollständigen PowerApp mit mehreren Oberflächen

Abb. 10: Aufteilung einer vollständigen PowerApp mit mehreren Oberflächen

Auf der linken Seite sind die erstellten Oberflächen BrowseScreen, DetailScreen und EditScreen erkennbar. Die erste Oberfläche, Browse, ist für die Anzeige der Listendaten zuständig. Nach Auswahl eines Listeneintrags wird dann zur Detailansicht navigiert. Diese zeigt die Details des ausgewählten Listeneintrags an. Für die Bearbeitung des Eintrags ist die letzte Oberfläche zuständig.

Alle Oberflächen können wie im ersten gezeigten Beispiel im Designer angepasst werden. Auch können neue Oberflächen hinzugefügt werden. Mit diesen Möglichkeiten sind auch erweiterte Anforderungen und Szenarien realisierbar. Die Umsetzung einer optimierten mobilen App für die Erfassung eines Listeneintrags wird erheblich vereinfacht. Zu den drei automatisch erstellten Oberflächen können auch einfach weitere hinzugefügt werden. Dafür stehen unter dem Menüpunkt Neuer Bildschirm zahlreiche Vorlagen zur Verfügung (Abb. 11).

Abb. 11: Verfügbare Vorlagen für eine neue Oberfläche (Screen)

Abb. 11: Verfügbare Vorlagen für eine neue Oberfläche (Screen)

Freigabe der neuen App

Im letzten Schritt soll nun die neu erstellte App im Standard freigegeben werden. Dazu muss sie wieder in SharePoint veröffentlicht werden. Der Vorgang wird über den oberen linken Navigationspunkt Datei initiiert. Die Seite, die sich dann öffnet, enthält die Schaltfläche Freigeben, über die die App für die Verwendung zur Verfügung gestellt werden kann. Anschließend kann die App über ein entsprechendes Webpart zum Beispiel auf einer SharePoint-Online-Seite eingebunden werden. Dazu wird die App-ID benötigt. Diese kann über die App-Detailseite abgerufen werden (Abb. 12). Danach kann eine neue SharePoint-Seite online im neuen Design geöffnet und die PowerApp über PowerApp Webpart eingebunden werden (Abb. 13). Nach der Speicherung der Seite kann dann die eigene PowerApp direkt auf der Seite verwendet werden.

Abb. 12: Abrufen des PowerApp-Weblinks

Abb. 12: Abrufen des PowerApp-Weblinks

Abb. 13: Einbindung einer PowerApp auf einer SharePoint-Seite

Abb. 13: Einbindung einer PowerApp auf einer SharePoint-Seite

Zusammenfassung

Wie deutlich wurde, stehen mit PowerApps viele Möglichkeiten zur Verfügung wie die einfache Anpassung von Standard-SharePoint-Formularen und die Realisierung neuer eigenständiger Apps mit mehreren Oberflächen. Durch die direkte Integration in Office 365 entfallen komplexe Bereitstellungsarbeiten und dank der Versionierung von Apps kann im Problemfall zu einer vorherigen Version zurückgekehrt werden. In den nächsten Ausgaben der Kolumne wird es um spezielle Details und Möglichkeiten gehen, die PowerApps bieten.

 

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -