Teams für Hackathon

Der Hackathon 2020 sollte aufgrund von Covid19 als Hybrid-Veranstaltung stattfinden, d.h. die Teilnehmer sind im HNF gemäß dem Hygienekonzept mit Abstand aktiv und einige Aktionen passieren komplett virtuell. Roboter bauen und IoT-Geräte programmieren geht nur bedingt "virtuell", sondern nur mit Hardware während App und Game-Entwicklung als reine Software auch zuhause erfolgen kann. Hier beschreibe ich die Überlegungen und Einrichtungen eines Hackathon-Teams in einem Office 365-Tenant.

Überlegungen

Es gibt ja ganz viele Möglichkeiten der Zusammenarbeit und der 1.-4. Hackathon wurde per Mail und Slack koordiniert. Anstatt nun für Meetings noch ein Programm wie Zoom einzubinden und Dropbox für Dateiablagen haben wir den 5. Hackathon mit Microsoft Teams organisiert. Teams enthält fast alle Komponenten, mit denen so ein Event durchgeführt werden kann. Indem Zuge sei auf folgende Dokumente von Microsoft hingewiesen:

Im März 2020 habe ich erlebt, wie Microsoft innerhalb 14 Tage den MVP-Summit von "Vor Ort" auf Microsoft-Teams umgestellt hat. Die Analogien sind frappierend aber es gibt auch Unterschiede.

  • Ein Microsoft Team für gesamten Event
    Ein Team ist der Container, in dem sich eine Gruppe von Personen zu einer kooperativen Zusammenarbeit zusammenfinden. Beim MVP-Summit hat Microsoft ebenfalls genau ein Team mit vielen öffentlichen Kanälen pro Thema aufgebaut. Wenn Microsoft mehrere tausend MVPs in einem einzelnen Team hosten kann, dann sollte das auch für einen Hackathon passen. Da in dem gesamten Tenant auch weitere Veranstaltungen möglich sind, legen wir ein privates Team mit dem Namen "PIT Hackathon 2020" an und addieren die ersten Mitglieder.
    Auch das Logo des Kanals kann hier gleich geändert werden.

    Alle anderen Berechtigungen sind eigentlich passend, insbesondere für Gäste.
  • Öffentlicher Kanal "Allgemein
    Dieser Kanal wird vom Event genutzt, um allgemeine Informationen bereit zu stellen aber auch große Meetings abzuhalten. Gäste dürfe hier aber nicht schreiben, sondern nur Orgatoren/Mentoren. Daher wird der Kanal entsprechend angepasst

    In dem Kanal landen öffentliche Ankündigungen, allgemeine Termine aber auch Dokumente zur Agenda, die Hausordnung, Kontaktpersonen, etc. Ausgewählte Dokumente können als Karteikarte im Kanal favorisiert werden. Denkbar ist auch die Ablage im Wiki oder OneNote
  • #random-Kanal
    Der früher in Slack vorhandene "#random"-Kanal für alles mögliche, wird natürlich auch angelegt, damit die anderen Kanäle frei von nicht themenspezifischen Diskussionen bleiben. Leider ist "#" kein gültiges Zeichen für einen Teams-Kanal, so dass es nur ein "Random" wurde.

