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

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

: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 ライブラリ をベースにしています。

類似プロジェクト

もし気に入っていただけたら、以下のプロジェクトもぜひご覧ください:

「いいね!」 46

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

「いいね!」 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

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

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