Consulting box
Microsoft Dataverse for TeamsFlexible Apps in Microsoft Teams erstellen
Microsoft Dataverse for Teams – die Idee
Microsoft Teams ist als Koounikations- und Zusammenarbeitsplattform außerordentlich erfolgreich und wird von den Anwendern meistens heiß und innig geliebt. Es ist natürlich einigermaßen naheliegend, zusätzliche Funktionen in Teams zu integrieren, also kleine und vielleicht auch mittlere Anwendungen, die die Anwender in Ihrem Team nutzen können.
Nun ist es ja grundsätzlich möglich, beispielsweise Power Apps, Flows (erstellt mit Power Automate) oder Chatbots (Power Virtual Agents) in Teams zu integrieren. Es ist allerdings auch möglich, von Teams aus zu starten und Apps zu entwickeln, die zwar nur in Teams ablaufen können und auch gegenüber den „herkömmlich“ erstellten Varianten etwas funktionsreduziert sind – dafür kommen Sie aber mit der Microsoft 365-Lizenz, die Sie zum Zugriff auf Microsoft Teams berechtigt, hin. Die Lizenzierung der Power Platform kann ansonsten ja schon kostenmäßig einigermaßen heftig sein, je nachdem, was Sie einsetzen.
Die in Microsoft Teams erstellten Apps können auch Daten speichern. Da so gut wie jede Anwendung mehr oder weniger umfangreich Daten speichern muss, ist das in der Tat eine vordringliche Fragestellung.
Microsoft bietet mit Microsoft „Dataverse for Teams“ eine einfach zu verwendende und hochgradig in Teams und Power Apps integrierte Datenank an. Um es an dier Stelle ganz klar zu sagen. zwingt Sie niemand, die Daten Ihrer App in der Dataverse for Teams-Datenbank zu speichern: Sie können alternativ die Daten auch in einer SharePoint-Liste speichern oder einen der vielen Speicherorte, zu denen es einen Connector gibt (beispielsweise wäre sogar SQL Serever on premises möglich – VORSICHT: Das ist direkt ein Beispiel für einen Premium Connector, der wiederum lizenzpflichtig wäre).
Da die Dataverse for Teams-Datenbank wirklich einfach einzurichten und zu verwenden ist, dürfte sie in der Tat in den meisten Fällen erste Wahl sein. In diesem Artikel führe ich vor, wie sie verwendet wird.
Vorbereiten der Teams-Umgebung
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).
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 übrigens durchaus ausprobierenswert.
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.
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). Long story short: 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
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.
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.
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.
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.
Nun gelangt man zu dem auf der nächsten Abbildung gezeigten Ansich. 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.
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 Abbilung zu sehen ist (auf das kleine Dropdown-Symbol rechts neben dem Namen klicken). Der Datentyp lässt sich allerdings nicht ändern.
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.
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.
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.
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!
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.
,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 garnicht 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.
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.
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.
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.
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.
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.
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 garnicht zu tun.
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 garnicht 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.
Dataverse for Teams vs. 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
Microsoft Dataverse
Flexibel Daten in Microsoft 365 speichernMicrosoft Dataverse - die Idee Sie haben vermutlich schon Berührungspunkte mit Power Apps und Power Automate gehabt, vielleicht auch mit den Power Virtual Agents. Die Lösungen, die Sie mit diesen drei Entwicklungsumgebungen...
Microsoft Power Virtual Agents
Intelligente Chat Bots erstellenPower Virtual Agents - die Idee Bots sind mittlerweile in Hype beim Bau von Mensch-Maschine-Schnittstellen. Nicht ganz zu unrecht, denn in der Tat kann ein gut gemachter Bot den Anwender sehr schnell und effizient zum Ergebnis führen....