Tipp:  mit "Windows "." können Sie Emojis in den Kanalnamen addieren. So kann man auch ein "#" einfügen.
Add emoji to your Channels in Microsoft Teams
https://www.jumpto365.com/blog/add-emoji-to-your-channels-in-microsoft-teams

  • Kanal: Spielplatz
    Es gibt immer "neueinsteiger" in Teams und auch Mentoren und Besitzer wollen mal was testen. Das sollte man nicht in produktiven Kanälen machen, sondern einem Spielplatz, der jederzeit wieder gelöscht werden kann. Damit stört man nicht die Hauptkanäle.
  • Öffentlicher Kanal pro Thema:
    Für jeden Themenbereich (IoT, Game, App Development, Robotik, CodeCamp) gibt es dann einen eigenen Kanal, indem die Teilnehmer miteinander chatten und Dokumente teilen aber auch Meetings für das gesamte Thema abhalten können. Die Einstellungen zu Berechtigungen (Jeder kann posten) und Moderation (Off) bleiben unverändert je Kanal
  • Arbeitsgruppen.
    Weitere Kanäle sind zwar möglich aber für eine individuelle Kleingruppe nicht geplant. Sie können ja jederzeit ein privates Meeting starten und darin auch Chatten und Dateien teilen
    Eigene Kanäle für die einzelnen Teams sind aktuell nicht geplant. Die Arbeitsgruppen können ja jederzeit ein "privates Meeting" starten
  • Private Kanäle
    Für die interne Kommunikation der Mentoren und Organisation ist ein privater Kanal vorgesehen.
  • Private Mentoren-Kommunikation in einem Themengebiet
    Anstatt nun für jedes Themengebiet noch weitere private Kanäle anzulegen, können die Mentoren jederzeit wie die Teilnehmer einen geschlossenen privaten Chat starten. Sie brauchen dazu kein vollwertiges Team.
  • Kanalinhalte
    Gäste können in den öffentlichen Kanälen des Teams neue Nachrichten posten und Dateien ablegen und bearbeiten. Ziel ist nicht die Verhinderung von Zugriffen, auch wenn theoretisch ein Teilnehmer "stören" könnte. Allerdings erfolgen alle Zugriffe nicht anonym und im Extremfall muss ein Teilnehmer aus dem Team ausgeschlossen werden. Mentoren können Beiträge löschen und frühere Versionen von Dokumenten wieder herstellen. Code und Entwicklung findet nicht in im Team sondern z.B. in GIT/GitHub statt.
    Gäste können die Kanäle nicht anpassen. Sie können aber die Mentoren darum bitten, z.B. ein OneNote, Planner, GitHub, oder andere Apps im Kanal einzurichten.
  • Meetings
    Die Orgatoren, die ein Exchange Postfach haben, können sogar Meetings "planen" und diese an den Kanal anpinnen. So können die Kanal-Teilnehmer das Meeting schnell finden. Allerdings muss man wissen, dass ein geplantes Meeting in einem Kanal auch an alle Mitglieder per Mail gesendet wird.
  • Gruppenchats
    Neben den Kanälen gibt es weiterhin die Möglichkeit, dass sich Anwender Die Teilnehmer können sich natürlich auch in einen "private Besprechung" zurückziehen und dort ihre Themen bearbeiten. Dort gibt es auch einen eigenen Dateibereich und AdHoc-Meetings.

Das Ergebnis ist dann ein überschaubares Team. Der private Kanal ist natürlich nur für die Mitglieder sichtbar, die berechtigt sind, d.h. die Mentoren. Daneben habe ich mal ein anderes Event-Team mit Kanälen bereitgestellt. Hier gibt es z.B. deutlich mehr private Kanäle.

Bei einem anderen Event mit z.B. mehr Sprechern und Vorträgen wäre auch ein Kanal für "Speaker Support" ratsam

Die Reihenfolge der Teams kann leider nicht vorgegeben werden aber einer der ersten Schritte der Mentoren und Teilnehmer ist sowieso die individuelle Einrichtung des Teams für ihre Bedürfnisse.

Arbeiten mit dem Event-Team

Die Nutzung der neuen Plattform muss den Teilnehmern natürlich erläutert werden. Entsprechend der Tätigkeiten und Rollen sind Sachverhalte zu erklären. Beim Hackathon liegt der Schwerpunkt nicht auf Vorträgen, die durch Sprecher gehalten werden. Bei anderen Events kann es andere Schwerpunkte geben.

Person Rolle Aufgaben

Orga-Team

Besitzer

  • Initiale Anlage des Teams mit Kanälen
  • Bereitstellen der Informationen in "Allgemein"
  • Anlegen der weiteren Kanäle
  • Einladen der Teilnehmer

Mentor

Mitglied

Bei Mentoren ist die Frage, ob sie einen "lizenzpflichtigen" Benutzer im Tenant bekommen oder als "Gast" im Tenant mitarbeiten.

Die größte Einschränkung eines Gastes besteht darin, dass er kein Postfach im Tenant hat und daher auch keine Termine planen kann. Als Gast kann ich damit auch keine Termine an einen Kanal anheften. Besprechungen könnten daher nur "adhoc" erfolgen der müssen stellvertretend durch das Orgateam geplant werden.

