Concord: Discord-Alternativ-Theme für Discourse

:information_source: Zusammenfassung Eine selbst gehostete, Open-Source-Alternative zu Discord: Verwandelt Discourse in eine kanalbasierte Community mit Text-, Sprach- und Forenkänen.
:hammer_and_wrench: Repository github.com/awesomerobot/concord
:question: Installationsanleitung So installierst du ein Theme oder eine Theme-Komponente
:open_book: Neu bei Discourse-Themes? Einsteiger-Guide zur Nutzung von Discourse-Themes

Dieses Theme installieren

Wenn du Discourse nutzt, um eine eigene unabhängige Website zu betreiben, kannst du deine Richtlinien festlegen, deiner Website die öffentliche Sichtbarkeit erlauben und Inhalte veröffentlichen, die von Suchmaschinen und Crawlern indexiert werden. Außerdem kannst du es nach Belieben erweitern und neu gestalten!

Concord macht alles zu einem Kanal und zeigt alle Kanäle in einer benutzerdefinierten Seitenleiste an:

  • Kategorien sind Forenkanäle
  • Chatkanäle sind Textkanäle
  • Sprachräume (aus dem Voice-Plugin) sind Sprachkanäle
  • Tags können optional auch Tag-Kanäle sein

Der benutzerdefinierte Header enthält ein Dropdown-Menü mit seitenweiten Seiten (Über uns, Gruppen, Abzeichen, Admin usw.), das neben dem Namen, der Beschreibung und den Aktionen des aktuellen Kanals liegt. Direktnachrichten haben ihre eigene Ansicht, und in der rechten Seitenleiste befindet sich eine Mitgliederliste, die zeigt, wer online ist.

:warning: Dies ändert das Layout von Discourse erheblich, daher ist es nicht mit jedem Plugin oder jeder Theme-Komponente kompatibel. Es hängt auch von einigen sehr neuen Änderungen im Kern ab, also stelle sicher, dass du Discourse aktualisiert hast, bevor du es installierst (du brauchst einen Build vom 15. Oktober 2026 oder neuer).

Einrichtung

Concord erfordert einige Änderungen an den Site-Einstellungen, daher findest du hier, was du in deinen Discourse-Site-Einstellungen nach der Installation überprüfen solltest.

Als Admin kannst du alle diese Einstellungen gleichzeitig anzeigen, indem du dies ans Ende deiner Discourse-URL fügst:

/admin/site_settings/category/all_results?filter=any:navigation_menu|default_homepage|chat_enabled|chat_allowed_groups|enable_public_channels|voice_allowed_groups|voice_create_room_allowed_groups|enable_user_status|tagging_enabled

:information_source: Beachte, dass du Voice aus den kommenden Änderungen aktivieren musst, um die relevanten Einstellungen zu sehen, /admin/config/upcoming-changes

Site-Einstellung Was du einstellen solltest
navigation menu sidebar (erforderlich, die Kanalliste ist die Seitenleiste)
chat enabled enabled, wenn du Textkanäle und DMs möchtest
chat allowed groups Wer chatten darf, inkludiere anonymous_users für die Ansicht ohne Anmeldung
enable public channels enabled, damit Mitarbeiter Textkanäle erstellen können
voice enabled enabled, wenn du Sprachkanäle möchtest
voice allowed groups Wer Sprachkanäle beitreten darf
voice create room allowed groups Wer Sprachkanäle erstellen darf
enable user status Optional, Statusanzeigen erscheinen auf Avataren im Benutzerpanel und im Header
tagging enabled Optional, nur nötig, wenn du die Theme-Einstellung include tags aktivierst
default homepage Optional, aber du kannst dies jetzt auf einen beliebigen Chatkanal setzen

Kanäle erstellen

Das + neben deinem Seitennamen öffnet ein „Kanal erstellen“-Modal. Es bietet nur die Kanaltypen an, die du erstellen darfst:

  • Forum erstellt eine Kategorie (jeder, der Kategorien erstellen kann)
  • Text erstellt einen Chatkanal (Mitarbeiter)
  • Voice erstellt einen Sprachraum (die Einstellung voice create room allowed groups)

Jeder Typ kann für eine Gruppe von Gruppen privat gemacht werden. Du kannst dies später unter Privatsphäre im …-Menü des Kanals in der Seitenleiste ändern.

In Discourse erhalten Chatkanäle ihre Berechtigungen von einer Kategorie, daher erhält jeder Textkanal, den du in diesem Theme erstellst, eine leere „Stützkategorie“, die in einer übergeordneten chat-channels-Kategorie verschachtelt ist. Diese Kategorien sind in der Kanalliste verborgen, daher solltest du dir darüber keine Gedanken machen müssen… aber poste keine Themen darin (regulären Benutzern ist das nicht erlaubt)! Wenn du einen Textkanal aus seinem …-Seitenleistenmenü löschst, wird auch seine Stützkategorie gelöscht.

Seitenleistenkanäle organisieren

