Dataverse for Teams: So erstellen Sie mit der Power-Alternative einfache und kostengünstige Teams-Apps

Wenn Microsoft Teams den Mittelpunkt der täglichen Arbeit bildet, steigt auch das Interesse an Erweiterungen und zusätzlichen Apps. Die Power Platform gilt dafür als naheliegende Option, doch sprechen oft Faktoren wie Lizenzkosten dagegen. Mit Dataverse for Teams bietet Microsoft eine kostenlose und voll integrierte Alternative an. Wie Sie damit die ersten Schritte zu einer eigenen App in Teams beschreiten, erfahren Sie in diesem Beitrag.

Teams lässt sich mit der Power Platform auf vielfältige Weise erweitern, etwa mit Power Apps, Flows (mit Power Automate) oder Chatbots (Power Virtual Agents). Allerdings gehen damit auch Nachteile einher. So müssen solche Apps extern entwickelt werden, und sie starten auch außerhalb von Teams. Zudem spricht oft die kostspielige zusätzliche Lizenzierung der Power Platform gegen deren Einsatz.

Eine voll in Teams integrierte Datenbank

Als Alternative bietet Microsoft Dataverse for Teams an. Es handelt sich hierbei um eine einfach zu verwendende und voll in Teams und Power Apps integrierte Datenbank. Damit lassen sich Apps innerhalb von Teams entwickeln und betreiben, für die die herkömmliche Microsoft 365-Lizenz ausreicht.  Dataverse speichert die Daten der in Teams erstellten Apps und erfüllt damit eine zentrale Anforderung bei der Entwicklung von Apps.

Wichtig ist an dieser Stelle die Feststellung, dass Sie App-Daten keineswegs zwingend in Dataverse for Teams speichern müssen. Alternative Möglichkeiten wären unter anderem SharePoint-Listen oder diverse Speicherorte, zu denen es Konnektoren gibt. So wäre beispielsweise wäre sogar SQL Server on Premises als Datenbank möglich. Doch müsste hier wieder ein lizenzpflichtiger Premium-Konnektor verwendet werden.

Für eine Dataverse for Teams-Datenbank spricht insbesondere die einfache Einrichtung und Nutzung, so dass sie in den meisten Fällen die erste Wahl sein dürfte. Dieser Artikel zeigt anhand eines Beispiels, wie die Datenbank verwendet wird.

Vorbereiten in Teams: PowerApps-App installieren

Bevor es so richtig losgehen kann, müssen Sie einige kleinere Vorbereitungen treffen. Die erste Maßnahme ist, dass Sie die Power Apps-App in Ihrem Teams-Client installieren müssen. Dazu klicken Sie auf der linken Leiste auf die drei Punkte und suchen in dem sich öffnenden Dialog die Power Apps-App und klicken einfach auf das Icon.

Anzumerken wäre, dass das sowohl im Desktop-Teams-Client als auch in der Web-Variante funktioniert. Bei der Nutzung des Desktop-Teams können Sie sowohl mit der Windows-Variante als auch mit dem Mac arbeiten (wie Sie auf den Screenshots sehen können, ist dieses Tutorial auf dem Mac entstanden).

Bevor es losgeht, muss die Power Apps-App installiert werden.

Nach der Auswahl der Power Apps-App werden Sie zu dem nachfolgend gezeigten Dialog gelangen, der sozusagen Ihre „Regie-Zentrale“ ist. Hier können Sie die Erstellung einer neuen App beginnen, auf bestehende Apps zugreifen oder auch auf die Microsoft-Vorlagen zugreifen. Die Vorlagen sind es übrigens durchaus wert, ausprobiert zu werden.

Das Erstellen einer App in Teams beginnt hier

