Servicebeschreibung
Bekannte Probleme
Feststellung | Problem | Status |
---|---|---|
Dokumentation
Funktionsweise
Matrix ist ein offenener Standard für interoperable, dezentralisierte Echtzeit-Kommunikation über IP. Es kann für für folgende Dinge verwendet werden: IM, VoIP / WebRTC signalling, Internet of Things communication oder überall dort, wo ein Standard HTTP-API für die Veröffentlichung und das Abonnieren von Daten bei gleichzeitiger Verfolgung des Gesprächsverlaufs benötigt wird, verwendet werden. Matrix definiert den Standard und bietet Open-Source-Referenzimplementierungen von Matrix-kompatiblen Servern, Client-SDKs und Anwendungsdiensten, um bei der Erstellung neuer Kommunikationslösungen oder der Erweiterung der Fähigkeiten und Reichweite bestehender Lösungen als Unterstützung zu dienen. Möchten Sie wissen, wer dahinter steckt und warum so ein nützliches Projekt für die Öffentlichkeit kostenlos erstellt wurde? Lesen Sie weiter in den offiziellen matrix.org FAQ.
Für Videokonferenzen ist der Webclient chat.ethz.ch so eingerichtet, dass der Jitsi Server von ETH (jitsi.ethz.ch) benutzt wird. Achtung: Zurzeit kann dies nur via dem Webclient garantiert werden. Andere Clients wie iOS oder Desktop Apps verwenden einen Drittanbieter für diese Funktionalität.
Begriffe
- Homeserver: Jedes Konto in der Matrix Federation ist verknüpft mit einem einzelnen homeserver. Die Software, welche auf diesem Server läuft, speichert den Verlauf sowie die Kontoinformationen für diesen Benutzer. Homeservers synchronisieren den Verlauf zwischen anderen Homeservern.
- Federation: Federation bedeutet, dass getrennte Instanzen eines Dienstes miteinander kommunizieren - das beste Beispiel dafür sind E-Mail-Server, auf denen es möglich ist, E-Mails zwischen verschiedenen Dienstanbietern zu versenden. Für Matrix bedeutet dies, dass Daten über Räume und Nachrichtengeschichte zwischen Matrix-Servern der teilnehmenden Benutzer ausgetauscht werden.
- Riot/Element: Element, früher bekannt als "Riot" ist ein weit verbreiteter Matrix Client welcher vom Kern Entwicklerteam von matrix.org entwickelt wurde. Aufrufbar über https://chat.ethz.ch.
- MXID: Matrix user IDs (MXID) sind einzigartige user IDs. Diese sind im Format @username:staffchat.ethz.ch.
- Sigil: Sigils verweisen auf die Symbole die am Anfang vieler Matrixbezichner verwendet werden. Zum Beispiel @ wird benutzt für users, # für rooms, and + für communities.
- Community: Communities (groups) sind eine Sammlung von Räumen.
- Room: Ein Raum ist ein grundlegender Baustein der Matrix-Architektur: Ereignisse werden typischerweise im Kontext eines Raumes gesendet. Ein Raum ist ein konzeptioneller Ort, an dem Benutzer Ereignisse senden und empfangen können. Ereignisse werden in einen Raum gesendet, und alle Teilnehmer in diesem Raum mit ausreichender Berechtigung erhalten das Ereignis.
- Jitsi: Ein Service, welcher Videokonferenzen ermöglicht.
Homeserver Synapse
Wir betreiben einen Synapse Matrix Homeserver für die Domain staffchat.ethz.ch. Er enthält Benutzerkontodaten, Nachrichtenhistorie, Medien-Uploads, Raum-Aliase, Communities und nimmt am Netzwerk der Matrix-Föderation teil.
Clients
Um sich mit dem Matrix-Server zu verbinden, müssen Sie einen Client verwenden. Als ETH-Angehöriger empfehlen wir die Verwendung von Element. Weitere Matrix-Clients, die ab heute zur Verfügung stehen, finden Sie hier. Mit Clients können Sie sich mit einem Homeserver verbinden, um Nachrichten zu senden/empfangen. Ihr Homeserver speichert eine Kopie der Message-Historie jedes Raumes, an dem Sie teilnehmen. Homeserver stellen eine Verbindung zu anderen Homeservern im Internet her und synchronisieren die Nachrichtenhistorie von föderierten Räumen.
Federation
Federation ist der Prozess, durch den Benutzer auf verschiedenen Servern im selben Raum teilnehmen können. Sobald ein Matrix-Benutzer von einem anderen Homeserver Ihrem Raum beitritt (entweder durch eine Einladung in einen privaten Raum oder durch den Beitritt zu einem öffentlichen Raum), beginnen die entsprechenden Homeserver, die Nachrichtenhistorie dieses Raums zu synchronisieren. Wenn einer der teilnehmenden Homeserver offline ist, können die Benutzer auf anderen Homeservern in diesem Raum weitersprechen. Dies wird als Dezentralisierung bezeichnet.
Users
Jeder User ist mit einem Benutzerkonto verbunden, das in der Matrix mit einer eindeutigen Benutzer-ID identifiziert wird. Diese ID ist im Namensraum des Homeservers angesiedelt, der das Konto zugeordnet hat und die Form hat:
@lokalerteil:domain
Events
Alle über Matrix ausgetauschten Daten werden als Ereignis ausgedrückt. Typischerweise korreliert jede Client-Aktion (z.B. das Senden einer Nachricht) mit genau einem Ereignis. Jedes Ereignis hat einen Typ, der zur Unterscheidung verschiedener Arten von Daten verwendet wird. Der spezielle Top-Level-Namensraum m. ist für Ereignisse reserviert, die in der Matrix-Spezifikation definiert sind - z.B. ist m.room.message der Ereignistyp für Sofortnachrichten. Ereignisse werden in der Regel im Kontext eines Raums gesendet.
Room
Ein Raum ist ein konzeptioneller Ort, an dem Benutzer Veranstaltungen senden und empfangen können. Ereignisse werden in einen Raum gesendet, und alle Teilnehmer in diesem Raum mit ausreichendem Zugang erhalten das Ereignis.
Räume werden intern über Raum-IDs, die die Form haben, eindeutig identifiziert:
!einzigartige_id:domain
Für jeden Raum gibt es genau eine Raum-ID. Die Raum-ID enthält zwar eine Domäne, dient aber lediglich dem globalen Namensraum von Raum-IDs. Der Raum befindet sich NICHT auf der angegebenen Domäne.
Room Alias
Jeder Raum kann auch mehrere Raum-Aliase haben, die folgendermaßen aussehen:
#room_alias:domain
Ein Raum-Alias "zeigt" auf eine Raum-ID und ist die von Menschen lesbare Bezeichnung, mit der Räume bekannt gemacht und entdeckt werden.
Room Version
Räume sind für die Funktionsweise von Matrix von zentraler Bedeutung und haben strenge Regeln dafür, was in ihnen enthalten sein darf. Damit die Räume durch neue Algorithmen oder Regeln verbessert werden können, werden "Raumversionen" verwendet, um eine Reihe von Erwartungen für jeden Raum zu verwalten. Neue Raumversionen werden je nach Bedarf zugewiesen.