社区网络可视化

社区网络可视化

摘要 在交互式 2D 或 3D 网络中探索论坛成员之间的关系。
仓库 merefield/discourse-user-network-vis
安装 请遵循插件安装指南。
支持开发 在 GitHub 上赞助 :heart:

功能

以网络可视化的形式展示您的社区

通过自动添加的菜单项访问(可以关闭):

您可以通过点击侧边栏/下拉菜单中的 User Network 或导航至 yoursite.com/usernetworkvis 来访问 - 请注意,您必须以注册用户身份登录才能看到可视化内容。

  • 节点代表用户。

  • 连线代表您在论坛上的互动 - 互动越多,线条越粗

    • 互动是点赞(Likes)和回复(Replies)的组合(这与每个人摘要资料页上对所有用户可见的数据完全相同)
  • 悬停 在用户上以在视觉上隔离该用户及其连接

  • 点击 节点以导航到其摘要资料页。

  • 拖拽 节点四处移动,欣赏这场表演 :game_die:

  • 缩放 整个视图,使用鼠标滚轮。

:warning: 信任等级目前以不同的颜色显示。 如果您不想要这样,请多次设置相同的颜色。 我可能会找到另一个标准来设置颜色,但这是目前最明显且非常通用的 :warning:

要刷新数据,请触发该任务。 在更改设置后可能需要这样做(我已标记了需要此操作的那些设置):

前往:https://your.site/sidekiq/scheduler 并找到这个:

否则,这将每小时运行一次。

:warning: 如果您有 10,000 多名用户,此任务可能会运行很长时间并占用资源。 似乎在一个拥有 5,000 个账户、运行在 2 核 2GB VPS 上的站点上运行正常,耗时约 30 秒。 SQL 查询不可避免地非常“暴力” :warning:

对数据感兴趣?

我制作这个的初衷只是为了描绘一幅画面。

如果您想查看数据,只需前往 yoursite.com/usernetworkvis.json

无论如何,在个别情况下,您可以通过点击节点在每位用户的摘要页面上看到这些数据的大部分(最多被回复、最多被点赞/点赞)。 因此,我认为这是半公开的信息。

配置

设置……这么多……设置:

如果您有一个拥有大量用户的大型站点,您会发现图表非常嘈杂。 考虑提高 minimum trust level(最低信任等级),现在还有一个选项可以移除 x 年未见的用户:

待办事项

  • 菜单项支持本地化,但如果还没有人为您的本地化提交 PR,请考虑这样做,否则它将保持为键代码……

致谢

该可视化基于出色的 d3 库

类似项目

如果您喜欢这个,您可能也会喜欢:

48 个赞

太棒了!这虽然不完全一样,但让我想起几年前读过的一项研究:

8 个赞

不错的发现,我想知道这会不会带来一些互动?……同样的情况可能也适用于 Discourse Who's Online? :+1:

这让我想到了另一个点子:你可以利用那个插件(如果有的话),为在线的节点加上“光环”效果……

3 个赞

感谢分享!我刚为教育社区安装了它,目前正努力提升参与度。我们有很多活动相关的注册,但活动之间往往过于冷清。

我将“最低信任等级”设置为“2”,以展示更活跃的用户,同时减少噪音。

3 个赞

拥有一个数据的表格视图或选项可能会很有帮助。

1 个赞

我这么做的初衷只是为了描绘一幅图景。

如果你想查看数据,只需访问 yoursite.com//usernetworkvis.json。

无论如何,在个别情况下,你可以通过点击某个节点(回复最多、点赞最多/被点赞最多)在每位用户的摘要页面上看到大部分此类数据。

3 个赞

而且效果呈现得非常出色。插件用户总是希望有更多功能,我们可以尽情畅想。感谢提供 JSON 的链接。

2 个赞

您可能还能相对轻松地调整查询中的 SQL,并在数据资源管理器中运行它:

1 个赞

我的用户非常喜欢它。希望它能进一步激发他们的热情;)

不过有一个小遗漏:我无法翻译汉堡菜单中的“用户网络”文本。

2 个赞

我会在下次维护时安装这个。

感谢 @merefield :slight_smile:

2 个赞

我的疏忽!我很快就会添加本地化支持。

1 个赞

没问题,慢慢来。这不算什么大问题。

但现在我们遇到了一个紧急情况:汉堡菜单链接在移动设备上完全不显示。

1 个赞

该插件非常棒,非常感谢 @merefield

3 个赞

已完成:

为菜单项添加本地化支持 · merefield/discourse-user-network-vis@c201b56 (github.com)

2 个赞

现在应该兼容 Ember CLI 的 Discourse: COMPATIBILITY: fix settings ref for ember cli · merefield/discourse-user-network-vis@c87f1be (github.com)

3 个赞

罗伯特,你好。你为什么这样做

  var _this = this;

是因为你在某个地方调用了该作用域内的某个东西,然后 this 指的是内部的东西,而你需要获取到父级作用域的 this 吗?

1 个赞

这是因为 this 对象引用在异步调用期间会发生变化,因此不再指向同一对象。

1 个赞

非常喜欢这个可视化!并且希望能够让整个社区都能使用它,而不仅仅是管理员。是否可以像用户目录中的用户地图那样,选择性地链接它?

另外,我希望可以选择显示姓名而不是用户名。

非常感谢您的工作!

它已经对社区开放了。不需要管理员。当前链接应该对所有用户显示。

好主意!接受带有选项的拉取请求(PR)。

2 个赞

链接可以,但地图本身在移动设备上是空白的。

如果这是一个功能,那么当用户使用较小的屏幕时,是否应该隐藏汉堡包链接?