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

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

概要 2Dまたは3Dのインタラクティブなネットワークで、フォーラムメンバー間の関係を探索します。
リポジトリ merefield/discourse-user-network-vis
インストール プラグインインストールガイドに従ってください。
開発を支援する GitHubでスポンサーになる :heart:

機能

コミュニティをネットワーク可視化として表示します

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

サイドバー/ドロップダウンメニューで User Network をクリックするか、yoursite.com/usernetworkvis にアクセスして開けます - 注: 可視化を見るには、登録ユーザーとしてログインしている必要があります。

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

  • リンクはフォーラムでのインタラクションを表します - インタラクションが多いほど、線は太くなります

    • インタラクションは「いいね」と「返信」の組み合わせです(これは、すべてのユーザーがプロフィールページのサマリーで確認できるデータと全く同じものです)
  • ユーザーにホバーすると、そのユーザーと接続が視覚的に分離表示されます

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

  • ノードをドラッグして動かすと、アニメーションが表示されます :game_die:

  • マウスホイールでビュー全体をズームできます。

:warning: 現在、信頼レベル(Trust levels)は異なる色で表示されています。 これを望まない場合は、同じ色を複数回設定してください。 別の基準で色を設定する方法を見つけるかもしれませんが、これは非常に一般的で最も明白な方法でした :warning:

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

https://your.site/sidekiq/scheduler に移動し、このジョブを探してください:

それ以外の場合、1時間ごとに実行されます。

:warning: ユーザーが10,000人いる場合、このジョブは非常に長く実行され、リソースを消費する可能性があります。 2コア2GBのVPSで5,000アカウントのサイトでは、約30秒で正常に動作するようです。 SQLは必然的に過酷です :warning:

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

私の意図は、単に絵を描くことでした。

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

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

設定

設定… とても… たくさんの… 設定があります:

多くの人がいる大規模なサイトの場合、図が非常にノイズが多いと感じるかもしれません。 minimum trust level を上げたり、x年間見られなかった人を削除するオプションを有効にしたりすることを検討してください:

TODO

  • メニュー項目にはローカライズサポートがありますが、まだ誰もあなたのローカライズのPRを送っていない場合は、そうすることを検討してください。 そうでなければ、キーコードのままになります…

クレジット

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

類似プロジェクト

これが気に入ったら、これらも気に入るかもしれません:

「いいね!」 48

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

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

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

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