Теперь в бета-версии: плагин для просмотра прогресса TL3 пользователями TL2

За последние несколько дней было очень много работы. Но я почти закончил обновление логики для определения следующей ближайшей характеристики: вместо использования процентов теперь учитывается наименьшее фактическое значение, которое можно достичь следующим.

Что касается TL3, которые вот-вот потеряют прогресс, я тоже начал работать над этим. Репозиторий, вероятно, пока не следует использовать, поскольку он находится в промежуточном состоянии между текущим и готовым продуктом.

Хм. Я бы сказал, что они существовали всегда. Я нашел коммит, в котором их переименовали, еще с 2014 года.

Не думаю, что у Discourse был какой-то значительный период развития до этого момента.

Думаю, вам понадобятся отдельные настройки для светлой и темной цветовой палитры. Светло-серый на черном фоне имеет другую контрастность, чем на белом.

Вместо time_period: "Based on last %{num_days} days." можно использовать

time_period:
  one: "Based on last %{count} day."
  other: "Based on last %{count} days."

Тогда вы получите «день» или «дней» в зависимости от числа. Ситуация становится немного сложнее, когда в тексте есть более одного числа, от которого зависят другие слова. Я бы посоветовал избегать использования Message Format.

Интересно, теперь мне нужно задуматься, почему я считаю то, что заметил.
Ещё одна интересная деталь о коммите: он был сделан Джеффом ( coding-horror), что в наши дни встречается редко.

После прочтения:

мне напомнили о проблеме, с которой сталкиваются некоторые пользователи при попытке достичь уровня TL3.

Когда пользователям требуется прочитать определённое количество или процент сообщений, они естественным образом предполагают, что все сообщения, включённые в этот расчёт, видны им. Однако это не всегда так.

Например, если сообщения в приглушённой категории всё ещё учитываются для выполнения требования, то в приглушённых категориях может оказаться достаточно подходящих сообщений, чтобы сделать достижение цели трудным — или, возможно, невозможным — без предварительного отключения приглушения этих категорий и чтения сообщений.

Поэтому плагин должен предоставлять разбивку по категориям, показывающую:

  • сколько сообщений в каждой категории включены в расчёт соответствия требованиям; и
  • сколько из этих подходящих сообщений пользователь уже прочитал.

Это позволит выявить, влияют ли приглушённые категории на прогресс пользователя, и показать, что нужно сделать для выполнения требования — или, как некоторые пользователи могут выразиться, как «обмануть» систему.

Цветовые палитры для светлой/темной темы

Почти готово: отображение статистики, если пользователь рискует потерять статус TL3 (с настройкой минимального порога для предупреждения, если значение статистики ниже этого уровня).

Дело в том, что даже в ядре Discourse нет такой индикации. Изначальная идея заключалась в том, чтобы предоставить пользователям ту информацию, которую видят сотрудники. Думаю, это может выходить за рамки возможностей плагина. Но мне хотелось бы узнать об этом больше. Вы имеете в виду, что в не приглушенных категориях недостаточно постов для выполнения требования, а недостающее количество можно получить из приглушенных категорий?

К тому же, как это должно работать? Получать все посты, созданные в заданном временном интервале, проверять, к какой теме каждый из них принадлежит, проверять идентификатор категории, сравнивать его с приглушенными категориями пользователя, а затем добавлять в счетчик? Или, может быть, какой-то оптимизированный SQL-запрос…

Не обязательно, хотя в крайнем случае это может быть правдой.

Периодически, помогая пользователям, мы замечали, что счётчик прочитанных сообщений у одного пользователя рос быстрее, чем у другого. Часто разница заключалась в том, что более активный читатель не заглушал определённые категории. Темы из этих категорий, следовательно, отображались в его списках тем и с большей вероятностью прочитывались.

Когда другой пользователь отменял заглушение категории, больше тем становилось видимым в его обычных просмотрах, и его дневной счётчик прочитанных сообщений увеличивался, примерно сравниваясь с показателем другого пользователя.

Да. Сообщения в этих категориях учитываются, когда они фактически читаются. Однако заглушение категории может косвенно замедлить прогресс пользователя, поскольку его темы скрыты из таких представлений, как Последние, и поэтому их легче пропустить.

Много лет назад требование к чтению сообщений на форуме OpenAI базировалось в основном на проценте активности форума, без нижнего предела, который существует во многих текущих конфигурациях. На очень активном форуме это могло требовать чтения 10 000 и более сообщений.

Некоторые пользователи заметили, что общие показатели прочитанных сообщений других участников, отображаемые в справочнике пользователей, росли гораздо быстрее, даже несмотря на то, что они читали все видимые сообщения, которые могли найти. После некоторых расследований было установлено, что причиной являлись заглушённые категории: значительное количество доступных сообщений не отображалось в их обычных списках тем.

Вот как я бы попробовал сделать это в первую очередь.

Хорошо, я добавил функцию отображения наименьшего показателя, если пользователь находится выше уровня TL3. Я подготовил запросы для подсчета количества тем и сообщений в заглушенных категориях и сейчас работаю над их интеграцией в интерфейс.

Бинго: @EricGT Я добавил отображение того, заблокирован ли пользователь, а также количество тем и сообщений в заглушённых категориях, и скоро ли пользователь потеряет уровень TL3. Я жду ответа на How do I access topics in muted categories? с правильной ссылкой для просмотра этих заглушённых тем.

Обновил ссылку, чтобы она указывала только на /u/<username>/preferences/tracking. Если больше ничего нет, я перейду к созданию темы Customization > Plugin!

Звучит здорово, спасибо, что разработали и поделились этим!

Мне интересно, можно ли использовать эту базу для аналогичного прогресса, связанного с бейджами. Наша система кармы/челленджей (ранее называлась «аплодисменты/бейджи») и уровней доверия является кастомной, и для нашего сообщества индикатор прогресса, связанный с челленджами/бейджами, подошел бы лучше всего.

Это было опубликовано на See TL3 Progress :tada: !