Лучший способ временно ограничить публичный доступ к темам пользователя?

Привет! У меня есть давний пользователь, который просит временно удалить все свои темы по личным причинам. Если ситуация изменится, эти темы можно будет восстановить в будущем. В то время как они находятся в состоянии «удалено», темы не должны быть доступны публично, даже если у кого-то есть прямая ссылка на них; при этом все они сейчас проиндексированы поисковыми системами. Я изучил следующие темы:

Насколько я понял:

  • Преобразование их в личные сообщения (PM) всё ещё позволит видеть их другим пользователям, которые участвовали в обсуждении, поэтому этот вариант не подходит.
  • Архивирование и скрытие из списка (unlist) всё равно позволяют получить доступ тем, кто знает URL.
  • Перемещение в приватную категорию для сотрудников усложнит их последующее возвращение в нужную категорию.

Получается, что лучший вариант — «удаление» этих тем? При условии, что у меня не включена функция окончательного удаления, они останутся в базе данных неограниченно долго с возможностью массового восстановления, верно?

Работает ли кнопка массовых действий со всеми темами пользователя сразу или только с теми, что загружены на текущей странице?

Есть ли способ различать удалённые ответы и удалённые темы? Страница /u/name/deleted-posts показывает всё вместе. Вот это, похоже, показывает только темы:
/filter?q=status:deleted%20topics%2Ccreated-by%3A%40Username
Хотя я не до конца понимаю, почему синтаксис выглядит как status:deleted<пробел>topics. Есть ли аналогичное решение только для удалённых ответов?

/?status=deleted, кажется, показывает скрытые из списка темы вместе с удалёнными. Не совсем понятно, почему это так, ведь есть отдельный фильтр /?status=unlisted.

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

В идеале мне бы хотелось иметь настройку, делающую архивированные темы недоступными для публики.

Заранее спасибо за помощь. Я просто хочу быть на 100% уверен в своих действиях, чтобы не создать себе административный хаос в будущем.

Привет @rahim123. :wave:

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

В руководстве обратите внимание на раздел «Неподходящий контент». :slight_smile:

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

Вы имеете в виду только их темы или все их посты?

И важно скрыть контент или имя пользователя?

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

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

Это будет хаос. :slight_smile:

Я хотел предложить анонимизировать аккаунт, но это не решит вашу задачу в полной мере.

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

Удачи! :crossed_fingers:

Похоже, то, что хочет ОП, — это функция, похожая на «Глобальный игнор» в vBulletin.

Если вы не знакомы с ней, она просто оставляет все сообщения и темы пользователя на месте, но делает их недоступными для неадминистративных аккаунтов, пока они не будут удалены из списка. Это одна из немногих функций vBulletin, которых мне не хватает в Discourse. :slight_smile:

Спасибо всем за ответы.

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

О, это интересно:

Глобальное игнорирование
Эта опция позволяет эффективно добавить пользователя или пользователей в «Список игнорирования» каждого участника. Однако пользователи в этом списке всё ещё могут видеть свои собственные сообщения и темы…

Введите список идентификаторов пользователей, разделённых пробелами (например: 4 12 68 102).

https://www.vbulletin.com/docs/html/main/options_userbanning

Действительно, это интересно. Хотя я не думаю, что этого будет достаточно в данном конкретном случае, если бы там были ссылки «посмотреть скрытый пост» или если содержимое поста было скрыто через CSS в HTML. Для моих целей первая ссылка должна возвращать ошибку 404 для пользователей, не входящих в штат.

Ладно, мне теперь нужна эта функция. :sweat_smile: Это что-то вроде функции «теневой блокировки».

По сути, это то же самое, что и теневой бан, верно? :wink:

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

Да, и я на самом деле забыл, что такой плагин существует :laughing:

Мне не приходилось использовать такой вид бана уже очень давно. У меня на одном из инстансов строка для этого плагина всё ещё закомментирована :slight_smile:

Люди могут решить, хотят ли они создать тему #feature; Глобальное игнорирование — интересная функция для vB, но для меня лично это не кажется полезным инструментом. Я в основном веду небольшие сайты, где все друг друга знают.

Это заставило меня задуматься, @rahim123: я не претендую на понимание, почему вы идёте им навстречу, но для моих крошечных сайтов я бы так не поступал. Если кому-то нужно уйти, я бы сказал, что могу анонимизировать их вклад, но это противоречит соглашению, которое у нас есть для нашего маленького сайта.

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

Я не высказываюсь о теневом бане как о инструменте, потому что это запутанная тема в сети, но «запросимый пользователем теневой бан (по личным причинам)» в виде переключателя кажется сложным для продажи. :thinking:

Я, вероятно, попытался бы найти компромисс: «пометьте темы, которые вы хотите удалить, а затем я деактивирую вашу учётную запись».

В данном случае я удовлетворю запрос пользователя с учётом деталей конкретной ситуации.

Я выполнил удаление. Удалённые темы останутся в базе данных навсегда, верно? Автоматического безвозвратного удаления нет?

При необходимости я могу получить список удалённых тем с помощью:
/filter?q=status%3Adeleted%20topics%2Ccreated-by%3A%40Username
К сожалению, похоже, что массового восстановления нет. Звучит ли это как разумная просьба хотя бы реализовать такую возможность в Discourse? Или есть какой-то другой способ сделать это через графический интерфейс?

Вы видели этот пост?

Да, спасибо, я не увидел ничего о массовом восстановлении?

Да, не знаю. Массовое удаление и восстановление постов пользователей, как в данном случае, — это не то, что я часто встречал.

Если бы речь шла только об их темах, я бы предложил массово перенести их в Staff или в новую категорию с аналогичными ограниченным правами доступа.