Matrix-Chat integrieren
In #98 (closed) diskutierten wir Möglichkeiten für Instant-Messaging.
Dieses Ticket beschreibt einen Implementierungsvorschlag basierend auf Matrix als Protokoll.
Geplanter Funktionsumfang
Mailinglisten und Matrix sollen sich ergänzen:
- zu jeder Gruppe wird automatisch zwei Matrix-Räume (z.B.
GROUP-public
undGROUP-private
) angelegt- die Liste der Raum-Mitglieder wird mit der Liste der Gruppenmitglieder synchronisiert
- manuellen Austritt oder Eintritt via Matrix wollen wir in diesen Räumen eventuell unterbinden
- Gesprächsbeiträge/Mails der Gruppe werden in Form eines Links an den Matrix-Raum geschickt
- der Link zum Matrix-Raum (via unseres Matrix-Clients) wird in der Gruppe in grouprise eingeblendet
- je grouprise-Instanz wird es einen Matrix-Homeserver geben
- somit können wir Matrix-Raumnamen entsprechend der grouprise-Gruppen und -Individuen vergeben (z.B.
#stadtgestalten:stadtgestalten.org
)
- somit können wir Matrix-Raumnamen entsprechend der grouprise-Gruppen und -Individuen vergeben (z.B.
Umsetzungsplan
-
Web-Client für Matrix auswählen -
Web-Client paketieren - es gibt einen ITP-Bug für ein Debian-Paket von element - dies mag aber noch eine Weile dauern
- bis dahin verwenden wir eine kleine Download- und Aktualisierungsautomation
-
Matrix-Synapse installieren und konfigurieren - Matrix-Synapse ist bereits in Debian verfügbar
- zusätzlich wollen wir es (halb-)automatisiert für die Integration in die lokale grouprise-Instanz konfigurieren (z.B. Authentifikation)
-
grouprise-Instanz als Authentifizierungsquelle für Matrix-Synapse konfigurieren -
Synchronisation von Matrix-Räumen und grouprise-Gruppen umsetzen -
Link zum Matrix-Raum in grouprise-Gruppen einblenden -
Konfiguration einer externen Matrix-ID in den grouprise-Nutzereinstellungen erlauben - für den Fall, dass der grouprise-Nutzer bereits einen eigenen Matrix-Account nutzt
-
grouprise-Beiträge an den Matrix-Raum senden
Offene Design-Entscheidungen
Einsatz eines Bots
Grouprise-Beiträge sollten sicherlich automatisch im Matrix-Raum landen (in Form eines Links). Dafür benötigen wir wahrscheinlich einen Bot, der entweder permanent im Raum eingeschrieben ist oder für den Versand der Nachricht kurzzeitig den Raum betritt.
Die permanente Anwesenheit eines Bots wäre in dem privaten Gruppenraum wahrscheinlich problematisch, da ein Gruppenraum wahrscheinlich verschlüsselt sein sollte. Die Betreiber der Plattform sollten idealerweise aber keinen Zugriff auf die E2E-verschlüsselten Nachrichten haben. Daher sollte der Bot entweder nicht Teil des Raums sein oder zumindest keinen Schlüssel benutzen (und somit nur unverschlüsselt senden, aber nicht entschlüsselnd empfangen kann).