コミュニティネットワーク可視化

概要: ユーザーネットワークの可視化

:link: GitHub: https://github.com/merefield/discourse-user-network-vis GitHub - merefield/discourse-user-network-vis: A plugin that creates a User Network Visualisation to show social links between users · GitHub

:arrow_right: インストール: プラグインインストールガイド に従ってください。

機能

コミュニティをネットワーク可視化として表示します(デスクトップ/タブレットのみ)。

自動的に追加されるメニュー項目からアクセスできます(無効化可能):

サイドバー/ドロップダウンメニューの User Network をクリックするか、yoursite.com/usernetworkvis にアクセスして移動してください。なお、可視化を表示するには登録ユーザーとしてログインしている必要があります。

  • ノードはユーザーを表します。

  • リンクはフォーラム上の相互作用を表します。相互作用が多いほど線は太くなります。

    • 相互作用とは「いいね」と「返信」の組み合わせです(これはすべてのユーザーがアクセスできる誰かの概要プロフィールページで利用可能なデータと同一です)。
  • ユーザーに ホバー すると、そのユーザーと接続を視覚的に孤立させることができます

  • ノードを クリック すると、そのユーザーの概要プロフィールに移動します。

  • ノードを ドラッグ して動かすと、動きを見ることができます :game_die:

  • マウスホイールで全体の表示を ズーム できます。

:warning: 現在、信頼レベルは異なる色で表示されています。これを無効にしたい場合は、同じ色を複数回設定してください。別の基準で色を設定するかもしれませんが、現時点ではこれが最も明白で汎用的な方法です :warning:

データを更新するには、ジョブをトリガーしてください。設定変更後(必要なものにはマークを付けています)に必要になる場合があります:

https://your.site/sidekiq/scheduler にアクセスし、以下のジョブを探してください:

そうでない場合、このジョブは毎時間実行されます。

:warning: ユーザーが 1 万人以上いる場合、このジョブは長時間実行され、リソースを消費する可能性があります。2 コア 2GB の VPS で動作する 5,000 人のアカウントサイトでは約 30 秒で問題なく動作しています。SQL は必然的に非常に重いです :warning:

データに興味がありますか?

私の意図は単に全体像を描くことでした。

データを確認したい場合は、yoursite.com/usernetworkvis.json にアクセスしてください。

いずれにせよ、個別のケースでは、ノードをクリックすることで(最も返信が多い、最もいいねをもらった/もらった人など)、各ユーザーの概要ページでこれらのデータの多くを確認できます。したがって、これは半公開情報とみなしています。

設定

設定…たくさん…あります:

大規模なサイトが多くの人で構成されている場合、図が非常にノイズが多くなることがあります。「最小信頼レベル」を上げることを検討してください。また、x 年間活動していないユーザーを削除するオプションも追加されました:

TODO

  • メニュー項目にはローカライゼーション対応がありますが、まだあなたの言語での PR が行われていない場合は、ぜひご検討ください。さもなければ、キーコードのまま残ってしまいます…

クレジット

この可視化は、素晴らしい d3 ライブラリ を基にしています。

類似プロジェクト

これが気に入ったなら、以下のプロジェクトも気に入るかもしれません:

「いいね!」 45

とても素敵ですね!完全に同じことではありませんが、数年前に読んだある研究を思い出させます:

「いいね!」 8

おっと、見つけましたね。これでエンゲージメントが上がるでしょうか?… おそらく Discourse Who's Online? の「誰がオンラインか」プラグインについても同様でしょうね。:+1:

それ、別のアイデアが浮かびましたね。もしそのプラグインが利用可能なら、オンラインのノードの周りに「光輪」のようなものを表示させることもできるかもしれませんね。

「いいね!」 3

ありがとうございます。教育コミュニティにインストールしました。参加レベルを上げるためにまだ試行錯誤中です。イベント関連の活動には多くの登録がありますが、その間は静かになりすぎてしまいます。

最小信頼レベルを「2」に設定して、ノイズを減らしつつ、より活発なユーザーを表示するようにしました。

「いいね!」 3

データの表形式の表示やオプションがあると役立つかもしれません。

「いいね!」 1

これは単にイメージを描きたかっただけです。

データをご覧になりたい場合は、yoursite.com//usernetworkvis.json にアクセスしてください。

いずれにせよ、個別のケースでは、ノード(最も返信が多い、最もいいねされた/いいねされた)をクリックすることで、各ユーザーのサマリーページでこれらのデータの多くを確認できます。

「いいね!」 3

そして、それは美しく描かれています。プラグインのユーザーはいつもより多くを求め、私たちは夢見ることができます。JSONへのリンクをありがとうございます。

「いいね!」 2

クエリ内の SQL を比較的簡単に適応させ、Data Explorer で実行できる可能性があります。

「いいね!」 1

ユーザーの皆に大好評です。さらに盛り上がることを願っています :wink:

ただ、一つだけ見落としがありました。ハンバーガーメニュー内の「User Network」というテキストを翻訳できません。

「いいね!」 2

次回のメンテナンス時にこれをインストールするつもりです。

@merefield さん、ありがとうございます :slight_smile:

「いいね!」 2

申し訳ありません!まもなくローカライゼーションのサポートを追加します。

「いいね!」 1

問題ありません、お時間をかけて大丈夫です。それほど大きな問題ではありません。

ただし、今、私たちがパニックになっています。ハンバーガーリンクがモバイル端末で全く表示されません。

「いいね!」 1

そのプラグイン、すごく素敵ですね!@merefield さん、ありがとうございます。

「いいね!」 3

完了しました:

メニュー項目のローカライズを追加 · merefield/discourse-user-network-vis@c201b56 (github.com)

「いいね!」 2

Ember CLI’d Discourse と互換性があるはずです: COMPATIBILITY: fix settings ref for ember cli · merefield/discourse-user-network-vis@c87f1be (github.com)

「いいね!」 3

ロバートさん、こんにちは。なぜこれを行ったのですか?

  var _this = this;

それは、どこかでそのスコープ内の何かを呼び出し、その後 this が内部のものの this になり、親の this に出る必要があるためですか?

「いいね!」 1

this オブジェクト参照が非同期呼び出し中に変更され、同じものを指さなくなるためです。

「いいね!」 1

ビジュアライゼーションがとても気に入りました!管理者だけでなく、コミュニティ全体でアクセスできるようにしたいです。ユーザーディレクトリのユーザマップのように、オプションでリンクすることもできますか?

また、ユーザー名ではなく、名前に切り替えて表示するオプションも欲しいです。

ご尽力いただき、誠にありがとうございます!

すでにコミュニティに公開されています。管理者は不要です。現在のリンクはすべてのユーザーに表示されるはずです。

良いアイデアです!オプションのPRは受け入れられました。

「いいね!」 2

リンクは表示されますが、マップ自体はモバイルで使用すると空白になります。

それが機能なのであれば、ユーザーが小さい画面を使用しているときにハンバーガーリンクを非表示にすべきでしょうか?