社区网络可视化

摘要:用户网络可视化

: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: 如果您有数万名用户,此任务可能会运行很长时间并占用资源。在拥有 5,000 个账户、运行在双核 2GB VPS 上的站点上似乎运行正常,耗时约 30 秒。SQL 查询必然非常繁重的 :warning:

对数据感兴趣?

我使用此功能的初衷仅仅是为了描绘一幅图景。

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

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

配置

设置……如此多的设置:

如果您的站点很大且有很多用户,您会发现图表非常杂乱。考虑提高 最低信任等级,现在还有一个选项可以移除 x 年未见的用户:

待办事项

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

致谢

该可视化基于 强大的 d3 库

类似项目

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

45 个赞

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

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 个赞

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

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