Изменения в том, какие реакции 👍 считаются лайками ❤

До сих пор плагин Discourse Reactions позволял учитывать только одну реакцию как «лайк» :heart: для целей ранжирования тем и выдачи значков.

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

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

Обратите внимание: по умолчанию реакция «лайк» — это :heart:, но её можно изменить на :+1: или любую другую реакцию, которая лучше подходит для вашего сообщества. После того как ваш сайт устоялся, менять это не рекомендуется. Исторические записи лайков не будут изменены, если это значение будет изменено. Лучше установить его один раз и больше не трогать.

Мы уже внедрили это изменение на Meta, и скоро оно будет доступно всем сайтам, использующим реакции.

Технические детали

Логика заполнения данных изначально отключена настройкой сайта discourse_reactions_like_sync_enabled. Через несколько недель мы удалим эту настройку и запустим первоначальную миграцию, которая заполнит записи PostAction для реакций, которые не являются discourse_reactions_reaction_for_like (по умолчанию это :heart:) и не находятся в списке discourse_reactions_excluded_from_like. Не рекомендуется изменять эту настройку после того, как ваш сайт уже устоялся, так как мы не будем выполнять историческую очистку. Некоторые сообщества имеют сотни тысяч, если не миллионы, записей о лайках.

При любом изменении discourse_reactions_excluded_from_like мы будем корректировать историю с помощью фоновой задачи. Любые реакции, добавленные в список запретов, приведут к удалению соответствующих записей PostAction, а любые реакции, удалённые из списка запретов, приведут к созданию соответствующих записей PostAction. Мы также корректируем историю каждый час в рамках запланированной задачи, если discourse_reactions_like_sync_enabled включён.

Отказаться от этого невозможно — если вы не хотите, чтобы какие-либо реакции считались лайками, кроме стандартной discourse_reactions_reaction_for_like, то вам следует добавить все ваши discourse_reactions_enabled_reactions в список discourse_reactions_excluded_from_like.

56 лайков

Значит ли это, что :eyes: считается лайком?

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

6 лайков

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

12 лайков

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

Возможно, это не следует считать реакцией, а скорее ответом, так как это ни позитивная, ни негативная реакция. Представьте это как ответ, который не вызывает уведомления, но дает другим знать, что пост был просмотрен.

Если бы я знал, что :eyes: в итоге будет считаться позитивной реакцией, я бы никогда не предложил использовать :eyes:.

5 лайков

Что случилось с моей реакцией :eyes: на первый пост? Она была, а теперь исчезла?

4 лайка

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

Не уверен. Если вы нажали на неё второй раз, она снова будет удалена (в пределах стандартного 10-минутного окна, то есть).

7 лайков

Кого это волнует? Единственный смысл этого — подсчёт требований к уровням доверия.

5 лайков

Да, это отлично! Большое спасибо за это!

Я просто хочу убедиться, что правильно понял:

Получается, если я хочу исправить историю, мне нужно включить эту настройку, а через 2–3 часа отключить её? И новые реакции всё равно будут корректно синхронизированы?

3 лайка

Отлично, @tobiaseigen. С нетерпением ждем этих изменений!

Наше сообщество обожает хорошие реакции. :smiley:

10 лайков

Я понимаю, что он имеет в виду. Если он сам не изменил :eyes: на :heart:, то, похоже, это сбой? Возможно, как показывает это изображение, он лайкнул пост.

5 лайков

В первый раз я не заметил его аватар там. Хм. :thinking:

Я увеличил post undo action window mins, изменил свою реакцию на :eyes:, и, кажется, он всё ещё там?

Если мы обнаружим ещё, то можем создать #баг-репорт. :+1:

5 лайков

Только что снова попробовал :eyes:. Вот скриншот.

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


Попробовал снова с :exploding_head:

На этот раз удалось запечатлеть ошибку.

и обновлённый экран.

4 лайка

Ах, я снова сбросил временное окно до 10 минут (после этого времени нельзя удалить лайк или реакцию), так что, думаю, это ожидаемо. Но понаблюдайте, не произойдёт ли чего-то странного с другим постом, когда вы попробуете снова. :eyes:

И если вы нажмёте на реакции слева, откроется информационное окно для них, а не только для лайков.

8 лайков

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

7 лайков

Это странно глючит: либо они считаются и реакцией, и лайком одновременно:



Или они считаются лайком, когда не должны:


На самом деле здесь есть ещё одно поведение на Meta: кроме :heart: реакций не существует!

4 лайка

Я не совсем понимаю скриншоты и отчёт… что вы имеете в виду, когда говорите, что реакции «учитывают и реакцию, и лайк, или считаются только лайком, когда не должны»? Вы просто имеете в виду, как реакции и лайки отображаются в пользовательском интерфейсе?

Я не понимаю… на Meta я вижу и реакции, и сердечко, и даже на вашем скриншоте я вижу реакции?

3 лайка

Привет :waving_hand:

Спасибо за это изменение. Это именно то, чего мне действительно не хватало. :heart:

Я включил discourse_reactions_like_sync_enabled 10 дней назад. Теперь все бейджи и другие элементы, связанные с :heart:, можно переименовать в «реакции»? Например, бейджи Вклад в сообщество, Хорошая тема и другие, связанные с лайками, теперь должны называться «реакциями» в их описании, а Первый лайк должен стать «Первой реакцией». При этом бейдж «Первая реакция» должен быть удалён, или наоборот, поскольку теперь они означают одно и то же.

Конечно, это применимо только в том случае, если установлен плагин реакций.

То же самое касается Discourse Gamification: теперь она учитывает и реакции, поэтому показатель «рейтинг лайков» будет означать «рейтинг реакций».

И так далее. Вероятно, есть ещё много мест, где это может вызвать путаницу.

Правильно ли я мыслю в этом вопросе?

Спасибо :slightly_smiling_face:

5 лайков

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

Однако не уверен, стоит ли нам усложнять себе жизнь, меняя терминологию, описывающую лайки и :heart:, во всём интерфейсе Discourse, например на странице значков, странице пользователей, профилях пользователей и т. д. Большинство пользователей сайтов не увидят разницы между лайком и реакцией или не поймут, какие реакции не считаются лайками. Поэтому я предлагаю оставить всё как есть. В этих местах :heart: и «лайк» включают лайки и положительные реакции, но исключают любые реакции, указанные в настройке администратора «reactions excluded from like».

5 лайков

Спасибо за ответ! Да, я с вами согласен. Но, к сожалению, я потратил много времени на то, чтобы объяснить нашей сообществу разницу между :heart:, :heart_eyes:, :hugs:, :+1: и другими реакциями. Поэтому мне нужно выполнить этот шаг и переименовать их повсюду. Я не использую негативные реакции, поэтому каждая реакция считается лайком. Существует множество мест, например, документация об уровнях доверия, геймификации и других аспектах. Лимит лайков в настройках сайта TL и связанные системные модальные окна: если пользователь достигает этого лимита, теперь это означает лимит реакций, а также иконка :heart: в списке тем и другие уведомления о лайках должны использовать, например, икону discourse-emojis. Однако это актуально только для меня, и я согласен, что менять это в ядре не обязательно.

4 лайка

Это хороший отзыв… Вы, вероятно, не одиноки в этом мнении. Что бы вы предложили изменить?

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

3 лайка