Kategorie-Isolation

Ich möchte eine einzelne Discourse-Instanz für ein Universitätsprogramm betreiben, bei der verschiedene übergeordnete Kategorien verschiedenen Kursen entsprechen und der Zugriff über Gruppen verwaltet wird. Damit Kursleiter und Lernende einen kohärenten Eindruck von einem Kurs erhalten, möchte ich ein Gefühl der Isolation der verschiedenen Kurse vermitteln. Daher möchte ich, dass meine Instanz ein Navigationserlebnis bietet, das Teams/Slack/Mattermost ähnelt, bei dem es relativ isolierte Teams gibt und die Benutzer von einem zum anderen wechseln müssen. Für meine Instanz würde dies bedeuten, dass die Benutzeroberfläche die Daten des aktuell ausgewählten Kurses hervorhebt. So verbringen die Benutzer beispielsweise die meiste Zeit in einer der übergeordneten Kategorien, und die Auswahl einer dieser Kategorien filtert die Unterkategorien und Chat-Kanäle, die sie leicht sehen können.

Ein ähnlicher Bedarf entsteht bei einer Instanz, bei der verschiedene Kategorien verschiedenen Forschungsgruppen entsprechen (eine solche möchte ich auch betreiben).

Welche Werkzeuge gibt es, die dabei helfen können?

3 „Gefällt mir“

Interessanter Anwendungsfall! Eine mögliche Lösung ist, Kategorien, die nicht relevant sind, einfach stummzuschalten, damit sie nicht in Themenlisten angezeigt werden.

Ich möchte sie eigentlich nicht stumm schalten: Ein Student wird wahrscheinlich mehrere Kurse gleichzeitig belegen, und die Benachrichtigungen von allen sind in Ordnung. Vielmehr möchte ich einen klareren Eindruck davon vermitteln: „Jetzt schaue ich mir Kurs X an“.

1 „Gefällt mir“

Eigentlich bräuchte ich wohl so etwas Ähnliches wie das hier:

Aber mit einem wählbaren “Home”.

Es scheint, dass die primäre Gruppe = ausgewählte Startseite ist, oder? Sie müssen user_selected_primary_groups aktivieren, damit Benutzer ihre primäre Gruppe auf ihrer Kontoeinstellungsseite ändern können.

2 „Gefällt mir“

Optimalerweise hätte ich etwas Flüchtigeres und weniger Öffentlich Sichtbares. Ich stelle mir jedoch vor, dass, wenn ich den Titel und das Flair nicht verwende, eine UI-Komponente, die die primäre Gruppe umschaltet, als Teamauswahl funktionieren würde.

Etwas wie die zusätzliche Seitenleistenauswahl, die hier vor ein paar Tagen als Experiment lief, wäre dafür nett.

Sie könnten das tun. Sie könnten auch das Website-Logo je nach primärer Gruppe ändern. Ich habe das für eine Website gemacht, auf der mehrere Universitäten eine Instanz teilen. Vielleicht hätten Sie eine Theme-Komponente mit einem Dropdown in der oberen Leiste, mit der sie ihre primäre Gruppe auswählen könnten (und vielleicht steht dort „Klasse“ statt „Gruppe“).

@Anton_Akhmerov Möchtest du das selbst machen oder möchtest du jemanden dafür bezahlen? Lass es mich wissen!

Wenn du es selbst machen möchtest, würde ich es gerne nach Dev verschieben, damit du dort daran arbeiten, der Community berichten und Feedback von anderen Mitgliedern erhalten kannst. Lass uns das nach Dev verschieben.

Wenn du jemanden bezahlen möchtest, werde ich es nach Marketplace verschieben.

Dev bitte :folded_hands: :smiling_face_with_sunglasses:

Außerdem, wenn jemand in Dev Tipps hat, wäre das absolut wunderbar :heart_eyes:

Ich denke, es wäre am besten, dies nach Community zu verschieben und mehr über Ihren Anwendungsfall zu diskutieren, wie wir Ihre Bedürfnisse am besten erfüllen können und Platz für andere zu schaffen, die ähnliche Bedürfnisse hatten und diese gelöst haben.

Wenn dann spezifische Produktlücken identifiziert werden, die Sie für wichtig genug halten, um sie selbst zu entwickeln oder zu befürworten, können wir separate Themen in Feature und/oder Dev für diese Ideen auslagern.

Klingt das mit Ihren Gedanken hier überein? Oder sind Sie bereits in der Phase „Ich bin bereit, die fehlenden Teile zu bauen“?

1 „Gefällt mir“

Community ergibt auch Sinn :grin:. Das Feature sieht knifflig aus und scheint den Bedürfnissen der Community einigermaßen zu entsprechen, wenn man die Beliebtheit von Anfragen wie dieser bedenkt

Ich habe vor, daran zu arbeiten, aber bisher ist mein Plan eher vage.

2 „Gefällt mir“

Als Nachtrag, hier ist, wie ich mir vorstelle, Ihre Bedürfnisse am besten mit den Standardfunktionen von Discourse zu erfüllen. Es ist vielleicht nicht genau das, was Sie sich vorstellen, aber ich denke, es ist als Diskussionsgrundlage wert, in Betracht gezogen zu werden.

