RSS项目更新
时间:2020-03-06 15:02:42 来源:igfitidea点击:
我正在为我们使用的自定义任务系统开发RSS提要,但我仍在围绕工作原理工作。我想要的是每个用户的供稿,其中显示了分配给他们的任务,另外还有每个任务的供稿,其中显示了任务的更新。
我现在想知道的与用户供稿有关。当分配给用户的案例更新时,我目前有代码来更改该项目的pubDate条目和该通道的lastBuildDate。我希望这会使该项目在读者中显示为未读,以便用户知道再次查看该项目,但事实并非如此。即使实际上是相同的项目,我也应该更改GUID吗?那会有什么副作用?
有什么我想念的吗?我该如何解决?
解决方案
解决方案是还更改GUID,这意味着在其中包含更新的时间。 GUID为提要中的每个项目提供了唯一性,如果我们将更新日期放入其中,GUID将被标记为未读。
更改<pubDate>确实表明该条目已更改,但是不要求给定的RSS阅读器对此做任何事情。 (严格来说,没有要求RSS阅读器执行任何操作,但请保持合理。)某些阅读器确实将更新的条目标记为已更改。例如,Bloglines.com可以选择检测<description>中的更改,并在这种情况下再次将条目标记为新条目。
根据读者,更改<title>,<description>或者<pubDate>可能会给我们所需的行为。但是,正如GateKiller上面提到的那样,最安全的选择是使用新的<guid>使其成为全新的条目。在使用它时,我们可能希望以此为契机添加直接链接或者有关更新的详细信息。
当然,如果我们同时编写RSS的生产者和使用者,并且目标是提要始终包含所有分配的任务,则只需更新<pubDate>即可。