1
votes

Is there a way to update an old RSS feed item and get it as "unread" in a feed reader?

My feed has been created from a liferay portlet by liferay itself, and it shows just 1 item because I can update only that one, I cannot create new items/portlet.

if I edit my old feed, in google reader or Firefox live bookmarks it's not shown as unread, and even if I refresh and I see the new content, still the date is the old one.

I'd need a way to inform the readers that the old feed has been updated... is that possible using one single item?

2

2 Answers

0
votes

Well, the only think I think worth trying is to change the GUID element of the item everytime you change it. Then try how will the RSS readers react.

Or use Atom instead, if you can. With Atom you should be able of doing so, because it allows you to set time of last update (as <updated> XML element). If I'm right, RSS has no means of notifying that a feed item has changed. It only has <lastBuildDate> on the whole feed.

0
votes

Simply add a guid element to your item and change it to a new guid if you have updated your item. A guid can be any unique string.

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

Note that you should add the attribute isPermaLink="false", else it is assumed that the guid is an url.

From the RSS 2.0 Specification:

<guid> sub-element of <item>

<guid> is an optional sub-element of <item>.

guid stands for globally unique identifier. It's a string that uniquely identifies the item. When present, an aggregator may choose to use this string to determine if an item is new.

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

There are no rules for the syntax of a guid. Aggregators must view them as a string. It's up to the source of the feed to establish the uniqueness of the string.

If the guid element has an attribute named "isPermaLink" with a value of true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser, that points to the full item described by the <item> element. An example:

<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2 </guid>

isPermaLink is optional, its default value is true. If its value is false, the guid may not be assumed to be a url, or a url to anything in particular.