Исключить определенные категории из уровней доверия

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

Всем привет,

Я возвращаюсь к этой теме, так как нам нужно узнать, возможно ли это реализовать.

По сути, мы ищем плагин или функцию, которая исключает определённые категории из расчёта прогресса уровней доверия.

Поделись, пожалуйста, своим мнением и возможной стоимостью такой разработки.

Заранее спасибо!! :slight_smile:

2 лайка

Communiteq поддерживает плагин для этого случая:

2 лайка

Ах, извините.. Я прочитал TL как список тем.. Для уровней доверия я не знаю существующего решения.
В любом случае, может быть, лучше явно указать уровни доверия в заголовке?

3 лайка

Да, конечно, я уже это исправил. Спасибо в любом случае :slight_smile:
Надеюсь, кто-нибудь сможет помочь.

3 лайка

Я прочитал тему, на которую вы ссылаетесь… Мне кажется, вы смотрите на это слишком просто. Если вас устраивает получение уровня доверия по умолчанию, то большинство постоянных участников со временем получат уровень «Member» (15 не последовательных дней, если я не ошибаюсь). А для достижения уровня «Regular» участнику нужно посещать форум 100 дней подряд. Поэтому я не вижу, как активность в конкретных разделах могла бы сильно повлиять на эти базовые расчеты посещаемости. По умолчанию уровень «Member» не должен быть серьезным препятствием для любого участника. В то время как уровень «Regular» требует довольно выдающейся вовлеченности.

Тем не менее, вы также можете посмотреть:

С помощью этого плагина, возможно, можно будет изменить несколько настроек «из коробки». Или же попросить разработчиков добавить для вас соответствующую настройку.

5 лайков

Привет, @Shirly_Nowak,

Это возможно, но будет непросто. Я бы настоятельно рекомендовал вам рассмотреть другой подход. Если вы твёрдо намерены это сделать, возможно, @merefield или @Ahmed_Gagan согласятся попробовать (они — ваши лучшие варианты).

7 лайков

Например, вы можете определить условия с помощью пользовательской значки. Например, «Почётный участник»… не платил денег, но выполнил xyz и получил бесплатное членство в награду.

4 лайка

Всем привет и спасибо за все ваши предложения.

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

Сообщество предназначено для каждого, кто хочет приобрести членство, оно не бесплатное.
Как только вы вступили, наши стимулы к участию и быть хорошим членом таковы: чем лучше вы (и чем выше ваш уровень доверия), тем меньше вы платите — так, что участники с уровнем доверия 4 не платят вовсе.
Но (и именно здесь эта функция нужна нам для обеспечения справедливости): внутри одного и того же сообщества у нас есть отдельная категория для наших студентов, где они могут получать поддержку по учебным материалам и т. д. Проблема, которую мы видим, заключается в том, что если все участники входят в одинаковых условиях (даже если вы студент и имеете доступ к этой специальной категории), у студентов появляется преимущество в повышении уровня доверия, поскольку они могут получать доступ к большему объёму контента в сообществе (целая категория), читать больше, комментировать больше, ставить лайки больше и так далее. То, чего не может сделать участник, не являющийся студентом.

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

Для нас это кажется самым справедливым вариантом.

2 лайка

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

2 лайка

Достичь 4-го уровня доверия, просто участвуя на форуме, невозможно — вас должен повысить вручную администратор.

3 лайка

Да, мы это знаем. Участники, достигшие уровня доверия 3 и являющиеся наиболее ценными для сообщества, будут нами (администрацией) повышены до уровня доверия 4 (точно так же, как и в любом другом сообществе на Discourse — это не меняется).

1 лайк

Привет, @manuel, думаешь, это возможно реализовать с помощью бейджей? Имею в виду: если бы я создал бейдж «Почётный участник», какие условия он мог бы требовать? Мне нужно, чтобы это было не просто «опубликовано X сообщений» или «прочитано X сообщений», а более сложный бейдж, удовлетворяющий нескольким условиям (именно поэтому мы изначально выбрали уровни доверия, но, возможно, мы могли бы найти альтернативу…)
Заранее спасибо за всю вашу помощь, я люблю это сообщество :slight_smile:

3 лайка

По моему пониманию, значки могут удовлетворять любому количеству условий, которые вы можете описать в SQL-запросе. Мне известны две темы с примерами:

Кроме того, вам, вероятно, потребуется использовать плагин, например Discourse Automation или Data Explorer, чтобы связать значок с результатом действия — автоматически или вручную.

В этом контексте вы также можете отказаться от значков и просто использовать периодический SQL-запрос через Data Explorer для ручной выдачи бесплатного членства пользователям, соответствующим условиям запроса.

4 лайка

Вы рассматривали возможность использования членства в группах?

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

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

Что касается идеи с бейджем от @manuel, если я не ошибаюсь, полученный бейдж, вероятно, может добавить участника в группу?

2 лайка

Спасибо @manuel, думаю, теперь нам предстоит разобраться, можно ли в запросе для бейджа указать условия, аналогичные тем, что в уровнях доверия: например, время, проведённое в сообществе, количество отданных или полученных лайков… Мне кажется, это может оказаться сложным :confused:

1 лайк

Привет, Дэн!
Да, у нас действительно есть группа для студентов, но проблема в том, что эта группа имеет доступ к некоторому контенту, недоступному другим пользователям. Из-за этого их показатели могут расти быстрее, чем у других пользователей, не входящих в эту группу.

Мы могли бы попробовать создать бейдж, но я не уверен, что можно настроить так много и столь специфичных условий (например: бейдж, выдаваемый, когда пользователь сделал X постов + ответил X раз + получил X лайков + поставил X лайков и т. д., и всё это только в некоторых категориях, а не во всех).

2 лайка

@ganncamp доработал запрос в похожей области, который может послужить вам отправной точкой?

4 лайка

Это выглядит интересно. Я не эксперт в программировании, поэтому в такой массе информации легко запутаться, но, возможно, это будет полезно. Как вы думаете, мы могли бы привязать этот запрос к бейджу? То есть: когда пользователь выполняет все условия запроса, ему выдаётся специальный бейдж. Считаете ли вы это возможным?

Извините, если это вопрос новичка. Я полностью погружён в административные вопросы, но в программировании просто теряюсь…

2 лайка

В зависимости от вашей ситуации с хостингом, вы можете создать собственные автоматические пользовательские SQL-бейджи — Creating triggered custom badge queries

Однако также можно выполнить похожий пользовательский запрос в Data Explorer и экспортировать результаты в формате CSV, чтобы загрузить их в Bulk Awarder на соответствующей странице бейджа. @pfaffman недавно также предложил, что этот процесс можно оптимизировать с помощью API, но я ещё не изучал этот вариант. :slightly_smiling_face:

Я думаю, что недостающее звено — это то, как автоматически добавлять пользователей с такими бейджами в группу. Возможно, плагин автоматизации, как предложил @manuel, или, может быть, использование API?

5 лайков

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

Нам нужен пользовательский плагин, изменяющий поведение уровней доверия

вы могли бы просто сформулировать запрос так:

Нам нужен SQL-запрос, возвращающий список пользователей, удовлетворяющих условиям xyz. Мы хотим использовать этот запрос для значка или просто запустить его через Data Explorer.

Это будет значительно дешевле и практически не потребует будущих затрат на поддержку или усложнения вашей настройки.

6 лайков