Apps bauen

Eine eigene Microsoft Teams App: Beispiel „Allgemeine Infos“ (Teil 1)

Apps in Teams können eine interessante Alternative sein, wenn man bestimmte Funktionen und Inhalte bereitstellen möchte und dabei den Client nicht verlassen möchte. Microsoft stellt eine breite Palette an Möglichkeiten bereit, aber wie nähert man sich mit einem konkreten Anwendungsfall? Dabei beleuchtet Teil 1, was eine Teams App überhaupt ist und was man braucht, um zu starten.

Letzte Woche kommentierte Gregor von heisetraining.at mit einer konkreten Frage den Teams Grundlagenartikel: Wie stellt man denn etwas in jedem Team zur Verfügung, ohne dass man die Inhalte dupliziert? Da bietet sich recht intuitiv das Verlinken auf eine zentrale SharePoint-Bibliothek mit all ihren Funktionen an. Doch wie bekommt man nun die Links in alle bereits existierenden und in neu zu erstellendeTeams rein? Per Skripting beim Anlegen? Vielleicht. Durch das neue Template-Feature von Teams und Link-Dateien in den Teams-Dateien. Tjoa, auch möglich. Aber so richtig zufriedenstellend beantwortet das die Frage dann doch nicht.

Der Anwendungsfall

Erweitern wir den Anwendungsfall: Als eine Organisation möchte ich zentrale Dokumente und/oder Informationen an alle Teams-Nutzer verteilen, damit sie Bestandteil der Arbeit in Teams sind und alle Mitglieder der Organisation jederzeit Zugriff darauf haben. Implizite Anforderung dabei ist natürlich, dass ich die Datei an zentraler Stelle ändern kann, ohne dass ich das an jedes Team verteilen muss.

Löst man sich nun von dem Gedanken, dass so eine Anforderung in jedem einzelnen Team als Teil des Fulfillment eines neuen Teams passiert, hebt sie sich recht offensichtlich auf eine übergeordnete Ebene. Und dort bietet der Teams Client Apps, die weitere Funktionen in sich kapseln können und individuell dem eigenen Werkzeugset hinzugefügt werden können. Schreiben – oder besser konfigurieren – wir uns also eine Teams App dafür!

Apps in Microsoft Teams

Betrachtet man sich etwas genauer, was Apps in Teams eigentlich sind, bleibt man schlussendlich bei einer Manifest-Datei hängen. Dieses Manifest beschreibt, welche Bestandteile die Teams App haben soll und wo diese einzelnen Bestandteile zu finden sind. Das übersetzt sich etwas vereinfacht in etwa in folgendes Schema:

So gesehen ist das Manifest der App eine Art Lageplan, die den Rahmen für allerlei andere Services bildet und damit bestimmt, wo unter welchem Namen welche Funktionalität eingebunden wird. Inhaltlich ist dann der jeweils laufende Dienst zuständig. Was letztendlich dahinterliegt, kann also ganz verschieden sein: Webseiten, SharePoint-Anwendungen, PowerApps, Formulare, etc.

Achtung, Fußball-Analogie: Wenn in unserem Anwendungsbeispiel also die App der Ballverteiler auf der „6“ ist, ist die SharePoint-Webseite mit der Bibliothek, auf der korrekt berechtigt die zentralen Dateien liegen, die Funktion, die das Leder in die Maschen haut.

Die App Infrastruktur

Die Endbenutzererfahrung für Apps in Teams gestaltet sich dabei analog zum Laden einer App aus der Bezugsquelle eines Smartphones. Zuerst wechselt das Mitglied der Organisation in den Store, welcher als prominentes Symbol in der linken Leiste aufgelistet ist. Dort sucht es sich die passende App (also zum Beispiel unsere „Allgemeine Infos“-App), stimmt den benötigten Rechten zu und entscheidet ggf., zu welchen Teams die App hinzugefügt werden soll. Der letzte Schritt ist dann relevant, wenn die App so gestaltet wurde, dass die App auf Ebene von Teams operieren soll. Unsere geplante App soll das erst einmal nicht, die erste Idee ist wie gesagt, sie übergeordnet im gesamten Teams Client zu erreichen. Sobald die App installiert ist, steht sie an den definierten Stellen zur Verfügung.

