Визуализация сетевых сообществ

Сводка: Визуализация сети пользователей

: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: Если у вас десятки тысяч пользователей, эта задача может выполняться очень долго и потреблять много ресурсов. На сайте с 5000 аккаунтов, работающем на VPS с 2 ядрами и 2 ГБ ОЗУ, она выполняется примерно за 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 лайка

Теперь должна быть совместима с Discourse, использующим Ember CLI: 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 лайка

Да, ссылка есть, но сама карта остаётся пустой при использовании мобильных устройств.

Если это особенность, то не следует ли скрывать кнопку-гамбургер, когда пользователь использует экран меньшего размера?