У нас сайт с членством: мы приостанавливаем учётные записи пользователей при истечении срока членства и восстанавливаем их при продлении. Однако это имеет побочный эффект: автоматически формируется история нарушений, которую нам приходится вручную очищать при продлении.
Мы могли бы изменить подход к работе с истёкшими членствами, создав собственную группу «Члены» и добавляя/удаляя из неё пользователей по мере необходимости, но на данном этапе нам проще заставить работать механизм приостановки.
Поэтому мой вопрос: можно ли просто отключить счётчик нарушений в Discourse? Мы очень доверяем нашим членам и можем справиться с редкими нарушителями без этой функции.
Или, если у пользователя уже есть история нарушений и он находится на уровне TL2 (наш уровень по умолчанию), влияет ли наличие этой истории на него каким-либо образом или она видна остальным членам сообщества? Если нет, то мы можем просто оставить историю нарушений без изменений и не беспокоиться об этом.
Это не совсем то, для чего функция приостановки изначально предназначалась, но для сайтов на платформе Discourse с моделью членства это распространённая практика. Помимо того, что приостановленный пользователь не может быть повышен до более высокого уровня доверия во время приостановки, я не думаю, что есть какие-либо побочные эффекты от такой блокировки.
Возможная проблема заключается в том, что сотрудники увидят ссылку на историю предыдущих приостановок пользователя на его странице профиля:
Вместо приостановки можно деактивировать аккаунт, чтобы Discourse перестал отправлять им письма до тех пор, пока они его не реактивируют. И, как я понимаю, вы знаете, как исправить это, когда они снова подпишутся.
Похоже, что можно нажать «Заметки о пользователе» в разделе администратора/пользователя и удалить приостановку. Это работает у вас?
Это не сработает во многих сценариях. Деактивированный пользователь просто должен попытаться войти в систему, а затем перейти по ссылке в письме с активацией, которое отправляет им Discourse.
Думаю, что либо приостановка пользователей, либо изменение членства в группах по истечении подписки — это единственные способы решить эту проблему.
Всё верно. Мне показалось, что они управляют входом во внешнюю систему, поэтому отключение должно было бы прекратить отправку писем, а также запретить вход через их систему SSO.
Это уже не раз поднималось в прошлом. Изначальная реакция команды Discourse заключалась в том, что для этого не предназначено приостановление аккаунтов. Сейчас, похоже, принято, что это допустимый подход.
Если есть какие-либо реальные санкции, об этом следует указать. Но я не думаю, что они есть.
В данном случае мы действительно управляем входом во внешнем режиме и блокируем доступ к форуму на основе идентификаторов участников WordPress с помощью хука wpdc_sso_provider_before_sso_redirect. Но, возможно, это уже не имеет значения, и метод приостановки подойдёт нам.
Другой вопрос, который у меня был (и на который я нашёл ответ с помощью поиска), касался сводок по электронной почте и уведомлений для приостановленных пользователей. Похоже, что они могут всё ещё получать некоторые личные сообщения, но в остальном им не будут отправляться письма, если они приостановлены.
Я предполагаю, что для метода с пользовательской группой ситуация будет аналогичной, хотя, возможно, менее элегантной. То есть, если участник истёк и удалён из основной группы «участник», он всё ещё теоретически может получать некоторые формы сводок активности, если существуют категории, видимые за пределами группы «участник».
Это верно. Только сотрудники могут отправлять сообщения приостановленным пользователям.
Это может быть более или менее элегантно в зависимости от вашего случая использования. Поскольку вы используете плагин WP Discourse с входами через DiscourseConnect, вы можете управлять членством в группах по адресу Manage group membership in Discourse with WP Discourse SSO. Для настройки потребуется некоторая разработка, но вспомогательные функции, предоставляемые плагином, очень полезны.