Ich würde übrigens empfehlen, die Power Apps-App anzuheften, dann bleibt Sie in der linken Leiste sichtbar. Auf dem nachfolgenden Screenshot sehen Sie, wie es gemacht wird (los geht’s mit einem Rechtsklick auf das Power Apps-Symbol). Der Schritt ist wirklich optional. Wenn Sie zukünftig viel mit Power Apps arbeiten, werden Sie es als angenehm empfinden, wenn die Power Apps-App nicht andauernd verschwindet und über die drei Punkte wieder zu Tage gefördert werden muss. Kann man aber auch machen. Also optional.

Es empfiehlt sich, die Power Apps-App anzuheften

Im nächsten Schritt muss das Team gewählt werden, für das und in dem die App erstellt werden soll. Der zugehörige Dialog ist nachfolgend gezeigt und prinzipiell unspektakulär. Allerdings: Wenn Sie ein Team auswählen, in dem bisher noch nie eine App erstellt worden ist, erscheint der dezente Hinweis, dass es ein wenig dauern wird, die Umgebung zu initialisieren.

Wenn also das Team erstmalig mit Power Apps bereichert wird, wird Microsoft Sie mit dem nachfolgend gezeigten Dialog unterhalten. Wir nutzen die Zeit, um einmal kurz zu beschreiben, was passiert:

Wenn Sie „normal“ arbeiten, also beispielsweise in der make.powerapps.com-Umgebung unterwegs sind (oder in Power Automate, Dataverse oder Power Virtual Agents), befinden Sie sich in einer „Umgebung“ (Environment). Kurz gefasst: Es kann verschiedene Umgebungen geben, beispielsweise Test und Produktion. Weiterhin können Sie auch Ihre Apps, Datenbanken & Co. auf mehrere Umgebungen verteilen, etwa zur Trennung zwischen verschiedenen Firmen innerhalb eines Konzerns. Ich empfehle dazu übrigens meinen Artikel über Power Platform Umgebungen.

Wenn Sie nun in einem Teams-Team beginnen, eine App, eine Datenbank oder einen Chatbot zu erstellen, wird automatisch eine Umgebung erzeugt

Wenn die erste App in einem Team erstellt wird, erscheint dieser Hinweis

Auf der folgenden Abbildung sehen Sie das Power Platform Admin Center: Die beiden oberen Einträge sind in der Tat Umgebungen, die für Teams-Teams erstellt worden sind – ist entsprechend in der Spalte Typ angegeben.

Für das Team wird eine Umgebung in der Power Platform eingerichtet

Der letzte Schritt bei der Vorbereitung der Arbeitsumgebung ist die Vergabe eines Namens für die neue App. Der wenig spektakuläre Dialog ist auf der folgenden Abbildung gezeigt. Wenn bereits eine Umgebung vorhanden war (das ist der Fall, wenn bereits zuvor mindestens eine App angelegt wurde), taucht dieser Dialog übrigens sofort auf.

Die App braucht jetzt nur noch einen sinnvollen Namen

Datenstruktur in Microsoft Dataverse for Teams erzeugen

Auf der ersten Abbildung dieses Abschnitts ist die neue App in Teams geöffnet – natürlich im Bearbeitungsmodus. Ziemlich prominent hat Microsoft die Schaltfläche zum Anlegen einer neuen Tabelle platziert. Es handelt sich dabei um Dataverse for Teams-Tabellen.

An dieser Stelle sei nochmals darauf hingewiesen, dass es keinerlei „Zwang“ gibt, mit der Dataverse for Teams-Datenbank zu arbeiten und hier und jetzt Tabellen anzulegen. Sie können auch beispielsweise mit SharePoint-Listen oder jeder beliebigen anderen über einen Connector erreichbaren Datenquelle arbeiten. Da es in diesem Artikel aber in erster Linie um Dataverse for Teams geht, nutzen wir gern die Möglichkeit, jetzt eine Tabelle anzulegen. Außerdem ist ohnehin fachlich nur wenig dagegen einzuwenden, so vorzugehen – ich empfehle aber dennoch am Ende des Artikels einen Blick auf die Ausführungen zu den Unterschieden zwischen dem „großen“ Dataverse und Dataverse for Teams zu werfen.

