カテゴリごとの分離

大学のプログラムで単一のディスコースインスタンスを実行したいと考えています。そこでは、異なるトップレベルのカテゴリが異なるコースに対応し、アクセスはグループによって管理されます。コースのインストラクターと学習者がコースの一体感を持てるように、異なるコースの分離感を演出したいと考えています。そのため、インスタンスにはTeams/Slack/Mattermostのような、比較的分離されたチーム間をユーザーが切り替えるようなナビゲーション体験を提供したいです。私のインスタンスでは、UIが現在選択されているコースに関連するデータを強調するようにします。例えば、ユーザーはトップレベルのカテゴリのいずれかでほとんどの時間を過ごし、それらを選択すると、簡単に見ることができるサブカテゴリやチャットチャンネルがフィルタリングされます。

同様のニーズは、異なるカテゴリが異なる研究グループに対応するインスタンスでも生じます(私もそのようなインスタンスを実行したいと考えています)。

これを達成するために役立つ既存のツールはありますか?

「いいね!」 3

興味深いユースケースですね!解決策としては、関連性のないカテゴリをミュートして、トピックリストに表示されないようにすることが考えられます。

実際にはミュートしたくありません。学生は複数のコースを同時に受講する可能性があり、それらすべてからの通知は問題ありません。むしろ、「今、コースXを見ています」という明確な印象を与えたいのです。

「いいね!」 1

実際には、このようなものが必要なようです

ただし、選択可能な「ホーム」が必要です。

プライマリグループ=選択されたホーム、ということで合っていますか?アカウント設定ページでユーザーがプライマリグループを変更できるように、user_selected_primary_groups を有効にする必要があります。

「いいね!」 2

理想的には、もっと一時的で、公にはあまり見えないものが欲しいです。しかし、タイトルとフレアを使用しない場合、プライマリグループを切り替えるUIコンポーネントがチームセレクターとして機能するだろうと想像しています。

数日前に実験としてここで実行されていた、サイドバーの追加セレクターのようなものがそれには良いでしょう。

そうすることもできます。サイトのロゴをプライマリグループに応じて変更することもできます。私は、複数の大学がインスタンスを共有するサイトでそれを実行しました。トップバーにプルダウンがあるテーマコンポーネントを使用して、プライマリグループを選択できるようにすることもできます(そして、「グループ」の代わりに「クラス」と言うこともできます)。

@Anton_Akhmerov さん、ご自身で作業されますか、それとも外部に委託されますか?お知らせください!

ご自身で作業される場合は、Dev に移動して作業を進め、コミュニティに報告して他のメンバーからの意見を求めることができます。Dev に移動しましょう。

外部に委託される場合は、Marketplace に移動します。

Dev の皆さん、お願いします :folded_hands: :smiling_face_with_sunglasses:

また、Dev の皆さんで何かヒントがあれば、それは素晴らしいことです :heart_eyes:

この件は Community に移動して、ユースケースやニーズへの最適な対応方法についてさらに議論し、同様のニーズを解決した他のユーザーのためにスペースを確保するのが最善だと考えます。

その後、製品のギャップが特定され、ご自身で構築したり、提唱したりする価値があると思われる場合は、FeatureDev で個別のトピックを立ち上げることができます。

この考え方でよろしいでしょうか?それとも、すでに「欠けている部分を構築する準備ができている」段階にいらっしゃいますか?

「いいね!」 1

#コミュニティ も理にかなっています :grin:。この機能は、このようなリクエストの人気を考えると、コミュニティのニーズにある程度沿っているように見え、トリッキーなものです。

これに取り組む予定ですが、今のところ計画はかなり曖昧です。

「いいね!」 2

フォローとして、Discourse の標準機能で皆様のニーズに最もよく応えられると思われる方法を以下に示します。皆様がお考えのものと 全く 同じではないかもしれませんが、議論の出発点として検討する価値はあると思います。

