Wie strukturiert man Discourse für einen Online-Kurs?

@dax Gilt das auch noch 2020, dass man Beiträge in einem Thema auf Benutzer einer bestimmten Gruppe beschränken kann?

Wir möchten Discourse mit unserem Online-Lernsystem nutzen… wir möchten einen Satz von etwa sieben Themen haben, durch die verschiedene Kohorten (Gruppen) von Benutzern schreiten, sodass sie nur Beiträge innerhalb ihrer eigenen Gruppe sehen können. Wir würden lieber einen Satz von Themen haben, als jedes Mal für eine neue Kohorte dieselben Themen erneut zu erstellen.

Vielleicht ist in der Zwischenzeit eine weitere neue Funktion hinzugekommen, die dies ermöglicht? Danke für jegliche Gedanken dazu.

Entschuldigung, aber Ihre Frage ist unklar und scheint nicht zusammenzuhängen.

Sie können Kategorien erstellen, und Kategorien können mit Gruppen abgesichert werden.

Was @HappyGezim anfragt, ist eine benutzerdefinierte „Flüstern“-Funktion innerhalb eines Themas. Dies ist nicht auf unserer Roadmap vorgesehen.

@sam Danke für deine schnelle Rückmeldung! Ich werde versuchen, unser genaues Szenario zu verdeutlichen:

  • Wir haben vier Kategorien eingerichtet, eine für jeden der vier Kurse, die wir anbieten.

  • In jeder Kategorie (Kurs) gibt es etwa 5 bis 10 Themen, eines für jede „Lektion

Daniel, ich habe auch einen Kurs, den ich über Discourse betreibe. Ich verwende eine Kategorie plus Unterkategorie, was die Einschränkung am einfachsten macht.

Kategorie: Acme Kurs
Unterkategorie: 2020-05 - Kursdiskussionen

Die Studierenden eines bestimmten Cohorts sehen nur eine Unterkategorie.

Es ist nicht perfekt, aber es funktioniert!

@waffleslop Toll. Danke. Erstellst du diese Unterkategorien jedes Mal manuell, wenn eine neue Kohorte hinzukommt? (Oder vielleicht über eine API?)

Ich hoffte, das vermeiden zu können, denn für jede Kohorte müsste ich dieselben 5 bis 10 neuen Themen in einer Unterkategorie einrichten. Zudem könnten mehrere Kohorten gleichzeitig einen Kursdurchlauf absolvieren, was bedeutet, dass ich kreativ bei der Benennung werden müsste. Also, basierend auf deinem Beispiel …
2020-05-Kohorte-A Kursdiskussionen
… oder gibt es vielleicht eine Möglichkeit, Unter-Unter-Unterkategorien zu erstellen? Das habe ich noch nicht untersucht.

Nochmals vielen Dank für deine Gedanken.

[quote=“Daniel_McQuillen, Beitrag: 3, Thema: 152572”]

  • Wir haben vier Kategorien eingerichtet, jeweils eine für die vier angebotenen Kurse.
  • In jeder Kategorie (Kurs) gibt es etwa 5 bis 10 Themen, jeweils eines für jede „Lektion

@pfaffman Danke für deinen Input.

Mein ursprünglicher Gedanke war, Unterkategorien zu verwenden, um Kohorten unter einem Kurs zu gruppieren. Doch dann sah ich dies in der Benutzeroberfläche, als ich eine Unterkategorie erstellte:

Liege ich richtig in der Annahme, dass dies bedeutet, es gibt keine Möglichkeit, Unterkategorien zu verwenden, um Kohorten unter einem Kurs zu gruppieren und dann Gruppenberechtigungen zu nutzen, um sie auf diese Unterkategorie zu beschränken? @waffleslop, konntest du in deinem Ansatz nach Unterkategorien filtern? Vielleicht habe ich diese UI-Meldung falsch interpretiert.

Wenn man eine Unterkategorie nicht auf eine Gruppe beschränken kann, @pfaffman, dann ist dein Ansatz (danke für die Erklärung), bei dem du für jede Kohorte eine neue Kategorie erstellst, wahrscheinlich die einzige Option.

Da unsere etwa 10 Themen pro Kurs ziemlich feststehen, eine spezifische Benennung und Nummerierung usw. haben, plane ich, diese jedes Mal über die API zu erstellen, wenn eine neue Kohorte in unserem System angelegt wird. Also für jede neue Kohorte, die wir in unserem LMS erstellen, werde ich die API nutzen, um:

  • eine neue Kategorie in Discourse für diese Kohorte zu erstellen,
  • eine neue Gruppe in Discourse mit Zugriff auf diese Kategorie zu erstellen,
  • die richtigen etwa 10 Themen in der neuen Kategorie zu erstellen.
  • jeden Studenten, der in unserem LMS zu einer Kohorte hinzugefügt wird, der entsprechenden Gruppe in Discourse hinzuzufügen (und sie zu entfernen, wenn sie ausscheiden).

Hast du diesen Ansatz schon einmal ausprobiert, anstatt darauf zu vertrauen, dass der Student das Thema selbst erstellt? Ich mache mir Sorgen, dass verschiedene Studenten leicht unterschiedlich benannte Themen für dieselbe Aufgabe im Kurs erstellen könnten.