Der erste Blick auf die neue App. Ziemlich prominent ist die Schaltfläche zum Erstellen einer neuen Tabelle

Wenn man eine neue Tabelle erstellt, beginnt das wenig überraschend mit der Abfrage des Namens. In den erweiterten EInstellungen kann ein abweichender Name für den Namen im Plural festgelegt werden.

Die neue Tabelle benötigt zunächst einen Namen

Nun gelangt man zu dem auf der nächsten Abbildung gezeigten Ansicht. In diesem Dialog können sowohl neue Spalten angelegt und bestehende in gewissen Grenzen modifiziert werden, als auch Daten erfasst werden. Das unterscheidet sich also grundlegend vom „großen“ Dataverse, bei dem so ein Kombinationsdialog nicht vorhanden ist. Bei Interesse können Sie es in meinem Dataverse-Artikel nachlesen und vergleichen.

In dem Editor können sowohl bestehende Spalten editiert und neue angelegt werden als auch Daten erfasst werden

Die erste automatisch vorhandene Spalte ist mit der Bezeichnung „Name“ versehen. Nicht schlecht, aber auch nicht optimal. Man kann sie aber umbenennen, wie auf der folgenden Abbildung zu sehen ist (auf das kleine Dropdown-Symbol rechts neben dem Namen klicken). Der Datentyp lässt sich allerdings nicht ändern.

Einige Details der ersten Spalte können geändert werden, beispielsweise der Name

Um weitere Spalten hinzuzufügen, klicken Sie einfach auf das Kreuz rechts neben den Spaltennamen, woraufhin Sie zu der auf der nächsten Abbildung gezeigten Eingabemöglichkeit gelangen. Sie können hier, neben dem Namen, einen Spaltentyp auswählen. Es stehen zwar durchaus etliche Möglichkeiten zur Auswahl – das „große“ Dataverse kennt aber noch einige mehr.

Anlegen einer neuen Spalte. Es gibt jede Menge Datentypen

Vermutlich kommt Ihre Datenstruktur nicht mit einer Tabelle aus – nachstehend sehen Sie, wie man weitere Tabellen erstellt. Die weiteren Schritte sind für alle Tabellen identisch – so wie zuvor gezeigt.

Eine neue Tabelle wird hier angelegt

Auf der nächsten Abbildung habe ich nochmals dargestellt, wie die bisher angelegten Tabellen angezeigt werden. Zum Bearbeiten klicken Sie einfach auf die drei Punkte und wählen die entsprechende Funktion.

Ich möchte darauf hinweisen, dass Sie mittels der Auswahl „Daten hinzufügen“ auch Daten aus anderen Quellen verwenden können, beispielsweise aus SharePoint-Listen.

Die vorhandenen Tabellen werden angezeigt. Über das Drei-Punkte-Menü gelangt man zum Bearbeiten

Zum Schluss möchte ich noch darauf eingehen, wie Sie Relationen zwischen zwei Tabellen einrichten können. In dem kleinen Beispiel möchte ich in der Tabelle „Fahrzeuge“ eine Spalte definieren, die einen Datensatz aus der Tabelle „Hersteller“ verknüpft. Die Vorgehensweise (zu sehen auf der folgenden Abbildung): Als Spaltentyp wählen Sie „Suche“ aus, woraufhin Sie die verknüpfte Tabelle bestimmen können. Fertig.

Einrichtung einer 1:n-Beziehung zwischen zwei Tabellen

Beim Erfassen von Daten in dem automatisch erzeugten Dialog können Sie die Verknüpfung bereits tessten. Wie Sie auf der folgenden Abbildung sehen können, funktioniert das direkt.

Im integrierten Editor können Datensätze aus verknüpften Tabellen ausgewählt werden

