Concord: Discord-Alternativ-Theme für Discourse

:information_source: Zusammenfassung Eine selbst gehostete, Open-Source-Alternative zu Discord: Verwandle Discourse in eine kanalbasierte Community mit Text-, Sprach- und Forenkanälen.
:hammer_and_wrench: Repository github.com/awesomerobot/concord
:question: Installationsanleitung Wie man ein Theme oder einen Theme-Bestandteil installiert
:open_book: Neu bei Discourse-Themes? Einsteiger-Guide zur Nutzung von Discourse-Themes

Dieses Theme installieren

Wenn du Discourse nutzt, um deine eigene unabhängige Website zu betreiben, kannst du deine Richtlinien festlegen, deine Website öffentlich einsehbar machen 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
  • Chat-Kanä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 drastisch, daher ist es nicht mit jedem Plugin oder Theme-Bestandteil kompatibel. Es hängt auch von einigen sehr neuen Änderungen im Kern ab, daher 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 Seiteneinstellungen, daher hier eine Übersicht, was du in deinen Discourse-Seiteneinstellungen prüfen solltest, nachdem du es installiert hast.

Als Admin kannst du all 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

Seiteneinstellung Was einstellen
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, inklusive anonymous_users für den Anmelden ohne Login
enable public channels enabled, damit Staff Textkanäle erstellen kann
live enabled enabled, wenn du Live-Kanäle (Audio/Video) möchtest
live allowed groups Wer Live-Kanäle beitreten darf
live create room allowed groups Wer Live-Kanäle erstellen darf
enable user status Optional, Statusanzeigen erscheinen auf Avataren im Benutzerpanel und im Header
tagging enabled Optional, nur benötigt, wenn du die Theme-Einstellung include tags aktivierst
default homepage Optional, aber du kannst dies nun auf einen beliebigen Chat-Kanal 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 Chat-Kanal (Staff)
  • Voice erstellt einen Sprachraum (die voice create room allowed groups Einstellung)

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

In Discourse erhalten Chat-Kanäle ihre Berechtigungen aus einer Kategorie, daher erhält jeder Textkanal, den du in diesem Theme erstellst, eine leere „Stütz“-Kategorie, die in einer chat-channels-Elternkategorie verschachtelt ist. Diese Kategorien sind in der Kanalliste ausgeblendet, also musst du dir darüber keine Gedanken machen… aber poste keine Themen darin (normale Benutzer dürfen das nicht)! Wenn du einen Textkanal aus seinem …-Seitenleistenmenü löschst, wird auch seine Stütz-Kategorie gelöscht.

Seitenleistenkanäle organisieren

Kanäle können in zusammenklappbare Abschnitte gruppiert werden. Admins können Abschnitte über das …-Menü eines Abschnittstitels erstellen, umbenennen, neu anordnen und löschen und Kanäle zwischen ihnen über das …-Menü jedes Kanals 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 Chat-Kanä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 erneut den Kanal, in dem jemand zuletzt war, wenn er wieder auf deiner Seite ist
chat container category Slug der Kategorie, die die Stütz-Kategorien für Textkanäle enthält, standardmäßig chat-channels
sidebar sections Die Abschnitte und die Kanäle in jedem, du kannst diese von der Seitenleiste verwalten, hier werden 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 keine Möglichkeit, einzelne Kanäle von der eigenen Liste auszublenden. Das Stummschalten eines Kanals funktioniert weiterhin wie gewohnt 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 leiser zu schalten.
  • Unterkategorien bekommen keinen eigenen Platz in der Kanalliste, stattdessen werden sie als Boxen oben im Forenkanal ihrer Elternkategorie angezeigt. Das Theme schlägt generell eine flache Struktur vor, aber du kannst eine Elternkategorie für einen Forenkanal auswä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ütz-Kategorie 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ütz-Kategorie 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 Minuten, nicht nur im Chat. Personen, die ihre Präsenz verstecken, bleiben verborgen.
  • 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 Chat-Kanals ihre ersten 250 Mitglieder vorab und den Rest beim Scrollen.
  • Das Privatmachen eines Sprachkanals fügt die aktuellen Mitglieder der Gruppen hinzu, die du auswählst (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 wegswitchst, werden die Stütz-Kategorien für deine Textkanäle immer noch dort 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 kannst!).

Wie immer sind Feedback und Gedanken willkommen!

31 „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:

4 „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)

5 „Gefällt mir“

Wirklich interessant und perfekt für alle, die zwischen Nutzern, die Discord wollen, und Admins, die auf Discourse bleiben möchten, feststecken. Ich bin neugierig!

4 „Gefällt mir“

@awesomerobot Hier ein kurzes Feedback zum Theme, ich habe es heute etwas getestet.

Außerdem:

  • Es fehlt eine Möglichkeit, zur Startseite zurückzukehren, besonders wenn man sich in einem Admin-Bereich befindet.
  • Kann der Site-Name als Logo verwendet werden? Communities werden das wahrscheinlich verlangen.
  • Es wäre gut, das Outlet neben den Icons in der Kopfzeile oben rechts darzustellen, für Dinge wie das Übersetzungs-Dropdown (sonst ist es unsichtbar).
2 „Gefällt mir“

Im echten Discord-Stil gibt es eigentlich keine Startseite. Beim ersten Login landet man in einem Einführungschannel oder dem, was du als Startseite festgelegt hast, aber abgesehen davon landest du bei jedem erneuten Besuch immer dort, wo du zuletzt warst.

Einen Home-Button hinzuzufügen ist allerdings ganz einfach!

Um aus dem Adminbereich herauszukommen, ist der unterstützte Weg „Zurück zu allen Kanälen“, aber ich kann diesen Bereich vereinfachen und ihn benutzerfreundlicher gestalten.

Gute Punkte, das sind einfache Ergänzungen!

Ich werde den Home-Link und das Logo hinter die Einstellungen legen, falls jemand sie deaktivieren möchte.

3 „Gefällt mir“

Jetzt brauchen wir nur noch ein gutes Migrations-Tool von Discord zu Discourse, und wir können die lästigen Discord-Server in Ruhe migrieren!

Das hier scheint ein guter Anfang zu sein:

2 „Gefällt mir“

Es gibt auch Roberts Plugin

5 „Gefällt mir“

Das ist eine schöne Initiative, aber im Vergleich zu Discord fehlen der Chat-Funktion noch einige Optionen. Vielleicht sollte man zusätzlich zu den Discourse-Plänen eine kostenlose, sofort einsatzbereite Version von Discourse Chat anbieten. Es wäre toll, wenn wir in Zukunft bei einigen Anbietern oder Dienstleistern Discourse Chat statt Discord sehen könnten.