2008-10-08 34 views
3

使用Thunderbird feed阅读器阅读我的RSS提要时,某些条目将被复制。 Google阅读器没有相同的问题。为什么我的RSS提要重复一些条目?

这里是错误的饲料 http://plcoder.net/rss.php?rss=Blog

这里有一个问题,但在哪里呢?

问候, 塞德里克

更新:我补充GUID,但问题仍然存在。另一种饲料并不像我的那样复制,所以我会重新研究这个模块并替换这个旧的好代码。

结论:我重新完成rss生成器代码,并没有问题。我想我正在使用一个非常旧的RDF版本。

+0

为什么在我的问题上添加了“offtopic”标签?我试图解决有关RSS规范的开发软件问题。我把我自己的rss提要,因为错误是在我的CMS上。 任何人都可以解释为什么offtopic? – 2008-10-08 14:10:14

回答

7

尝试为每个项目添加一个<guid>标记,并给它一个固定链接。即:

<item rdf:about="http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete"> 
    <link>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</link> 
    <guid>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</guid> 
    ... 
</item> 

没有一个GUID,如果有在后的内容发生变化的,你的RSS聚合器会认为这是一个新的职位。使用GUID,即使该项目的内容发生变化,您的RSS聚合器应该只是更新帖子,而不是将其视为新项目。

-1

雷鸟与复制进条目的一些错误,也许它只是其中一个出现?

1

我已经遇到了一些我自己的饲料这个问题。发生了什么是我开始与这样的条目列表:

Item A 
Item B 
Item C 

客户端下载它们,一切都很好。然后我添加一个新项目,因此该提要的内容如下:

Item D 
Item A 
Item B 

D显示在阅读器中。

但后来我决定,我不希望这样的项目,因此列表恢复到:

Item A 
Item B 
Item C 

当雷鸟读取这一点,就指望C作为一个新的项目。我am使用GUID元素,所以我怀疑这是问题。我认为这与Thunderbird的解析器没有考虑更旧的元素有关。

啰嗦的解决方法是“记住”你已经发布了什么项目,并且已经被新项目推到了列表的末尾。您基本上需要保留Feed中当前的项目列表,并且在从项目中删除项目时,将其剪短,直到有新项目将其替换。

2

至少雷鸟2.0.0.21问题是TBIRD似乎并不尊重GUID的标签,但它确实尊重通道的 pubdate的标签。因此,如果pubDate比上次阅读更新,则TBird将读取全部条目(看起来)。

我不知道如果渠道的pubdate的标签被丢失,虽然会发生什么......

1

这在Thunderbird documentation解释(在“疑难解答FAQ”):

问:为什么Feed消息是否有时会重复?

答:内容相同但唯一ID不同的Feed信息是 未检测为重复。有关更多详情,请参阅this post

的链接后供参考:

  1. Atom提要(强制性)有一个唯一的ID; Rss提要(不是强制性的)通常有一个独特的指导。对于没有guid的Rss供稿,尝试 用于从供稿项目的强制部分创建唯一标识。
  2. 所有下载的订阅源消息都有一条记录,该标识存储在feeditems.rdf中,并且只要它存在于发布者的 文件中,并且具有该标识。如果发布者从其文件中删除ID为 的邮件,则24小时后,feeditems.rdf缓存也将被清除 (在获取邮件biff上)。
  3. 如果发布者在清除后重新使用了某个ID,则会得到一个副本(如果内容相同)。这是对唯一ID背后的意图 的滥用以及发布商的错误。
  4. 如果发布者在清除内容之前重新使用了一个ID,并且内容不同,您将看不到新内容,因为它将被视为 重复。 Thunderbird目前没有使用该标签,发行商滥用它可能会使其难以实施。
  5. 如果您查看两个明显愚蠢的来源(Ctrl-U),您会注意到Message-Id标题。如果两个明显愚人有不同 消息Id值,那么他们不是愚蠢的,无论潜在的 相同的内容。 Tb不区分重复的内容。

如果你想极端调试,Feeds.logging.console PREF 更改调试或跟踪并重新启动,看饲料 处理过程中发生了什么。

如果您取消订阅订阅源网址,则会清除该订阅源的feeditems.rdf缓存 。如果您随后重新订阅,您将在发布商文件中获得 文件夹中的所有当前项目,这些项目也存在于您的订阅源 文件夹中。

压缩对提要处理没有影响,它只是从文件中删除标记为 的删除项目。如果您删除一个文件夹/将其移动到 垃圾箱,它将被取消订阅。从Tb29开始,如果您将一个 文件夹从一个订阅源帐户拖放到另一个订阅源帐户,则会保留订阅 (但不包括订阅项目)。对于非常旧的配置文件/饲料帐户 (pre Tb17),创建新的饲料帐户和 拖动文件夹(Tb29及以上)是一个好主意,因为新建的feeds.rdf数据库创建的是 ;罚款是一次性的可能性。

相关问题