Внимательно подумайте перед установкой этого плагина. 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: выберите способ отображения статуса онлайн на аватарах пользователей. По умолчанию «кольцо»
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
Спасибо за этот отличный плагин.
Есть несколько предложений:
Можно ли отображать количество всех зарегистрированных пользователей, а не только активных? Сейчас, если кто-то зашёл, но не опубликовал сообщение и не поставил реакцию, он не учитывается.
Можно ли добавить количество посетителей (тех, кто не авторизован)?
Спасибо за эту замечательную работу! Надеюсь, вы рассмотрите возможность внедрения этих улучшений, хотя не уверен, насколько это возможно или просто реализуемо.
Есть ли компонент для отображения «Кто онлайн»? Это довольно старая и базовая функция форумов. Не похоже, что её доступ должен быть ограничен для более высоких уровней подписки?