Kanäle können in zusammenklappbare Abschnitte gruppiert werden. Admins können Abschnitte aus dem …-Menü auf einer Abschnittsüberschrift erstellen, umbenennen, neu anordnen und löschen und Kanäle zwischen ihnen aus dem …-Menü auf jedem Kanal verschieben. Alles, was nicht in einem Abschnitt ist, wird oben alphabetisch aufgelistet.

Abschnitte sind seitenweit, daher sieht jeder dasselbe Layout. Änderungen erscheinen für andere Personen beim nächsten Laden der Seite.

Theme-Einstellungen

Name Beschreibung
include tags Listet die Tags des Benutzers in der Seitenleiste als Kanäle auf (standardmäßig deaktiviert)
include chat channels Listet Chatkanäle als Textkanäle auf (standardmäßig aktiviert)
ai conversations link Zeigt einen Button für KI-Bot-Gespräche neben dem Seitennamen an, für Personen, die sie nutzen können (erfordert Discourse AI mit aktiviertem Chatbot)
remember last channel Öffnet den Kanal erneut, in dem jemand zuletzt war, wenn er zurück auf deine Seite kommt
chat container category Slug der Kategorie, die die Stützkategorien für Textkanäle enthält, standardmäßig chat-channels
sidebar sections Die Abschnitte und die Kanäle in jedem, du kannst diese aus der Seitenleiste verwalten, hier wird nur die Daten gespeichert
member list roles Gruppen, die als Rollen oben in der Mitgliederliste angezeigt werden, in Reihenfolge (standardmäßig Admins und Moderatoren)

Weitere Hinweise

  • Jeder sieht jeden Kanal, auf den er Zugriff hat, es gibt noch keinen Weg, einzelne Kanäle von der eigenen Liste zu verstecken. Das Stummschalten eines Kanals funktioniert wie üblich für Benachrichtigungen.
  • Das Öffnen eines Textkanals tritt ihm bei, genau wie in Discord. Wenn jemand einen Kanal verlässt, wird er weiterhin aufgelistet, daher ist das Stummschalten die bessere Option, um ihn leise zu schalten.
  • Unterkategorien bekommen keinen eigenen Platz in der Kanalliste, stattdessen werden sie als Boxen oben im Forenkanal ihres Elternelements angezeigt. Das Theme schlägt allgemein eine flache Struktur vor, aber du kannst eine übergeordnete Kategorie für einen Forenkanal wählen, indem du ihn nach der Erstellung bearbeitest.
  • Das Löschen eines Textkanals von der eigenen Einstellungsseite des Chats ist für Kanäle mit einer Stützkategorie ausgeblendet, daher werden sie immer aus dem …-Menü des Kanals gelöscht (was auch die Kategorie aufräumt). Wenn ein Kanal auf andere Weise gelöscht wird, z. B. über die API, bleibt die Stützkategorie zurück und du musst sie selbst entfernen.
  • Chat öffnet sich immer auf ganzer Seite, nie im Drawer.
  • „Online“ in der Mitgliederliste bedeutet aktiv irgendwo auf der Seite in den letzten paar Minuten, nicht nur im Chat. Personen, die ihre Präsenz verstecken, bleiben versteckt.
  • Auf Seiten mit einer sehr großen Anzahl von Kanälen werden nur die ersten 500 Textkanäle in die Liste geladen. Ähnlich lädt die Mitgliederliste eines privaten Chatkanals ihre ersten 250 Mitglieder sofort, und den Rest beim Scrollen.
  • Das Privatmachen eines Sprachkanals fügt die aktuellen Mitglieder der gewählten Gruppen hinzu (bis zu 200). Personen, die diesen Gruppen später beitreten, erhalten keinen automatischen Zugriff, da Sprachräume keine Gruppenberechtigungen haben. Du musst zusätzliche Mitglieder manuell einladen.
  • Wenn du später von Concord wechselst, werden die Stützkategorien für deine Textkanäle weiterhin vorhanden sein (und auf /categories sichtbar), daher möchtest du sie vielleicht löschen.

Es gibt noch so viel, was wir hier tun können, aber dies ist eine solide Grundlage, wenn du eine Discord-Alternative suchst, die du selbst hosten kannst (oder auf unserem kostenpflichtigen discourse.org-Hosting nutzen möchtest!).

Wie immer sind Feedback und Gedanken willkommen!

25 „Gefällt mir“

Bravo, das ist eine schöne Initiative @awesomerobot . So erreicht man andere Nutzer. Aber ich finde, dass dem Chat ziemlich viele Optionen fehlen, wie z. B. Umfragen oder kosmetische Goodies. Da ich Discord nicht mag, stört mich das überhaupt nicht :rofl: , aber Discourse mag ich sehr :smiling_face_with_three_hearts:

2 „Gefällt mir“

Ja, das ist nach wie vor Discourse-Chat in einer anderen Hülle für die Navigation… Falls Leute an Discord-ähnlichen Chat-Funktionen interessiert sind, ist das immer ein gutes Thema für Contribute > Feature (was ich gerade bemerkt habe, hast du bereits für Umfragen! Sondage pour le chat)

3 „Gefällt mir“