Die reichlich sperrige Formulierung „Mitglied einer Organisation“ ist dabei gerade bewusst gewählt worden. Teams besitzt ein zwar recht simples, aber dafür effizientes Rechtemanagement. Externe Personen können maximal „Gast“ in einem Team sein, und Gäste dürfen diverse Dinge nicht tun. Insbesondere Apps für Kanäle installieren. Daher bezieht sich das Hinzufügen nur auf interne Rollen der eigenen Organisation.

Das Tooling für eine Teams App

Jetzt aber mal Butter bei die Fische. Für die Erstellung einer solchen App braucht man einen Texteditor zum Schreiben des XMLs, ein paar Ordner auf dem Dateisystem und eine Möglichkeit, Zip-Dateien zu erstellen. Wenn man es sich etwas einfacher machen möchte, nimmt man das App Studio von Microsoft, welches selbstreferentieller Weise ebenfalls als App in Teams zur Verfügung steht. Wer mal Compilerbau an der Uni gemacht hat, kennt diesen Selbstbezug.

Sollte man nicht nur bestehende, sondern auch eigene Dienste mit individuellen Funktionen mit der Teams App einbinden wollen, benötigt man weiterhin alles Notwendig, um eine Webanwendung zu entwickeln und diese irgendwo bereitzustellen. Das kann natürlich beliebig aufwändig sein und ist daher nicht Bestandteil unseres Anwendungsfalls in diesem Beitrag.

Das App Studio bekommt man wie angedeutet über den Store. Um es zu installieren, muss man einfach danach suchen und kann es dann über den Standardmechanismus für sich bereitstellen.

Der Weg über den Store zum App Studio.
Der Weg über den Store zum App Studio.
Das App Studio ist auch eine Teams App und zeigt bereits schon einige Möglichkeiten der App Infrastruktur.
Das App Studio ist auch eine Teams App und zeigt bereits schon einige Möglichkeiten der App Infrastruktur.

 Dabei ist es wichtig zu wissen, dass die Konfiguration im Office 365 Tenant das auch entsprechend erlaubt. Administratoren können das Installieren und Verwenden von Apps einschränken, sodass der hier beschriebene Lösungsweg auch durchaus nicht möglich sein kann. Die Einstellungen dazu (und auch die Bereitstellung bereits quergeladener Organisationsapps) finden sich im Admincenter.

Einstellungen für Teams Apps im Admincenter von Office 365
Einstellungen für Teams Apps im Admincenter von Office 365

Sobald das App Studio installiert ist, steht unter anderem eine sogenannte „Persönliche Funktion“ zur Verfügung. Teams unterscheidet hier in der deutschen Übersetzung zwischen App-Bestandteile, die „für Sie hinzugefügt“ oder „Teams hinzugefügt“ werden können. Diese anfangs verwirrende Sprachregelung legt eigentlich nur fest, ob die App sich im zentralen Bereich der linken Funktionsleiste wird (siehe Bild) oder Bestandteil eines Kanals in Form einer Registerkarte oder Bot wird.

Das App Studio in voller Pracht.
Das App Studio in voller Pracht.

Soweit, so gut

Somit steht alles bereit und wir können eine kurze Pause einlegen. Im zweiten Teil dieses kleinen Tutorials werden wir dann durch die notwenigen Schritte gehen, so eine App mit Leben zu füllen und in den Store der eigenen Organisation zu bringen. Dieses gibt es dann in den nächsten Tagen.

2 thoughts on “Eine eigene Microsoft Teams App: Beispiel „Allgemeine Infos“ (Teil 1)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.