代码之家  ›  专栏  ›  技术社区  ›  Joel Coehoorn

RSS项目更新

  •  5
  • Joel Coehoorn  · 技术社区  · 16 年前

    我正在为一个我们使用的定制任务系统开发一个RSS提要,我仍然在思考事情应该如何工作。我想要的是为每个用户显示分配给他们的任务的提要,以及为每个任务显示任务更新的提要。

    我现在想知道的是用户提要。当分配给用户的案例被更新时,我当前有代码来更改该项目的pubdate条目和频道的lastbuilddate。我希望这会使该项目在读者中显示为未读,以便用户知道再次查看该项目,但情况似乎并非如此。我是否应该更改guid,即使它确实是相同的项?那会有什么副作用呢?

    我有什么东西不见了吗?我怎么解决这个问题?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Alan De Smet    16 年前

    更改<pubdate>并不表示条目已更改,但不要求给定的RSS阅读器对此做任何操作。(严格地说,没有什么要求比RSS阅读器做任何事情,但让我们保持合理。)一些阅读器 将更新的条目标记为已更改。例如bloglines.com可以 任选地 检测<说明>中的更改,并在这种情况下再次将条目标记为新条目。

    根据读者的不同,更改<title>、<description>或<pubdate>可能会为您提供所需的行为。但是正如gatekiller上面提到的,您最安全的选择是使用新的<guid>使其成为一个全新的条目。当你在那里的时候,你可能想把它作为一个机会来添加一个直接的链接或者关于更新的细节。

    当然,如果您同时编写RSS的生产者和消费者,并且您的目标是提要始终包含完整的分配任务集,那么只需更新<pubdate>即可。

        2
  •  1
  •   GateKiller    16 年前

    解决方案也是更改guid,这意味着在其中包括更新时间。guid为提要中的每个项目提供唯一性,如果将更新日期放在其中,则将标记为未读。