Внимательно подумайте перед установкой этого плагина. Discourse предназначен для асинхронных обсуждений, и список онлайн-пользователей может быть вреден для некоторых сообществ.
Этот плагин предназначен для сообществ с <100 одновременными авторизованными пользователями. Установка на более крупных сайтах возможна, но, скорее всего, негативно скажется на производительности всего форума.
Также он может отображать статус онлайн пользователя на его аватаре. Это может быть «кольцо», «свечение» или значок «флажка» в левом верхнем углу.
Плагин использует MessageBus для поддержания актуальности данных, поэтому статус пользователя отображается в реальном времени. Пользователи, которые включили настройку «скрывать профиль и присутствие», не будут отображаться. Вы можете настроить множество параметров с помощью доступных настроек сайта и языковых строк:
Настройка
Они доступны в разделе «плагины» панели настроек администратора.
whos_online_active_timeago: максимальное время «последнего визита», в течение которого пользователи считаются онлайн (в минутах)
whos_online_collapse_threshold: количество пользователей, при котором аватары начинают перекрывать друг друга (см. гифку выше). Установите очень высокое значение, чтобы отключить эту функцию
whos_online_maximum_display: максимальное количество отображаемых аватаров. Цифровой счетчик все равно будет показывать значения выше этого. Выбор того, кто будет отображаться, в настоящее время непоследователен
whos_online minimum_display: минимальное количество отображаемых аватаров. Ниже этого значения отображается сообщение «пользователей онлайн нет».
whos_online_hide_below_minimum_display: если включено, виджет будет полностью скрыт, когда количество пользователей меньше minimum_display
whos_online_display_public: должен ли плагин отображаться людям, которые не авторизованы? По умолчанию true.
whos_online_display_min_trust_level: минимальный уровень доверия, при котором отображается этот плагин. По умолчанию 0
whos_online_avatar_indicator: выберите способ отображения статуса онлайн на аватарах пользователей. По умолчанию «ring»
whos_online_avatar_indicator_topic_lists: отображать индикаторы аватаров в списках тем на мобильных устройствах и в представлении «Категории и Последние». По умолчанию выключено.
whos_online_count_only: при включении отображается только количество. Идентичности онлайн-пользователей не раскрываются
Языковые строки фронтенда
Они доступны в панели администратора в разделе Настроить → Текстовое содержимое (ищите whos_online). Включают:
js.whos_online.no_users | «Сейчас нет пользователей онлайн»: сообщение, отображаемое, когда количество пользователей < настройки whos_online minimum_display.
js.whos_online.title | «Онлайн ({{count}})»: текст, отображаемый перед списком аватаров. {{count}} — количество пользователей онлайн.
js.whos_online.tooltip | «Пользователи, виденные за последние 5 минут»: текст, отображаемый при наведении курсора на текст.
Обратите внимание, что этот плагин (по крайней мере, на нашем форуме) выводит следующее сообщение. При отключении плагина сообщение исчезает. У кого-нибудь ещё возникает эта проблема? У нас сервер с избыточной мощностью для количества активных пользователей. Используем Lightsail: 8 ГБ ОЗУ, 2 vCPU, 160 ГБ SSD, Ubuntu.
Этот плагин действительно хорош, особенно с включенным чатом. Однако я подумал, не могла бы быть добавлена функция интеграции с личными настройками пользователя для скрытия собственного статуса, аналогично другим чат-приложениям.
Я всегда считал эту опцию излишней. Функция «невидимки» является стандартной для онлайн-индикаторов и не должна требовать полного отключения профиля. Это одна из причин, по которой я не включил этот плагин для пользователей без прав администратора.
Я не заметил этого свойства, но быстрый поиск в Google показал, что оно есть в интерфейсе.
Возможно, я создам тему с предложением разработчикам Discourse перенести скрытие профиля в заголовок профиля. Это кажется более логичным. Интерфейс больше связан с макетом и настройками.
Да, всё работает так, как вы сказали.
Мне очень нравится ваш плагин, я ценю вашу работу и быструю реакцию. У нас небольшой форум Discourse с более чем 100 пользователями, и одновременно онлайн редко бывает больше 4, но приятно иметь такую возможность вместе с чатом.
Интересно, можно ли сделать из этого компонент темы для отображения базовой информации, а не всех этих деталей, например, только количество посетителей за последние 5 или 10 минут.
Привет, @david
Спасибо за этот отличный плагин.
Есть несколько предложений:
Можно ли отображать количество всех зарегистрированных пользователей, а не только активных? Сейчас, если кто-то зашёл, но не опубликовал сообщение и не поставил реакцию, он не учитывается.
Можно ли добавить количество посетителей (тех, кто не авторизован)?
Спасибо за эту замечательную работу! Надеюсь, вы рассмотрите возможность внедрения этих улучшений, хотя не уверен, насколько это возможно или просто реализуемо.
Есть ли компонент для отображения «Кто онлайн»? Это довольно старая и базовая функция форумов. Не похоже, что её доступ должен быть ограничен для более высоких уровней подписки?