Stellen Sie in erster Linie sicher, dass an beiden Enden des VPN-Tunnels eine anständige Internetverbindung besteht. Da diese Situation für uns völlig neu war (wir hatten noch nie mehr als 20 Personen gleichzeitig im Home Office), fehlte uns die Erfahrung, wie viel Bandbreite für etwa 50 Personen erforderlich ist, um von zu Hause aus zu arbeiten. Die Antwort kommt von der Firewall – der Engpass ist der Upload vom Unternehmen. 15 MBits Upload reichen gerade für 50 Personen aus, ein bisschen mehr würde nicht schaden.
Als nächstes kommt die Software. Ich habe bereits über unser allgemeines Setup gebloggt und während unserer Roadshow im letzten Herbst über neue Dinge in unserer Infrastruktur gesprochen. Unser aktuelles Setup ist wie folgt:
- Redmine als Projektmanagement-System
- TeamCity als Continuous Integration Server
- Upsource für Codeüberprüfungen
- Mattermost für selbst gehosteten, sicheren Team-Chat
Die Bedeutung eines guten Teamkommunikationskanals wie Mattermost wird durch diese Aufnahme aus der Systemkonsolenstatistik unseres Live-Servers deutlich. Man sieht deutlich, was passiert ist, als wir alle angefangen haben, von zu Hause aus zu arbeiten:
Man sieht schon an der Liste, dass wir kostenlose und Open-Source-Tools lieben, obwohl wir uns auf dem kostenpflichtigen Kanal für die Jetbrains-Server befinden. Aufgrund der aktuellen Situation mussten wir unserem Zoo eine virtuelle Konferenzlösung hinzufügen. Nach der Evaluierung von Zoom und blizz haben wir uns für Letzteres entschieden, da wir TeamViewer bereits für unseren technischen Support und unsere Präsentationen verwenden und damit zufrieden sind.
Da all diese Tools zusammenpassen müssen, haben wir festgestellt, dass ein Link fehlt – es gibt keine (oder ich konnte sie nicht finden) Verbindung, die nahtlose Einladungen zu Blizz-Meetings in Mattermost ermöglicht.
Wenn Sie nach dem besten Weg googeln, um benutzerdefinierte Integrationen zu schreiben, stoßen Sie unweigerlich auf benutzerdefinierte Slash-Kommandos. Es gibt jedoch keine einfache Möglichkeit, mal eben aus einem eingegebenen String eine Nachricht in Mattermost zu erzeugen.
Sie müssen tatsächlich einen http(s)-Endpunkt anbieten, der eine Payload wie bei einem Form Submit verarbeitet und JSON zurückgibt. Da kommt .NET Core gerade recht: Mit einem .NET Core-Web-API-Projekt war es einfach, einen eigenständigen Kestrel-verwendenden Slash-Kommandohandler zu entwickeln, der problemlos auch für andere benutzerdefinierte Slash-Kommandos erweitert werden kann. Ich habe Lorenzo Polidoris httpcontentparser verwendet, musste ihn aber ein wenig anpassen, um asynchron zu arbeiten (na ja, eigentlich ein Hack, um ihn schnell zum Laufen zu bringen). Die Quellen dafür sind auf GitHub.
Zur Einrichtung müssen Sie unter „System Console > Developer > Allow untrusted internal connections“ die IP des Computers hinzufügen, auf dem dies gehostet wird. Fügen Sie als nächstes ein neues Slash-Kommando über das Menü „Integrations“ hinzu. So sieht die Konfiguration auf unserem Live-Server aus:
Jetzt kann jeder einfach /blizz <MeetingID> eingeben, um eine Nachricht wie die folgende zu erstellen:
Vielleicht kann dies auch für Sie nützlich sein. Bleiben Sie in diesen Tagen gesund
Klasse Lösung, wie von combit zu erwarten war. Werde ich ausprobieren!
Melden Sie sich gerne mit Feedback – man kann sicher auch noch einiges besser machen :)).