2008-10-08 32 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數據庫創建的是 ;罰款是一次性的可能性。

相關問題