Удалённые темы приводят к странице ошибки

Пользователь получает письмо, которое заканчивается так:

Я закрою эту тему как дубликат. :+1:


Перейти к теме или ответьте на это письмо.

Однако при клике на ссылку система не знает, какую страницу показать.

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

Я не уверен, на что это будет указывать после удаления обсуждаемой темы. Разве ошибка 404 не будет сигнализировать о том, что тема действительно была удалена как дубликат?

1 лайк

С 301 на другой.

Может ли это быть автоматическим, аналогично тому, как это должно (так ли это?) происходить при слиянии, или решение принимается администраторами, поскольку по определению это 404; этот вопрос можно и нужно обсуждать.

Мне кажется, что настройка перенаправлений в Discourse слишком сложна, но проблема, вероятно, только во мне.

В WordPress у меня есть несколько плагинов, которые помогают решать вопросы с 404/410/301/302. Но WordPress — это немного другой мир по своей архитектуре и количеству пользователей, поэтому, возможно, сравнивать их несправедливо.

Не знаю, можно ли это сделать для ссылки «ответить по электронной почте»?

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

Разве этого недостаточно?

Это не имеет значения. Это никогда не имеет значения, и именно поэтому мы используем редиректы 301. Сломает ли это возможность продолжить обсуждение в теме, на которую ссылается письмо? Вероятно, я не знаю — но при нажатии на эту ссылку пользователь должен быть перенаправлен на форум.

Мы говорим об одном и том же? Как я вижу, здесь два разных сценария/события:

  • что происходит, когда пользователь (или Дэн в данном примере :wink: ) использует кнопку «ответить» в почтовом клиенте
  • что происходит, когда пользователь нажимает на ссылку просмотр темы

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

Если же пользователь перейдет по ссылке на удаленную тему, то он увидит ошибку 404, указывающую на то, что тема больше не существует.

1 лайк

Но в этом примере они не должны так делать. Они должны перенаправлять на ту другую тему — именно поэтому у нас вообще есть 301.

Конечно, насколько я знаю, мы можем это сделать, но это требует слишком много работы — или это только мне так кажется.

1 лайк

Ответ, в котором сообщается, что тема будет удалена, так как она дубликат, — это просто ответ.

Здесь не происходит никаких специальных действий для связывания или объединения тем.

1 лайк

Все, что я знаю, это то, что на github.com, crbug.com, bugzilla и т.д., следуя по старой ссылке, пользователь хотя бы увидит:

#1234 помечен как дубликат #2345,

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

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

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

Github, Bugzilla и другие трекеры задач, а также Stack Exchange, обладают встроенной возможностью закрывать элементы как дубликаты. То есть существует состояние «Дубликат», которое отслеживается.

В Discourse модераторы могут объединять темы путём перемещения сообщений, но, насколько мне известно, нет функционала «закрыть как дубликат» с отслеживанием этого статуса. То, что вы видите, — это просто чьё-то решение: «О, это дубликат, значит, я удалю его».

Это не система, которая выбрасывает информацию. Это модератор или администратор.

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

Если такой функции нет, модератору, возможно, лучше:

  1. Оставить комментарий со ссылкой на другую тему.
  2. Скрыть тему из списка вместо её удаления.
  3. Возможно, закрыть её или пометить для закрытия через неделю.

Таким образом, при переходе по ссылкам не будет возникать загадочных ошибок 404.

1 лайк

Именно так.

Если модератор объединяет посты из одной темы в другую, остаётся закрытый «обломок», ссылающийся на новое место назначения. Этот механизм существует и сегодня.

@jidanni говорит о темах, где модератор принял явное решение не делать этого.

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

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

Чтобы быть предельно ясным: ваша тема по сути сводится к тому, что «удалённые темы ведут на страницу ошибки». Проблемы в самой платформе Discourse нет. Инструменты для слияния и перенаправления уже существуют; вы просто не согласны с тем, как были модерируемы отдельные темы.

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

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

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

3 лайка