Entwicklungsarbeit in der Power App

Die weitere Entwicklungsarbeit entspricht in etwa der Arbeit an einer Canvas-App in der „normalen“ Power Apps-Umgebung. Wenn Sie bereits damit gearbeitet haben, wird Ihnen die Darstellung auf der folgenden Abbildung bekannt vorkommen. Im Detail entspricht es freilich nicht exakt der Canvas-Apps-Arbeitsumgebung in make.powerapps.com – man findet sich aber bestimmt zurecht.

Dieser Artikel soll jetzt auch nicht die Entwicklung von Canvas-Apps im Allgemeinen diskutieren, sondern auf die spezielle Situation der Verwendung von Dataverse for Teams erläutern. Auf der Abbildung ist die Strukturansicht ausgeklappt und Sie erkennen, dass die App nicht ganz leer ist: Es sind zwei Container (RightContainer1 und LeftContainer1) erzeugt, die Elemente beinhalten, um eine Übersicht über die Daten in der Tabelle (links) beziehungsweise eine Möglichkeit zur Bearbeitung der Daten (rechts) darzustellen.

Die weitere Entwicklungsarbeit entspricht weitgehend der Arbeit mit einer Canvas-App

Zunächst kümmern wir uns darum, das Control im linken Container mit einer Datenquelle zu verbinden. Es dient der Navigation in den vorhandenen Datensätzen. Wenn Sie später hunderte oder gar tausende Datensätze haben, ist es zwar nicht so wirklich klasse, bei einer eher überschaubaren Menge von Daten ist es vollkommen in Ordnung.

Wenn Sie also auf das Steuerelement klicken, wird sich, so wie auf der nächsten Abbildung gezeigt, ein Auswahldialog öffnen, in dem Sie die Datenquelle, in diesem Fall also eine Dataverse-Tabelle, wählen können. Prinzipiell sind wir damit auch schon fertig. Weitere Einstellungen, wie beispielsweise die in der Übersicht angezeigten Felder zu ändern, wären möglich – kann man, muss aber nicht unbedingt.

Der Steuerelement für die Datensatzauswahl muss mit der gewünschten Tabelle verbunden werden

Eine ähnliche Aufgabe ergibt sich in dem rechten Container, in dem das dort vorhandene Edit-Form meldet, dass es noch nicht mit einer Datenquelle verbunden ist. Wählen Sie es aus, um in der Leiste am rechten Rand dessen Eigenschaften anzuzeigen. Selektieren Sie, wie auf der folgenden Abbildung gezeigt, die gewünschte Dataverse-Tabelle – und wir wären fast fertig.

Die Verbindung zur Dataverse-Tabelle muss hergestellt werden, um die Detail-Bearbeitung zu initiieren

Nach dem Festlegen, welche Tabelle als Datenquelle fungieren soll, wird das EditForm-Steuerelement bereits Daten anzeigen – zumindest dann, wenn Sie zuvor mindestens einen Datensatz eingetragen haben. Eventuell werden aber nicht alle Felder angezeigt, vielleicht wollen Sie auch noch etwas „nacharbeiten“: In der Eigenschaftenleiste auf der rechten Seite findet sich unterhalb der Dropdown-Liste für die Auswahl der Datenquelle ein Link, um die Ansicht der Felder zu öffnen. Das sieht dann so aus, wie auf der folgenden Abbildung. Bei Bedarf können Sie hier nun beispielsweise ein Feld hinzufügen.

Hier werden die anzuzeigenden Spalten ausgewählt

Im ersten Schritt ist jetzt nur noch wenig zu tun: Ich würde die Anzahl der Spalten anpassen und zwar höchstens auf eine oder zwei. Die Einstellung bestimmt, wie viele Spalten das EditForm-Control darstellt – eine einspaltige Darstellung kommt mir zumeist am sinnvollsten vor.

