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

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

Описание Исследуйте связи между участниками форума в интерактивной 2D или 3D сети.
Репозиторий merefield/discourse-user-network-vis
Установка Следуйте инструкции по установке плагина.
Поддержать разработку Спонсор на GitHub :heart:

Возможности

Представляет ваше сообщество в виде визуализации сети.

Доступ через пункт меню, добавляемый автоматически (можно отключить):

Перейдите к нему, нажав User Network в боковом меню/выпадающем списке или перейдя по адресу yoursite.com/usernetworkvis — обратите внимание, что для просмотра визуализации необходимо быть вошедшим в систему зарегистрированным пользователем.

  • узлы представляют пользователей.

  • связи представляют взаимодействия на вашем форуме — чем больше взаимодействий, тем толще линия

    • взаимодействие — это совокупность лайков и ответов (это те же самые данные, которые доступны на странице профиля пользователя всем пользователям)
  • Наведите курсор на пользователя, чтобы визуально выделить его и его связи.

  • Кликните по узлу, чтобы перейти к его странице профиля.

  • Перетаскивайте узлы и наблюдайте за анимацией :game_die:

  • Масштабируйте весь вид колесом мыши.

:warning: Уровни доверия (Trust levels) в настоящее время отображаются разными цветами. Если вы не хотите этого, установите один и тот же цвет несколько раз. Возможно, я найду другой критерий для установки цвета, но этот был наиболее очевидным и универсальным :warning:

Для обновления данных запустите задачу (job). Это может быть необходимо после изменения настроек (я отметил те, для которых это требуется):

Перейдите по адресу: https://your.site/sidekiq/scheduler и найдите эту задачу:

В противном случае она выполняется каждый час.

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

Теперь должна быть совместима с 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 лайка

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

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