2009-08-29 52 views
3

我正在研究(winapp中的网页/ RSS提要/表单)以显示当前系统状态和最新更新。如何标记RSS项目“过期”?

我想知道什么时候解决了一个未解决的问题,以便它可以通过罢工来绘制。这将让用户知道问题已解决,但将其保留在列表中。我知道删除它会更容易,但我希望用户看到它已经解决。

我还没有看到任何RSS或ATOM标准的“过期日期”,但我所学到的一件事是另一套眼睛(或多套眼睛)可以以不同的方式读取事情。如果不存在expires标签,我会找到另一种获取网页和winform信息的方式,但RSS fead阅读器可能无法正确显示。

+1

我不知道官方位置,但我的经验表明,RSS旨在用于发布预计不会随时间而改变的项目 - 想法是,一旦项目的表示出现在RSS提要中,它将永远是一个准确的项目表示。如果这真的是RSS背后的想法,那么就没有必要使用Expires头,因为没有到期。 – 2009-08-29 02:52:24

+0

@David:在Atom中并非如此。您有单独的元素以及项目的唯一ID,这使得聚合器可以轻松更新现有项目。 – Kornel 2009-08-29 13:01:48

回答

1

您可以使用Microsoft Simple Sharing Extensions指定Feed是完整列表,但不包含任何内容,不存在。

还有Atom Tombstones draft

而为了向后兼容,您可以简单地使用已过期的信息更新项目。

我会使用Atom - 根据我的经验,聚合器更尊重Atom的<id>,并且在标题更改时不重复项目。

+0

我正在用Atom。它处理更新。其他人看起来很有趣,但目前并未广泛使用。 – 2009-09-03 00:07:58

0

我不知道规范中的任何内容(尽管我再次浏览过,只是可以肯定)。

也许略显粗糙(但很跨平台)解决方案是为了:

if ($status == 'expired') { 
$title = 'EXPIRED! ' . $title; 
$body = '*** EXPIRED! ***' . $body . '*** EXPIRED! ***'; 
} 
1

D'哦!

感谢大卫的评论,我切换到“会计”模式。

的想法是,一旦一个项目的代表出现在RSS源,它永远永远是

准确地表述这件事匹配的会计事务。你永远不会更改帐户余额。您添加(从不删除)交易以修改产生的余额。

ATOM的标签可以用来将更新连接回原始条目。

在对RSS和ATOM阅读器进行一些研究的同时,我不断发表有关未更新标记的评论。 (一个更新的项目没有被读者重读,旧版本一直显示)

所有这一切。在将来的某个版本中,或者RSS和/或ATOM有一种方法可以指示某些内容已过时,并且信息可能不再有用。我的一个宠物小偷,有网站发送一个饲料项目指向一个已被移动或删除的文章。