Плагин опроса RSS игнорирует pubDate элементов

Я использую плагин RSS-опроса: RSS Polling

Похоже, он игнорирует поле pubDate для каждого элемента.

Это связано со следующими наблюдениями:

  1. Он импортирует все элементы из RSS-ленты и не позволяет указать, что нужно получать только последние x элементов.

  2. Дата публикации поста в Discourse соответствует дате импорта, а не дате самого элемента.

  3. Элементы не всегда публикуются в правильном порядке.

  4. Если старый элемент RSS изменится (по крайней мере, его guid), будет создан новый пост в Discourse.

  5. Если пост удаляется, плагин воссоздаёт его так, будто он никогда не существовал.

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

Вы правы: pubDate игнорируется. Временная метка темы будет установлена на момент её создания в Discourse, а не на дату первоначальной публикации поста в RSS.

Не уверен, что существует способ предотвратить это. URL элемента ленты (значение его атрибута link) используется для определения, существует ли тема уже в Discourse.

Самое простое решение этой проблемы — скрыть тему из списка вместо её удаления. Тогда она не будет воссоздана.

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

Можно настроить плагин так, чтобы он получал только последние n элементов из ленты на основе pubDate. Тогда, если link у старого элемента изменится, он будет проигнорирован.

Именно это я изначально думал, что означает параметр «Maximum number of posts to embed» (отсюда и часть моей первоначальной путаницы).

В итоге я поступил именно так.

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