Als Gast gibt es Einschränkungen beim Aufzeichnen, LobbySteuerung, Anlegen von Kanälen u.a. etc.

Auch aus "Datenschutzüberlegungen" ist es vielleicht besser, wenn die Daten des Events alle in dem Tenant bleiben und sich nicht mit anderen Teams-Konten in der Firma eines Mentor vermischen.

Teilnehmer

Gast

  • Die Teilnehmer werden durch das Orga-Team "eingeladen" und bekommen damit einen Gast-Account im PIT-Tenant
  • Die Teilnehmer können sich mit jedem beliebigen Konto anmelden, d.h. auch GMX, WEB.DE, Hotmail, Google o.ä. ist OK und es muss ein Office 365 Konto sein.
  • Die ersten Schritte des Teilnehmer sollten sein, die für ihn interessante Kanäle zu abonnieren und die Benachrichtigungsoptionen einstellen.
  • Teams Besitzer
    Initiale Anlage des Team und der Kanäle, Bereitstellen der Dokumente und Informationen in "Allgemein", Einladen der "Gäste" in das Team
  • Mentoren (Teams Besitzer)
    Mitlesen in ihrem Kanal, Planen/Einladen von Meetings. Die Mentoren arbeiten NICHT als Gast im Team sondern als benutzer@paderborn-ist-informatik.de und haben hier auch ein Postfach um Meetings zu planen und Teilnehmer einzuladen (Outlook/Teams)
  • Gäste
    Alle Teilnehmer sind "nur" Gäste aber könne in allen öffentlichen Kanälen mitarbeiten.
    Anleitung: Meeting im Kanal  vs. "privates" Meeting, wo liegt "Code" (GIT)
    Einrichten der "Kanalbenachrichtigungen"

 

Besitzer/Gast/Mitglied

Je nach Berechtigung im Teams sind verschiedene Aktionen möglich. Die Tabelle soll ihnen einen Einblick geben, wer was kann und was nicht möglich ist. Die Funktion "Team anlegen" wird über eine Azure-Gruppe gesteuert und ist für Gäste nicht möglich. Gäste sind sowohl AzureB2B Konten aus anderen Tenants als auch Azure B2C-Konten mit privaten Konten. Alle Funktionen basieren auf den "Default Richtlinien"

Aufgabe Besitzer Mitglied Gast

Team Anlegen

Ja

Ja

Nein

Kanal anlegen

Ja

Nein

Nein

Gruppenmeetings

Ja

Ja

Ja

Meetings Planen

Ja (mit Postfach)

Ja (mit Postfach)

Nein

Meetings in Kanal anhängen

Ja

Nein

Nein

Meeting im Kanal

Starten
Planen
Teilnehmen
Starten
Planen
Teilnehmen

nur Teilnehmen

1:1 Chat mit anderen Teilnehmern und Gästen

Ja

Ja

Ja

1:N Chat und private Meetings

Ja

Ja

Ja

Berechtigungen im Team für Mitglieder

Folgende Berechtigungen kann der Besitzer eines Team für die Mitglieder steuern. Gäst haben diese Rechte nicht

Enable channel creation, adding apps, and more
Allow members to create and update channels
Allow members to create private channels
Allow members to delete and restore channels
Allow members to add and remove apps
Allow members to upload custom apps
Allow members to create, update, and remove tabs
Allow members to create, update, and remove connectors
Owners can delete all messages
Give members the option to delete their messages
Give members the option to edit their messages

entfällt

Einzelne pro Team aber für alle Mitglieder steuerbar

Nein

Berechtigungen im Team für Gäste

Für die Gäste gibt es nur zwei Einstellungen:

Allow guests to create and update channels
Allow guests to delete channels

entfällt

entfällt

Pro Team einstellbar

Berechtigungen für Mitglieder in privaten Kanälen

Allow members to create, update, and remove tabs
Owners can delete all messages
Give members the option to delete their messages
Give members the option to edit their messages

entfällt

pro Team einstellbar

entfällt

Audio/Video Meetings

