2013-03-06 79 views
1

有沒有方法可以更新舊的RSS源項目並將其作爲「未讀」在供稿閱讀器中?RSS更新單個項目

我的提要是由liferay本身從liferay portlet創建的,它只顯示1個項目,因爲我只能更新那個項目,我無法創建新項目/ portlet。

如果我編輯我的舊飼料,在谷歌閱讀器或火狐實時書籤它沒有顯示爲未讀,即使我刷新,我看到新的內容,仍然是日期是舊的。

我需要一種方式來通知讀者舊飼料已被更新......這可能使用一個單一的項目?

回答

0

好吧,我認爲值得嘗試的唯一想法是每次更改它時都要更改該項目的GUID元素。然後嘗試RSS閱讀器如何反應。

或者使用Atom代替,如果可以的話。有了Atom,您應該可以這樣做,因爲它允許您設置上次更新的時間(如<已更新> XML元素)。如果我是對的,RSS無法通知飼料項目已更改。它只在整個Feed中有<lastBuildDate>。

0

只需添加一個​​元素到您的項目,並將其更改爲新的guid,如果您已更新您的項目。一個guid可以是任何唯一的字符串。

<item> 
    <title>...</title> 
    <link>Link to your item</link> 
    ... 
    <guid isPermaLink="false">A unique string</guid> 
</item> 

請注意,您應該添加屬性isPermaLink="false",否則假定GUID是一個URL。

RSS 2.0 Specification

<GUID> <項>

<GUID>的子元件是<項>的可選子元素。

guid代表全局唯一標識符。這是一個字符串, 唯一標識該項目。當存在時,聚合器可以選擇 以使用該字符串來確定項目是否是新的。

<GUID> http://some.server.com/weblogItem3207 </GUID >

有一個GUID的語法規則,聚合器必須將它們視爲一個字符串,才能將它們視爲 。這取決於字符串的唯一性。

如果GUID元素有一個名爲「isPermaLink」與真值 屬性,讀者可能會認爲它是一個固定鏈接到該項目, 也就是說,可以在Web瀏覽器中打開一個網址,指向由<項目>元素描述的 完整項目。一個例子:

< GUID isPermaLink = 「真」 > http://inessential.com/2002/09/01.php#a2 </GUID >

isPermaLink是可選的,其缺省值爲真。如果其值爲 false,則guid可能不會被假定爲url,或者特別是任何東西的url。