まず、いくつかの仮定を立てています。これらは有効な場合もあれば、そうでない場合もあります。間違っている点があれば、お知らせください。

  1. コースは多数(数十、場合によっては数百)存在する
  2. コースのセットアップは、四半期ごと(年2〜4回)に、まとまったバッチで行われる
  3. コースには終了時期がある
  4. コースを管理する人々は、自分でセットアップできるある程度の能力が必要
  5. コースを管理する人々は、Discourse サイトの管理経験がほとんどないか、全くない
  6. コースを管理する人々は、自分のコースだけを見られればよい。他のコースは時々例として見たいかもしれないが、継続的な参加は必要ない
  7. ^ コースを受講する人々についても同様
  8. システム全体を管理するチームは非常に小さい
  9. コースにはサブカテゴリはあまり必要なく、コース内のコンテンツを整理するにはタグを使用するだけで十分

これらが近いようであれば、まず全体的なレベルで以下のことを提案します。

  1. 少数のトップレベルカテゴリを作成する:「現在のコース」、「過去のコース」、「今後のコース」、およびシステム全体に関する一般的なもの(例:サイトの使い方)のためのカテゴリを1つ以上
  2. ホームページのスタイルを「カテゴリ別のボックス」に設定し、これらを際立たせる
  3. 各コースにサブカテゴリを使用する
  4. 「今後のコース」に作成する
  5. 学期が始まったら、「現在のコース」に移動する
  6. コースが終了したら、「現在のコース」から「過去のコース」に移動する
  7. グループを使用してコースへのアクセスを制御する(詳細は以下)

アクセス制御:

  1. 各コースについて、例えば foo_interested、foo_enrolled、foo_admin のようなグループのセットを作成する
  2. 「browse_courses」と「browse_past_courses」という2つの追加グループを作成する
  3. 「今後のコース」と「現在のコース」のカテゴリは、特定のコースのグループのメンバーと「browse_courses」グループのメンバーのみがアクセスできるように設定する
  4. 「過去のコース」のカテゴリは、特定のコースのグループのメンバーと「browse_past_courses」グループのメンバーのみがアクセスできるように設定する

グループとコースのユーザーエクスペリエンス:

  1. 「今後のコース」のトップレベルカテゴリに、コースの閲覧方法を説明する固定トピックを配置し、人々が「browse_courses」グループに参加しやすいようにする
  2. ^ 「現在のコース」についても同様
  3. ^ 「過去のコース」についても同様

個々のコースについては、カテゴリに固定トピックを配置し、コースへの参加方法を説明する:

  1. 「foo_interested」および/または「foo_enrolled」グループに参加する
  2. サイドバーにコースを追加する

管理は、最初は多少手間がかかります。新しいコースごとに、適切な権限を持つ誰かが以下を行う必要があります。

  1. カテゴリを作成する
  2. グループを作成する
  3. 固定トピックを作成する
  4. 人々を _admins グループに追加する
  5. 自分のコースを管理するためのドキュメントを提供する

これらのうちいくつかは、軽量なツールで自動化できる可能性があります。メインの管理者チームが誰であるかによっては、API を呼び出すだけの帯域外の何かから始めるのが良いかもしれません。あるいは、Discourse にテーマコンポーネントやプラグインとして組み込まれた、より UI ベースの何かが必要かもしれません。しかし、ここではまずシンプルに始め、まず機能するプロセスを定義することに焦点を当て、その後にツールを設計することをお勧めします。

カテゴリのスケーリングは、ここで懸念される可能性があります。Discourse は、カテゴリ数が非常に多く(数百または数千)なると、パフォーマンスと UX に多少の粗さがあります。より多くのカテゴリにアクセスできるユーザーは影響を感じますが、アクセスが制限されているユーザーはそうではありません。これは、私が概説したようにカテゴリへのアクセスを制限する動機の一部です。

上記の点について、あらゆるフィードバックや質問をいただけると幸いです。

「いいね!」 1