Заголовок уже использовался (в защищённой категории)

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

4 лайка

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

Если это личное сообщение, то это уже другой вопрос.

Я бы поспорил, что так и должно быть. В чём обоснование этого правила?

По сути, дублирование слага / заголовка. Так и задумано с момента создания в 2013 году.

Такова логика, но, на мой взгляд, это не совсем убедительное обоснование… Что именно мы пытаемся исправить или предотвратить с помощью этого правила?

Почему это внезапно стало проблемой, если так было с 2013 года :thinking:

Я бы хотел увидеть 3–4 сообщения о проблемах от клиентов, прежде чем предпринимать какие-либо действия. Я не принимаю решений на основе одного примера.

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

Справедливо, что мы пока не принимаем мер, но это всё равно нужно зафиксировать (на случай, если поступят ещё два).

5 лайков

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

Потенциальная путаница между

http://discourse.example.com/t/upgrading-discourse/8922
http://discourse.example.com/t/upgrading-discourse/7451

— весьма существенна.

Один из них имеет последствия для безопасности, а другой просто запутывает…

Но всё в порядке. Давайте оставим это здесь на будущее, никаких действий сейчас не требуется.

2 лайка

Единственное место, где дублирование слаг-имен действительно имеет значение, — это SEO. Если одно из них находится в защищённой категории, и мы всегда говорим о том, что менее защищённая тема создаётся второй, то surely это не станет фактором?

Приветствую, это Posterity. Мы создаем несколько приватных категорий, каждая из которых содержит одни и те же темы, но столкнулись с этой проблемой. Есть ли способ обойти её?

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

4 лайка

Пожалуйста, рассмотрите возможность отображения идентификатора конфликтующей темы в сообщении об ошибке.

Когда обновление темы не проходит проверку уникальности заголовка (has_already_been_used), в ошибке не указывается, какая именно тема вызывает конфликт. Это особенно проблематично, поскольку проверка выполняется против Topic.listable_topics, поэтому конфликтующая тема может быть скрыта из списка. Нет прямого пути от ошибки к причине; сотрудникам приходится знать, что нужно искать с фильтром status:unlisted и гадать относительно вариаций категории или формулировки.

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

{“errors”: [“Заголовок уже используется”], “conflicting_topic_id”: 12345}

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

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

2 лайка

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

1 лайк

Эта тема была автоматически закрыта через 7 дней после последнего ответа. Новые ответы больше не допускаются.