Folgende Funktionen sind mit den Standard-Richtlinien von Teams möglich.

  • Gäste können keine Meetings "planen" sondern nur "AdHoch starten
  • Mitglieder eines Teams mit Exchange Postfach können auch Termine Planen und am Kanal anheften
  • Geplante Termine werden an alle Team-Mitglieder (und Gäste) gesendet
  • AdHoc Meetings im Kanal können von Gästen und Mitgliedern gestartet werden
  • Nur geplante Meetings kann man auch an einen Kanal "anheften"
  • Einladungen eines Termins gehen an Besitzer, Mitglieder und Gäste des Teams
  • Im privaten Kanal kann keinen Termin geplant werden
    Das ist unschön, da so die Organisatoren auch keine Serientermine als "Team" senden können
  • Gestartete Meeting werden nach individueller Kanaleinstellung benachrichtig

 

Offene Fragen

  • Eigener Kanal für "Teams Support/Speaker-Support/" ?
  • Einbinden von GIT u.a. Webseiten nur im Kanal und nicht pro Arbeitsgruppe
  • Zugriff als Gast mit Mobile App?
  • Gast-Lizenz-Limit in Azure B2C
  • NDI-Freischaltung für Präsentation
  • "angeheftet meeting" ohne Einladung an die Teilnehmer
  • Breakout Rooms?
  • Mentoren/Speaker als Mitglied oder reicht Gast

Identitäten

Mit Ausnahme von einer anonymen Meeting-Teilnehmer müssen sich alle Nutzer in Teams authentifizieren. Das geht recht einfach mit einem Office 365 Konto in dem entsprechenden Tenant, welches die Berechtigungen und Teams Policies bekommt. Aber es gibt noch viel mehr Optionen, denn ich möchte ja nicht jedem Teilnehmer ein aktives Konto in dem Office 365 Tenant geben. Dazu müssen wir erst einmal die verschiedenen Konten kennenlernen:

  • Konto im Veranstaltungs-Tenant
    Das ist die klassische Lösung innerhalb einer Firma, bei die Mitarbeiter ein natives Konto nutzen. In der Regel wird das Konto durch ADSync angelegt und die Anmeldung erfolgt über PHS, PTA oder auch ADFS. Dieses Konto kann auch entsprechende Richtlinien bekommen, die Funktionen steuern, z.B. welche Einschränkungen er bei Meetings unterliegt.
    Das Konto kann in einem Team entsprechend "Manager" oder "Teilnehmer" sein.
  • Gast-User im Veranstaltungs-Tenant mit Tenant-Wechsel
    Office 365 kennt natürlich auch Gast-Benutzer, d.h. das sind Office 365 Konten in einem anderen Tenant, die über die Funktion "Gast-Zugriff" auf ausgewählte Daten im fremden Tenant zugreifen dürfen. Wenn im Tenant des Teams der Gastzugriff erlaubt ist und der Teams-Besitzer die andere Person aus einem anderen Tenant in sein Team eingeladen hat, dann kann der andere Anwender auf die Daten zugreifen. Er muss dazu natürlich "den Tenant" wechseln. Er sieht dann aber auch das Team und die Kanäle und kann mitarbeiten.
  • Gast-User im Veranstaltungs-Tenant ohne Tenant-Wechsel
    Ein Benutzer kann durchaus "Gast in einem anderen Tenant sein aber für Meetings muss er keinen Tenant-Wechsel vornehmen. Er bekommt die Besprechungseinladungen sowieso per Mail an sein primäres Konto und kann in Outlook oder seinem Teams einfach ins Meeting eintreten. Allerdings verhält sich Teams dann etwas anders, denn er ist ja immer noch in seinem eigenen Tenant und nutzt nur das Meeting des anderen Tenant.
  • Federated-User, d.h. ohne Gast-Konto im Veranstaltungs-Tenant
    Diese Teilnehmer nutzen Teams in ihrem eigenen Tenant aber sind kein Gast im Veranstaltungs-Tenant
  • MSN/Google/u.a.-Konto
    Mittlerweile kann ein Teams-Besitzer auch Personen in das Team einladen, die selbst gar kein Office 365 Konto haben. Im Teams-Tenant wird dazu natürlich wieder ein Gast-Konto angelegt, welches aber auf eine beliebige Mailadresse eines Anwender laufen kann. Greift der Gast dann auf Teams zu, bekommt er ein Einmal-Kennwort an seine Mailadresse, um sich zu authentifizieren.
  • Anonymer Teilnehmer
    Die letzte Teilnehmerklasse sind Personen, die einfach in ein Teams-Meeting über einen Outlook-Termineinaldung oder den Meeting-Link zu einem Meeting gebeten werden. Der Anwender klickt auf den Link und ist mehr oder weniger im Meeting. Meist nutzt er den Browser, er kann aber auch den Teams Client als reinen Konferenzklient nutzen.