Jetzt wird es Zeit, die App einmal auszuführen, was Sie einfach über den Vorschau-Knopf an rechten oberen Rand der Arbeitsumgebung initiieren können.

Sicher, man könnte jetzt problemlos noch stundenlang die App verfeinern, aber fürs erste haben wir eine funktionierende Power App, die Dataverse-Tabellen nutzt.

Das Layout kann so angepasst werden, dass eine einspaltige Anzeige erfolgt

Deployment der App

Der abschließende Schritt ist die Veröffentlichung der neuen App in Teams, also die Bereitstellung in der Benutzerumgebung. Dazu klicken Sie am rechten oberen Rand auf die gleichnamige Schaltfläche (zu sehen auf dem vorherigen Bild). Die Entwicklungsumgebung wird Ihnen zunächst den nachfolgend gezeigten Dialog präsentieren. Hinter der Schaltfläche „Details bearbeiten“ verbergen sich Konfigurationsoptionen wie die Beschreibung, Logo, Farbe und dergleichen mehr.

Die Veröffentlichung beginnt

Auf dem nächsten Dialog können Sie auswählen, in welchem Kanal die App hinzugefügt werden soll (auch mehrere möglich). Die neue App wird sich dann in einer Registerkarte finden, die mit dem App-Namen überschrieben ist. Mehr ist im Grunde genommen nicht zu tun.

Auswahl des Teams und Kanals für die Bereitstellung

Das Ergebnis unserer Bemühungen sehen Sie auf der nächsten Abbildung. In dem Kanal des Teams findet sich nun die Registerkarte „Kfz-Verwaltung“, in der die soeben erstellte App läuft und auch wie erwartet die Daten einsehen und bearbeiten kann. Wenn Sie den Teams-Client auf Ihrem iPhone oder Android-Smartphone öffnen, werden Sie zwei Feststellungen machen:

Erste Erkenntnis ist, dass die Registerkarte mit der App auch dort vorhanden ist. Zweitens werden Sie feststellen, dass auch auf dem kleinen Bildschirm die Darstellung nicht so schlecht ist. Das ist erwähnenswert, weil die Canvas-Apps (und im Grunde genommen ist das hier eine Canvas-App) generell nicht responsiv sind.

 

Die Unterschiede zwischen Dataverse for Teams und Dataverse

Zum Schluss möchte ich noch darauf hinweisen, dass Dataverse for Teams und das „große“ Dataverse grundsätzlich zwar dieselbe Technologie sind, dennoch gibt es durchaus diverse Einschränkungen, die die hier besprochene Teams-Variante hat.

Zunächst sei nochmals erwähnt, dass die Nutzung von Dataverse for Teams in der Teams-Lizenz enthalten ist, während die Nutzung der vollen Dataverse-Datenbank unter Umständen zu nicht unerheblichen Mehrkosten im Lizenzbereich führt. Die Formulierung „unter Umständen“ ist hier noch erläuterungsbedürftig: Dataverse braucht auf jeden Fall weitere Lizenzen (E1/E3/E5 reicht nicht aus), es ist aber denkbar, dass Sie die benötigten Lizenzen ohnehin benötigen und vielleicht bereits beschafft haben.

Eine der wesentlichen Einschränkungen ist, dass Dataverse for Teams maximal eine Million Zeilen speichern und die Größe von 2GB nicht überschreiten kann. Da Dataverse for Teams dafür gedacht ist, auf den Bereich eines Teams begrenzte Anwendungen zu entwickeln, ist das in der Praxis vermutlich keine schwerwiegende Einschränkung.

Einen Überblick über die übrigen Einschränkungen von Dataverse for Teams gegenüber Dataverse finden Sie hier: https://docs.microsoft.com/de-de/powerapps/teams/data-platform-compare

Avatar für Ulrich B. Boddenberg

0 Comments
Inline Feedbacks
View all comments