Zuerst treffe ich einige Annahmen, die gültig sein können oder auch nicht. Bitte lassen Sie mich wissen, wo ich falsch liege:

  1. Es wird viele Kurse geben (Dutzende, möglicherweise Hunderte)
  2. Die Einrichtung von Kursen wird periodisch, in beträchtlichen Stapeln, zu Beginn jedes Semesters (2-4 Mal pro Jahr) erfolgen
  3. Kurse werden ein End-of-Life haben
  4. Personen, die Kurse verwalten, müssen in der Lage sein, sie selbst einzurichten
  5. Personen, die Kurse verwalten, haben wenig bis keine Erfahrung mit der Verwaltung einer Discourse-Site.
  6. Personen, die Kurse verwalten, müssen nur ihre eigenen sehen. Sie möchten vielleicht gelegentlich andere als Beispiele sehen, müssen aber nicht ständig an ihnen teilnehmen.
  7. ^ dito für Personen, die Kurse belegen
  8. Es gibt ein sehr kleines Team, das das System als Ganzes verwaltet
  9. Kurse benötigen keine Unterkategorien; die Verwendung von Tags zur Organisation von Inhalten innerhalb von Kursen wäre ausreichend

Wenn diese Annahmen nahe liegen, hier ist mein Vorschlag, zuerst auf hoher Ebene:

  1. Erstellen Sie eine kleine Anzahl von Top-Level-Kategorien: eine für „Aktuelle Kurse“, eine für „Vergangene Kurse“, eine für „Bevorstehende Kurse“ und eine oder mehrere für allgemeinere Dinge über das System selbst (z. B. wie man die Website nutzt)
  2. Stellen Sie den Stil der Startseite auf „Kästchen mit Kategorien“ ein, damit diese prominent angezeigt werden
  3. Verwenden Sie Unterkategorien für jeden Kurs
  4. Erstellen Sie sie in „Bevorstehende Kurse“
  5. Verschieben Sie sie zu „Aktuelle Kurse“, wenn das Semester beginnt
  6. Wenn ein Kurs abgeschlossen ist, verschieben Sie ihn von „Aktuelle Kurse“ zu „Vergangene Kurse“
  7. Steuern Sie den Zugriff auf Kurse über Gruppen (mehr Details unten)

Zugriffskontrolle:

  1. Erstellen Sie für jeden Kurs eine Reihe von Gruppen, z. B.: foo_interested, foo_enrolled, foo_admin
  2. Erstellen Sie zwei zusätzliche Gruppen: „browse_courses“ und „browse_past_courses“
  3. Stellen Sie Kategorien in „Bevorstehende Kurse“ und „Aktuelle Kurse“ so ein, dass sie nur für Personen in den Gruppen des jeweiligen Kurses und Personen in der Gruppe „browse_courses“ zugänglich sind.
  4. Stellen Sie Kategorien in „Vergangene Kurse“ so ein, dass sie nur für Personen in den Gruppen des jeweiligen Kurses und Personen in der Gruppe „browse_past_courses“ zugänglich sind.

Benutzererfahrung für Gruppen und Kurse

  1. Haben Sie ein angeheftetes Thema in der Top-Level-Kategorie für „Bevorstehende Kurse“, das erklärt, wie man Kurse durchsucht, mit einer einfachen Möglichkeit für Personen, der Gruppe „browse_courses“ beizutreten.
  2. ^ dito für „Aktuelle Kurse“
  3. ^ dito für „Vergangene Kurse“

Für einzelne Kurse haben Sie ein angeheftetes Thema in der Kategorie, das erklärt, wie man dem Kurs beitritt:

  1. Treten Sie der Gruppe „foo_interested“ und/oder „foo_enrolled“ bei
  2. Fügen Sie den Kurs Ihrer Seitenleiste hinzu

Die Administration wird anfangs etwas arbeitsintensiv sein, da für jeden neuen Kurs eine Person mit entsprechenden Berechtigungen Folgendes tun muss:

  1. Erstellen Sie die Kategorie
  2. Erstellen Sie die Gruppen
  3. Erstellen Sie das angeheftete Thema
  4. Fügen Sie die Personen zur Gruppe „_admins“ hinzu
  5. Stellen Sie ihnen die Dokumentation zur Verfügung, die sie zur Verwaltung ihres eigenen Kurses benötigen

Ein Teil davon könnte mit einigen leichten Werkzeugen automatisiert werden. Je nachdem, wer das Hauptadministrator-Team ist, kann es sinnvoll sein, mit etwas außerhalb des Bandes zu beginnen, das einfach die API anspricht. Oder vielleicht benötigen Sie etwas UI-basiertes, das in Discourse als Theme-Komponente oder Plugin integriert ist. Aber ich würde vorschlagen, hier schlank zu beginnen und sich zuerst auf die Definition eines funktionierenden Prozesses zu konzentrieren und dann die Werkzeuge darum herum zu entwerfen.

Die Skalierung von Kategorien ist hier ein mögliches Problem. Discourse hat einige Performance- und UX-Probleme, wenn die Anzahl der Kategorien zu groß wird (hohe Hunderte oder Tausende). Benutzer, die Zugriff auf mehr Kategorien haben, werden die Auswirkungen davon spüren, während diejenigen mit eingeschränktem Zugriff dies nicht tun werden. Das ist Teil der Motivation, den Zugriff auf Kategorien wie beschrieben einzuschränken.

Ich bin sehr an jedem Feedback oder jeder Frage, die Sie dazu haben, interessiert.

1 „Gefällt mir“