Funktionen

Nicht alle Funktionen sind mit allen Typen nutzbar. Ein "Ja" bedeutet, dass es prinzipiell geht, wenn keine Vorbehalte gibt

Funktion Tenant User Gast im Tenant Gast im eigenen Tenant Federated User
External Access
MSN/Google Konto Anonymer Teilnehmer
Zugriff auf Teams/Channel

Ja

Ja

Nein

 

 

 

Planen von Meetings

Ja

 

 

 

 

 

Meetings im Kanal sehen und teilnehmen

Ja

 

 

 

 

 

Desktop Freigabe

Ja

 

 

 

 

 

Team/Kanal: Chat

Ja

Ja

Nein

 

 

 

Team/Kanal: Dateizugriff

Ja

Ja

Nein

 

 

 

Team/Kanal: xxxx

Ja

Ja

Nein

 

 

 

Meeting Audio/Video

Ja

Ja

Ja

Ja

Ja

J

Meeting Desktop Freigabe

Ja

 

 

 

 

 

Meeting Chat und Dateien

Ja

 

 

 

 

 

GroupChat: Audio/Video Freigabe

Ja

 

 

 

 

 

GroupChat: Desktop Freigabe

Ja

 

 

 

 

 

Zugriff auf Aufzeichnungen (Streams)

Ja

 

 

 

 

 

OneDrive Sync des Kanals

 

 

 

 

 

 

Funktionen
- 1:1 Chat "Federation"

Mentoren sind "Teams User im Veranstaltungstenant" und keine Gäste ?

 

 

set-CsTeamsMessagingPolicy -Identity Global -AllowOwnerDeleteMessage $true

 

 

 

 

Post-Event

Wenn der Event vorbei ist, muss der Organisator natürlich überlegen, was er mit den Daten im Teams und vor allem den Zugängen macht. Das Team könnte relativ schnell gelöscht werden, wenn die Daten wirklich nicht mehr benötigt werden. In einer ersten Stufe sollte das Teams nur "ReadOnly" gesetzt werden. So können Sie auch einige Zeit später noch einmal nachvollziehen, was beim Event abgelaufen ist.

Auch eine Information an die Teilnehmer wäre vor einer finalen Löschung angeraten, damit die Teilnehmer vielleicht die ein oder andere Information noch einmal mitnehmen können. Das gilt umso mehr, wenn Sie im Team auch die Nachbereitung, z.B.: Filme, Bilder, Teilnahmebescheinigungen bereitstellen.

Auf der anderen Seite müssen Sie natürlich verhindern, dass die Teilnehmer auch noch lange nach dem Event in den Teams weiter an Dateien arbeiten oder sogar Meetings starten. Dies können Sie über mehrere Wege erreichen.

  • Anmeldung des Gast unterbinden
    Alle Teams Nutzer haben eine Identität im AzureAD des Tenants und können dort deaktiviert werden. Sie können ja alle Mitglieder des Teams per PowerShell einfach deaktivieren. Dumm nur, wenn die Gäste noch in anderen Teams des gleichen Tenant aktiv sind.
  • Gast aus dem Team entfernen
    Damit kann der Gast auch nicht mehr "ReadOnly" auf das Team zugreifen. Allerdings sollten Sie sich merken, wozu der Gast einmal berechtigt war, denn vielleicht wollen Sie den Gast generell mal entfernen
  • Gast löschen
    Das ist natürlich die harte Variante, bei der Teilnehmer sowohl den Zugriff verliert aber auch im Tenant aufgeräumt wird. Das ist aber nur möglich, wenn der Gast nur in dem einen Event dabei war.

Einen goldenen Weg gibt es hier leider nicht, da Gäste in einem Teams immer "Tenant-weit" angelegt sind und Sie vor dem Löschen eines Gast-Kontos zumindest sicherstellen müssen, dass es nicht noch andere Daten im Tenants verwenden muss.

Weitere Links