Ich bin unsicher bezüglich deines Vorschlags, „schreibgeschützte Kategorien

Hier ist das Format:

Kategorie: Acme-Kurs
Gruppen: 2020-01_cohort, 2020-05_cohort

Unterthemen:

  • 2020-01 – Kursgespräche (Gruppe: 2020-01_cohort)
  • 2020-05 – Kursgespräche (Gruppe: 2020-05_cohort)

Aha. Danke @waffleslop. Okay, du sagst also, dass du die Unterkategorie auf eine Gruppe beschränken und damit den Zugriff auf andere Unterkategorien verhindern kannst. Ich habe die oben kopierte UI-Meldung falsch verstanden. :zipper_mouth_face:

Daher werden wir wahrscheinlich folgenden Ansatz verfolgen:

  • Eine neue Unterkategorie in Discourse für jeden Cohort erstellen.
  • Eine neue Gruppe in Discourse mit Zugriff auf diese Unterkategorie (sowie auf die übergeordnete Kategorie, wie oben in der UI-Meldung beschrieben) erstellen.
  • Die richtigen 10 oder so Themen in der neuen Unterkategorie erstellen.
  • Immer wenn ein Student in unserem LMS zu einem Cohort hinzugefügt wird, ihn der entsprechenden Gruppe in Discourse hinzufügen (und entfernen, wenn er den Cohort verlässt).

Ich bin mir ziemlich sicher, dass der übergeordnete Bereich schreibgeschützt sein kann, während die Untergruppen nur auf die eine Gruppe beschränkt sind.

Sie können das, aber auf diese Weise müssen Sie die schreibgeschützten Kategorien mit den Anweisungen nur einmal erstellen (und pflegen, es sei denn, Sie bekommen sie beim ersten Mal perfekt hin), und wenn Sie eine Kohorte erstellen, müssen Sie nur die eine Untergruppe erstellen.

Ich denke, deshalb habe ich Tags verwendet. Sie werden das Thema mit dem Aufgaben-Tag versehen, und dann kann das Thema beschreibend sein, aber es schadet nichts, wenn sie ein dummes wählen.

Für alle, die den oben skizzierten Ansatz verfolgen – also Unterkategorien für jeden Kurs-Jahrgang verwenden und die Diskussionsthemen in jedem davon wiederholen – ist es wichtig, die Einstellung „Erlaube doppelte Themennamen

Dies ist ein Grund, warum ich meine Lösung mag, eine einzige schreibgeschützte Kategorie mit dem Inhalt zu haben und die Studierenden den Inhalt in einer kohortspezifischen Kategorie mit neuen Themen diskutieren zu lassen.

Hallo @Daniel_McQuillen. Ich war neugierig darauf, wie dein Kurs verlaufen ist. Ich plane, drei Kurse mit jeweils mehreren Cohorts anzubieten, und bin an deinen bisherigen Erfahrungen interessiert.

Außerdem: Lässt du einige deiner Kurse oder den Zugang zu den Diskussionen auslaufen?

Vielen Dank im Voraus für deine Rückmeldung, Hunter

Hallo Hunter,

wir befinden uns derzeit in der Beta-Phase, aber die Discourse-Integration läuft gut. Wir nutzen die SSO-Integration, um die Anmeldung auf unserer Website zu erzwingen. Das funktioniert einwandfrei, allerdings habe ich Folgendes festgestellt:

  1. Discourse akzeptiert keine Benutzernamen mit dem „@“-Zeichen. Der Benutzername wird auf den Teil vor dem „@“ gekürzt. Das kann Probleme verursachen, wenn du später die Discourse-APIs mit diesem Benutzernamen als Argument aufrufst. Discourse erkennt einen Benutzernamen wie someone@example.com nicht, da in Discourse der Benutzername als „someone“ gespeichert wird. Eine einfache Lösung besteht darin, das „@“-Zeichen in deinen eigenen Benutzernamen nicht zuzulassen!

  2. Wenn sich jemand auf deiner eigenen Website registriert, musst du explizit die Discourse-API aufrufen, um den SSO-Benutzer zu synchronisieren. Möglicherweise möchtest du mit diesem Benutzer bestimmte Aktionen durchführen (z. B. ihn einer Discourse-Gruppe hinzufügen), bevor er die Discourse-Website zum ersten Mal besucht (was die SSO automatisch synchronisieren würde). Ich habe eine auf Django basierende Website und verwende die pydiscourse-Bibliothek, die eine sync_sso-Methode bietet, die dies sehr einfach macht (Client Challenge).

Ja, wir werden einige unserer Kurse verfallen lassen. In diesem Fall ruft der Server die Discourse-API auf und entfernt den Benutzer sowohl aus der allgemeinen Gruppe für diesen Kurs als auch aus der Gruppe, die speziell für seine Kohorte in dieser Gruppe vorgesehen ist.

Ich habe in meiner Django-Website Tabellen erstellt, die diese „Kurs“-Gruppen und die verschiedenen „Kohorten“-Gruppen innerhalb jedes Kurses verfolgen. Diese Informationen nutze ich beim Hinzufügen oder Entfernen von Studierenden usw.: