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:
- Funktion 1
- Name: Allgemeine Dateien
- Typ: Registerkarte
- URL zur Webanwendung: https://sharepoint.irgendwo.com/Sites/demosite/bibliothek
- [weitere Eigenschaften]
- Funktion 2
- Name: Infobot zu den Dateien
- Typ: Bot
- URL zum Bot Service: https://[azure-url]
- [weitere Eigenschaften und Möglichkeiten des Bots]
- Funktion 3…
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.
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.
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.
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.
3 thoughts on “Eine eigene Microsoft Teams App: Beispiel „Allgemeine Infos“ (Teil 1)”
Danke dass Du meine Frage zum Anlass für diesen Beitrag nimmst! freue mich schon auf die Fortsetzung….
Gregor Heise
[…] im ersten Teil des Beitrags gezeigt wurde, welche grundsätzlichen Überlegungen für unseren Anwendungsfall notwendig sind und […]
Eine eigene Microsoft Teams App: Beispiel „Allgemeine Infos“ (Teil 2)
[…] via Pocket https://spmoshpit.de/2018/09/eine-eigene-teams-app-teil-1/ […]
Eine eigene Microsoft Teams App: Beispiel „Allgemeine Infos“ (Teil 1) - Office 365 Akademie