Gustav Gans: <pubDate> und <lastBuildDate> bei RSS Feeds

Hallo,

ich glaube, ich verstehe trotz dem Lesen verschiedenster Erklärungen und Forenbeiträge den Unterschied zwischen <pubDate> und <lastBuildDate> bei RSS Feeds nicht so ganz.

Angenommen, ich habe ein privates Weblog samt RSS Feed. Jedes Item informiert über einen neuen Blogbeitrag.

Wenn ein _neuer_ Beitrag, und somit ein neues Item dazukommt, aktualisiere ich <pubDate>. Wenn ich ein bestehendes Item ändere, dann aktualisiere ich <lastBuildDate>.

Habe ich das so richtig verstanden?

MfG

Gustav Gans

  1. Hallo,

    Wenn ein _neuer_ Beitrag, und somit ein neues Item dazukommt, aktualisiere ich <pubDate>.

    Korrekt.

    Wenn ich ein bestehendes Item ändere, dann aktualisiere ich <lastBuildDate>.

    Korrekt.

    Habe ich das so richtig verstanden?

    Ja.

    Grüße
    Thomas

  2. Wenn ein _neuer_ Beitrag, und somit ein neues Item dazukommt, aktualisiere ich <pubDate>. Wenn ich ein bestehendes Item ändere, dann aktualisiere ich <lastBuildDate>.

    Habe ich das so richtig verstanden?

    lastBuildDate aktualisierst du bei jeder Änderung ("The last time the content of the channel changed."). Auch neue Einträge sind eine Änderung.

    Für pubDate wird in der Spezifikation das Datum einer Zeitungsausgabe als Beispiel gegeben ("the New York Times publishes on a daily basis, the publication date flips once every 24 hours: Sat, 07 Sep 2002 00:00:01 GMT"). Dies kann man so verstehen, dass a) der komplette Inhalt einmal am Tag ausgetauscht und b) in der Regel auch nur einmal am Tag überhaupt etwas Neues passiert, wie das eben bei einer papiernen Zeitung so ist, die einmal am Tag herausgegeben wird (to publish -> publication date -> pubDate).

    Auf Netzangebote mit einem konstanten Datenstrom kann man das nur schlecht beziehen, dort gibt es keinen klassischen Veröffentlichungstermin wie bei einer Zeitung. Das Datum des letzten Eintrags als Veröffentlichungsdatum des gesamten Datenstroms auszugeben, ist eine falsche oder zumindest in die Irre führende Aussage – und außerdem überflüssig, denn es steht ja im Eintrag selbst.

    Und eben weil das überflüssig ist, findest du pubDate für channel in der Spezifikation auch unter der Überschrift Optional channel elements. Optional. Lass den Eintrag weg, wenn du keinen festen Veröffentlichungstermin hast.

    1. Und eben weil das überflüssig ist, findest du pubDate für channel in der Spezifikation auch unter der Überschrift Optional channel elements. Optional. Lass den Eintrag weg, wenn du keinen festen Veröffentlichungstermin hast.

      Ich würde sogar sagen, dass man <lastBuildDate> auch weglassen sollte. Der Nutzen ist marginal; eigentlich nur fürs Debuggen von gecachten Feeds geeignet. Wenn jeder Eintrag brav ein <pubDate> hat, ist das für Endnutzer und Feedparser ausreichend.

      (Ich habe die Hypothese, dass <lBD> nur in RSS drin ist, weil in Dave Winers persönlichen Outline-Blogging Tool das Erstellen des RSS-Feeds ein seperater Schritt nach dem Schreiben/Veröffentlichen des Weblogs ist und nicht automatisch geschieht. Mal so etwas in den Wind theoretisiert.)