Я импортирую RSS-каналы с помощью плагина RSS Polling. По умолчанию я не добавляю никаких тегов. Вместо этого планируется, что пользователи будут добавлять теги вручную. Однако плагин удаляет теги при следующем обновлении. Например:
РЕДАКТИРОВАНИЕ: Я думал, что это может быть связано с настройкой «Создавать пост при изменении категорий и тегов», но я изменил её, а теги всё равно удаляются. Например:
РЕДАКТИРОВАНИЕ 2: Хорошо, это ещё более странно. Пост утверждает, что некоторые теги были удалены, но теги всё ещё там…
После дополнительных тестов я почти уверен, что проблема заключается в том, что теги автоматически удаляются, если RSS-лента на /admin/plugins/rss_polling не имеет назначенных тегов.
Ожидаемое поведение: Опрашиваемая тема с вручную добавленными тегами не должна редактироваться с целью удаления этих тегов Фактическое поведение: Теги опрашиваемой темы перезаписываются
Привет, кажется, возникла новая проблема. Я только что обновил Discourse до версии 3.3.0.beta4-dev ( 7b8863fcd5 ), и теперь некоторые импортированные сообщения постоянно обновляются при каждой проверке опроса, хотя видимых изменений в diff нет. Вот что у этих сообщений общего:
Все они были импортированы через RSS Polling.
При импорте они получили один тег, установленный в настройках RSS Polling.
Для нас это регрессия. Предыдущую ошибку можно было обойти, добавив тег по умолчанию ко всем RSS-лентам. Тогда теги можно было добавлять вручную без проблем. Теперь наш список «Последнее» засоряется этими повторяющимися обновлениями без изменений.
Обновлено: или, возможно, проблема более специфична или локальна? Ведь не все темы с вручную добавленными тегами обновляются. Я удаляю и снова добавляю теги в некоторых из обновляемых сообщений, чтобы найти закономерность. Я отвечу здесь, как только найду что-либо.
Хорошо, я могу подтвердить эту закономерность для тем, которые снова появляются:
Все они импортируются через опрос RSS.
При импорте они получали одну метку, установленную в настройках опроса RSS.
Мы вручную добавили вторую метку.
Я был сбит с толку, потому что обновляются только некоторые темы с дополнительной меткой, а не все. Однако ответ прост: RSS-лента всё ещё обращается к ним, тогда как старые темы или темы, в RSS-ленте которых есть только недавние записи, логически не активируются.
Если возможно, реализация должна быть максимально простой:
Если импортируемая тема новая, импортируйте метки, определённые в настройках опроса RSS (если они есть).
Если импортируемая тема не новая, вообще не проверяйте метки.
Таким образом, новые импортируемые темы будут поступать с ожидаемыми метками (или без них, если метки не определены), а существующие темы не будут подвергаться изменениям или обновлению из-за вручную отредактированных меток.
Не могли бы вы откатить этот патч до тех пор, пока не будет готово протестированное решение? Наша главная страница «Последнее» занята этими старыми записями, и нам повезло, что мы только начали использовать метки, и вручную помечено лишь несколько записей. В противном случае я могу пока удалить вторые метки…
Вы можете видеть, что удаляется тег “meta-hmd”. Этот тег был добавлен вручную, но при следующем обновлении он удаляется.
Тег “UploadVR” настроен в плагине RSS Polling Plugin.
Как указал @RGJ, импорт встраиваемого контента обнаруживает, что теги изменились, и повторно импортирует пост, удаляя добавленный тег.
Возможно, стоит добавить переключатель для игнорирования изменений тегов тем в Discourse?
Патч, упомянутый @Heliosurge, доступен по ссылке: RSS Polling setting to use pubDate to set the date of imported topics. Для меня это очень актуально в контексте данной темы, поскольку мы заказывали эту функцию, и на нашем сервере установлена версия RSS Polling с этим патчем. У нас уже импортированы тысячи тем с правильными датами, и я боюсь, что установка стандартного плагина RSS для тестирования вчерашнего патча от @featheredtoast может всё сломать, например, приведя к массовому изменению тысяч дат на неверные или к другим проблемам.
К слову, мы уже несколько недель работаем с этой модифицированной версией и импортировали десятки различных лент без единого сбоя. Всё работает отлично и так, как задумано.
@Heliosurge, если вы сможете протестировать исправление здесь, это было бы отлично. Мы почти ежедневно добавляем новые источники, и для нас критически важно сохранять PubDate, так как каждый импорт может содержать десятки или даже сотни записей. В то же время мы можем подождать с решением по тегам.