Siechfred: Ein paar allgemeine Fragen zu RSS-Feeds

Tag alle.

Dank eurer Hilfe habe ich nun meine News-Datenbank vollendet. Nun möchte ich die entsprechende Seite um einen Newsfeed ergänzen. Nun meine allgemeinen Fragen dazu:

Welche RSS-Version sollte ich verwenden (geplant ist RSS 2.0)
Erkennt ein Newsreader anhand des "pubDate"-Elementes, ob es was Neues gibt oder auf andere Art und Weise?
Genügt es, die RSS-Datei bei neuen News-Einträgen in die Datenbank zu updaten (so etwa 2 bis 3 Mal die Woche)?
Gibt es sonst noch etwas wichtiges zu beachten?

Es dankt
Siechfred

  1. 你好 Siechfred,

    Welche RSS-Version sollte ich verwenden (geplant ist RSS 2.0)

    Ich würde auf RSS 2.0 setzen, das können eigentlich inzwischen alle
    Feedreader.

    Erkennt ein Newsreader anhand des "pubDate"-Elementes, ob es was Neues
    gibt oder auf andere Art und Weise?

    Jeder Eintrag hat eine ID, anhand derer er identifiziert werden kann
    (<guid>). Ist ein Eintrag mit unbekannter guid vorhanden, muss er neu
    sein.

    Genügt es, die RSS-Datei bei neuen News-Einträgen in die Datenbank zu
    updaten (so etwa 2 bis 3 Mal die Woche)?

    Sicher – was willst du sonst machen? ;-)

    Gibt es sonst noch etwas wichtiges zu beachten?

    http://feedvalidator.org/ sagt dir alles, was du beachten musst.

    再见,
     克里斯蒂安

    --
    Es gibt keinen Ort, wo der Geist zu finden waere. Er ist wie die Fussspuren der Voegel am Himmel.
    http://wwwtech.de/
    1. Tag Christian.

      Ich würde auf RSS 2.0 setzen, das können eigentlich inzwischen alle
      Feedreader.

      Alles klar.

      Jeder Eintrag hat eine ID, anhand derer er identifiziert werden kann
      (<guid>). Ist ein Eintrag mit unbekannter guid vorhanden, muss er neu
      sein.

      Aha. In der RSS 2.0 Referenz las ich, dass es keine einheitliche Konvention für guid gibt, also könnte ich alles mögliche verwenden, Hauptsache es ist ein String, oder?

      Genügt es, die RSS-Datei bei neuen News-Einträgen in die Datenbank zu
      updaten (so etwa 2 bis 3 Mal die Woche)?
      Sicher – was willst du sonst machen? ;-)

      Jaja, jetzt wo ich das mit der guid weiß, hat sich die Frage erübrigt :-)

      Gibt es sonst noch etwas wichtiges zu beachten?
      http://feedvalidator.org/ sagt dir alles, was du beachten musst.

      Ah, danke, den kannte ich noch nicht.

      Siechfred

      1. 你好 Siechfred,

        Jeder Eintrag hat eine ID, anhand derer er identifiziert werden kann
        (<guid>). Ist ein Eintrag mit unbekannter guid vorhanden, muss er neu
        sein.

        Aha. In der RSS 2.0 Referenz las ich, dass es keine einheitliche
        Konvention für guid gibt, also könnte ich alles mögliche verwenden,
        Hauptsache es ist ein String, oder?

        Ja, das ist richtig. Aber Usus ist, die permanente URL zu dem Beitrag zu
        nehmen (die _muss_ ja Unique sein) und das Flag „isPermaLink="true"“ zu
        setzen.

        再见,
         克里斯蒂安

        --
        Der Verstand steht ueber allem. Was durch die Vorstellungskraft nicht geschaffen werden kann, existiert nicht.
        http://wwwtech.de/
        1. Tag Christian.

          Usus ist, die permanente URL zu dem Beitrag zu nehmen (die _muss_ ja Unique sein) und das Flag „isPermaLink="true"“ zu setzen.

          Aber ich kann von diesem Usus auch abweichen, oder gibt's da Probleme mit verschiedenen Feedreadern? Mir schwebte vor, etwas eindeutiges aus der von der DB gelieferten ID zu bauen.

          Siechfred

          1. 你好 Siechfred,

            Usus ist, die permanente URL zu dem Beitrag zu nehmen (die _muss_ ja
            Unique sein) und das Flag „isPermaLink="true"“ zu setzen.

            Aber ich kann von diesem Usus auch abweichen, oder gibt's da Probleme mit
            verschiedenen Feedreadern? Mir schwebte vor, etwas eindeutiges aus der von
            der DB gelieferten ID zu bauen.

            Du kannst natürlich, ich wüsste von keinen Problemen. Aber es ist nicht
            nett, sowas zu tun ;-) Du kannst ja <url>?id=<db-id> nehmen, damit hast du
            dann beides drin: die ID und den Perma-Link.

            再见,
             克里斯蒂安

            --
            Der Geist ist alles. Du wirst, was du denkst.
            http://wwwtech.de/
            1. Tag Christian.

              Du kannst natürlich, ich wüsste von keinen Problemen. Aber es ist nicht
              nett, sowas zu tun ;-) Du kannst ja <url>?id=<db-id> nehmen, damit hast du
              dann beides drin: die ID und den Perma-Link.

              Naja, noch gibt es keinen permanenten Link, und einen toten Link anzugeben, finde ich nicht nett :-) Naja, ich habe es jedenfalls vollbracht, kannst ja mal schauen, ob da was noch verbesserungswürdig ist:

              http://steuerwerkstatt.de/stwerk_rss.xml

              Siechfred

          2. Hallo,

            Aber ich kann von diesem Usus auch abweichen, oder gibt's da Probleme mit verschiedenen Feedreadern?

            Ja.

            Grüße
            Jeena Paradies

            1. Tag Jeena.

              oder gibt's da Probleme mit verschiedenen Feedreadern?
              Ja.

              Nein :-)

              Siechfred

          3. Hallo Siechfred,

            Aber ich kann von diesem Usus auch abweichen, oder gibt's da Probleme mit verschiedenen Feedreadern? Mir schwebte vor, etwas eindeutiges aus der von der DB gelieferten ID zu bauen.

            Du solltest aber trotzdem eine URI nehmen, aus Bequemlichkeit. Atom 1.0 schreibt für das gleiche Element <id> eine URI (bzw. gar eine IRI) vor, da isses einfach bequemer.

            Das muss zwar keine URL sein, die auf eine tatsächlich existierende Seite zeigt, aber das URI-Format sollte man schon einhalten. Eine URN scheidet sicherlich aus, eventuell sind Tag URIs sinnvoll, wenn es Dir nur um einen eindeutigen String im URI-Format geht. Mark Pilgrim hat mal eine kleine Anleitung dafür geschrieben. Wenn Du nur mit Datenbank-IDs arbeiten willst, dann dürfte eine solch simple Tag URI ausreichen:

            tag:anaboe.net,2005-09-05:blog/<id>

            OK, eine reine URL ist dann doch einfacher, wenn man sich nicht in das ganze URI/IRI/URL/IRL/URN-Gedöns einarbeiten will. ;)

            Tim

    2. Hallo,

      Welche RSS-Version sollte ich verwenden
      Ich würde auf RSS 2.0 setzen, das können eigentlich inzwischen alle Feedreader.

      Nun ja, was sich heute Feedreader nennt, benutzt wahrscheinlich eine der unzähligen Feedparsebibliotheken und kann die meisten Varianten von Feeds lesen. Probleme gibt es höchstens manchmal, wenn man im Kernbestand des RSS-Dialektes nicht vorgesehene Elemente über andere Namensräume einbindet, wie es z.B. bei RSS 1.0 notwendig ist oder aus anderen Namensräumen bestehende Elemente benutzt, wenn es im Kernbestand des RSS-Dialektes schon dafür vorgesehene Elemente gibt. Der durch Dave Winer dafür geprägte technische Fachbegriff lautet übrigens »funky«. Und derzeit gibt es wohl noch einen länger dauernden Übergang von Atom 0.2/0.3 auf Atom 1.0, ich würde aber trotzdem letzteres verwenden, schließlich ist das die fertige Version.

      Jeder Eintrag hat eine ID, anhand derer er identifiziert werden kann
      (<guid>). Ist ein Eintrag mit unbekannter guid vorhanden, muss er neu
      sein.

      Dieses Element ist in RSS 2.0 nicht verpflichtend vorgesehen, aber genau dafür ist es vorgesehen. Fehlt es, kann der Feedreader immer noch über diverse Heuristiken versuchen, Elemente zu identifizieren, die Exaktheit, die <guid> in RSS 2.0 bzw. <id> in Atom 1.0 bieten fehlt.

      Hinweis: Selbst wenn man einen Eitnrag updatet, sollte die (GU)ID gleich bleiben, schließlich ist es noch derselbe Eintrag.

      Tim

  2. Moin!

    Welche RSS-Version sollte ich verwenden (geplant ist RSS 2.0)

    Ich denke, es spricht nichts gegen die neueste Version. Vielleicht nimmst du zusätzlich auch noch einen Atom-Stream mit hinzu - im Prinzip kannst du ja so viele Streams erzeugen, wie du willst.

    Erkennt ein Newsreader anhand des "pubDate"-Elementes, ob es was Neues gibt oder auf andere Art und Weise?

    Jede News hat eine eindeutige ID, um sie zu identifizieren. Und wenn der neu geladene Stream IDs hat, die der Newsreader noch nicht kennt, müssen die wohl neu sein. :)

    Ich habe jedenfalls einen RSS-Stream gebaut, ohne dort ein Datum einzufügen, und er funktioniert auch. Das Datumsfeld ist nicht verpflichtend.

    Genügt es, die RSS-Datei bei neuen News-Einträgen in die Datenbank zu updaten (so etwa 2 bis 3 Mal die Woche)?

    Neue RSS-Dateien sollte es geben, wenn es etwas neues gibt.

    Gibt es sonst noch etwas wichtiges zu beachten?

    Verlasse dein Haus niemals ohne ein Handtuch! :)

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Tag Sven.

      Ich denke, es spricht nichts gegen die neueste Version. Vielleicht nimmst du zusätzlich auch noch einen Atom-Stream mit hinzu - im Prinzip kannst du ja so viele Streams erzeugen, wie du willst.

      Kennst du zum Thema Atom-Stream eine deutschsprachige Einführung? Im Moment weiß ich nicht allzuviel damit anzufangen.

      Jede News hat eine eindeutige ID, um sie zu identifizieren. Und wenn der neu geladene Stream IDs hat, die der Newsreader noch nicht kennt, müssen die wohl neu sein. :)

      Jetzt ist es klar :-)

      Ich habe jedenfalls einen RSS-Stream gebaut, ohne dort ein Datum einzufügen, und er funktioniert auch. Das Datumsfeld ist nicht verpflichtend.

      Hm, verständlich ist es, aber guid ist doch auch optional.

      Gibt es sonst noch etwas wichtiges zu beachten?
      Verlasse dein Haus niemals ohne ein Handtuch! :)

      Reicht auch ein Taschentuch? *g*

      Siechfred

      1. 你好 Siechfred,

        Ich denke, es spricht nichts gegen die neueste Version. Vielleicht
        nimmst du zusätzlich auch noch einen Atom-Stream mit hinzu - im Prinzip
        kannst du ja so viele Streams erzeugen, wie du willst.

        Kennst du zum Thema Atom-Stream eine deutschsprachige Einführung? Im
        Moment weiß ich nicht allzuviel damit anzufangen.

        Ich glaube, da wirst du nicht wirklich was finden. Aber vielleicht hilft
        dir ja schon die Wiki:

        http://de.wikipedia.org/wiki/Atom_(XML-Format)

        Ich habe jedenfalls einen RSS-Stream gebaut, ohne dort ein Datum
        einzufügen, und er funktioniert auch. Das Datumsfeld ist nicht
        verpflichtend.

        Hm, verständlich ist es, aber guid ist doch auch optional.

        Spätestens <link> ist es nicht mehr ;-) Und der Feed-Validator wird dich
        auch anschreien, wenn du <guid> weglässt *g*

        再见,
         克里斯蒂安

        --
        No Shoes On Mat!
        http://wwwtech.de/
        1. Tag Christian.

          Kennst du zum Thema Atom-Stream eine deutschsprachige Einführung? Im
          Moment weiß ich nicht allzuviel damit anzufangen.
          http://de.wikipedia.org/wiki/Atom_(XML-Format)

          Ja, das bringt schon etwas Licht in's Dunkel. Aber ich werde mich wohl vorerst auf das "klassische" RSS-Feed beschränken, sodass erstmal eine Sache funktioniert :-)

          Spätestens <link> ist es nicht mehr ;-) Und der Feed-Validator wird dich auch anschreien, wenn du <guid> weglässt *g*

          Alles klar.

          Siechfred

        2. Hallo,

          Spätestens <link> ist es nicht mehr ;-) Und der Feed-Validator wird dich
          auch anschreien, wenn du <guid> weglässt *g*

          Link ist aber nicht eindeutig, ich habe einen Feed, der immer auf die Haupseite zeigt, da es von diesen "News" gar keine HTML Version gibt, die ich da als Link angeben könnte. Ich habe um es eindeutig zu machen <guid> verwendet, dort aber nur unterschiedliche Zahlen eingegeben, keine eindeutigen Links. Ich habe das Attribut isPermaLink weggelassen, welches ja anzeigt, dass es ein permanenter Link auf diese News ist. Nun machen sich aber alle RSS-Reader, die ich kenne den Spaß und hängen <link> noch diese <guid> an um es dann als PermaLink zu missbrauchen, das fürt natürlich immer zu einem 404er. So weit ich RSS aber verstehe ist das Vorgehen der RSS-Reader falsch, oder liege ich da selbst falsch?

          Grüße
          Jeena Paradies

          1. 你好 Jeena,

            Spätestens <link> ist es nicht mehr ;-) Und der Feed-Validator wird dich
            auch anschreien, wenn du <guid> weglässt *g*
            Link ist aber nicht eindeutig, […]

            Ja, du hast recht, da habe ich wohl quatsch erzählt. Naja, dann ist halt
            die eindeutige Unterscheidung ohne <guid>-Element nicht möglich.

            ich habe einen Feed,
            der immer auf die Haupseite zeigt, da es von diesen "News" gar keine HTML
            Version gibt, die ich da als Link angeben könnte. Ich habe um es
            eindeutig zu machen <guid> verwendet, […]

            Die aber bei dir nicht eindeutig ist… (es gibt zwei <guid>15</guid>) und
            ausserdem musst du, wenn du keine Perma-Links setzt, isPermaLink explizit
            auf „false“ setzen, da der Default-Value (der dann gesetzt wird, wenn du
            das Attribut einfach weglässt) „true“ ist.

            Nun machen sich aber alle RSS-Reader, die ich kenne den Spaß und hängen
            <link> noch diese <guid> an um es dann als PermaLink zu missbrauchen,
            das fürt natürlich immer zu einem 404er. So weit ich RSS aber verstehe
            ist das Vorgehen der RSS-Reader falsch, oder liege ich da selbst falsch?

            Ich vermute, dass es an dem fehlenden „isPermaLink="false"“ und einer
            komischen automagischen URL-Ergänzung liegt.

            再见,
             克里斯蒂安

            --
            No Shoes On Mat!
            http://wwwtech.de/
            1. Hallo,

              Die aber bei dir nicht eindeutig ist… (es gibt zwei <guid>15</guid>)

              Argh, das kommt davon wenn mann seine RSS-Feeds von Hand schreibt und sie nicht irgendeiner Software überlässt ;-)

              ausserdem musst du, wenn du keine Perma-Links setzt, isPermaLink explizit
              auf „false“ setzen, da der Default-Value (der dann gesetzt wird, wenn du
              das Attribut einfach weglässt) „true“ ist.

              Oha das war mir nicht bewusst, werde ich gleich mal ändern.

              Grüße
              Jeena Paradies

              1. Tag Jeena.

                Argh, das kommt davon wenn mann seine RSS-Feeds von Hand schreibt und sie nicht irgendeiner Software überlässt ;-)

                Ups, du nutzt PHP und schreibst dein Feed von Hand?

                ausserdem musst du, wenn du keine Perma-Links setzt, isPermaLink explizit
                auf „false“ setzen, da der Default-Value (der dann gesetzt wird, wenn du
                das Attribut einfach weglässt) „true“ ist.
                Oha das war mir nicht bewusst, werde ich gleich mal ändern.

                isPermaLink steht standardmäßig auf True, siehe:
                http://feedvalidator.org/docs/error/InvalidHttpGUID.html
                http://blogs.law.harvard.edu/tech/rss#ltguidgtSubelementOfLtitemgt

                Siechfred

                1. Hallo,

                  Ups, du nutzt PHP und schreibst dein Feed von Hand?

                  Naja für diesen Feed habe ich keine Lust irgendetwas zu schreiben, da ist es 1000x schneller diese kurze News mal schnell von Hand auszuzeichnen, vor allem wenn es diese News nur dort im RSS Feed gibt und sonst nirgendwo.

                  Grüße
                  Jeena Paradies

              2. 你好 Jeena,

                Die aber bei dir nicht eindeutig ist… (es gibt zwei <guid>15</guid>)
                Argh, das kommt davon wenn mann seine RSS-Feeds von Hand schreibt und sie
                nicht irgendeiner Software überlässt ;-)

                Sie müssen ausserdem _global_ unique sein. Es ist also äusserst unklung,
                eine (kleine) Integer-Zahl zu nehmen – ich würde wirklich eine URL oder so
                nehmen, oder einen SHA-Hash über den Subject.

                再见,
                 克里斯蒂安

                --
                Das Sein entsteht aus dem Nicht-Sein.
                http://wwwtech.de/
        3. Hallo Christian,

          Hm, verständlich ist es, aber guid ist doch auch optional.
          Spätestens <link> ist es nicht mehr ;-)

          In RSS 2.0 sind alle Kindelemente von <item> optional, Feeds kann man auch durchaus für mehr verwenden, als nur Blogeinträge nicht im Browser zu lesen. ;)

          Und der Feed-Validator wird dich auch anschreien, wenn du <guid> weglässt *g*

          Nur warnen, denke ich, keinen Fehler melden.

          Tim

          1. In RSS 2.0 sind alle Kindelemente von <item> optional

            Naja: »All elements of an item are optional, however at least one of title or description must be present.«
            Aber ja, link ist optional.

            Mathias

            1. Hallo Mathias,

              Naja: »All elements of an item are optional, however at least one of title or description must be present.«

              Ich weiss. ;)

              Aber ja, der Informationsgehalt eines Feeds ohne jeglichen Textinhalt wäre dann schon eher .. marginal.

              Tim

      2. Hallo Siechfred,

        Kennst du zum Thema Atom-Stream eine deutschsprachige Einführung? Im Moment weiß ich nicht allzuviel damit anzufangen.

        (Stream? Woher kommt das denn jetzt plötzlich? Noch ein neuer Begriff in all dem Chaos? Können wir nicht mal bei Feeds bleiben, hat doch lange genug gedauert, bis sich die Szene auf ein generelles Wort einigen konnte.)

        Es ist eher unwahrscheinlich, dass ich in den nächsten Wochen dazu komme, meine ungeordneten Notizen zu meinem geplanten RSS-und-Atom-Feature-Artikel zu verwursten, also gibt es noch keine Einführung, die ich empfehlen würde. Dazu kommt, dass Atom in seiner Version 1.0 jetzt erst fertig und auf dem Weg zum RFC wird. Bislang wird im Netz meistens nur die Version 0.3 benutzt, die - weil nett in HTML formatiert - besonders populär geworden ist. Allerdings gibt es zwischen 0.3 und dem kommenden 1.0 mehrere, entscheidende Änderungen ich würde erstere nicht als zukunftssicher betrachten und jetzt nicht mehr implementieren.

        Die normative Version ist immer noch der Draft bei der IETF, eine keine Textwü .. Textdatei.

        http://ietfreport.isoc.org/idref/draft-ietf-atompub-format/

        Aber gemessen am Standard anderer RFCs ist diese Version immer noch gut zu lesen, finde ich, auch die technischen Grammatik-Konstrukte in RELAX NG sind verständlich. Wenn nicht, frag ruhig hier nach, ich antworte gerne in solchen Threads. ;)

        Ansonsten hab ich hier noch zwei leichte Einführungen gesammelt, die voraussetzen, dass man RSS 2.0 schon kapiert hat und einfach nur den Datenbestand auf Atom 1.0 konvertieren will. Stammen beide übrigens von Tim Bray, einem der Autoren des XML Standards.

        Atomic RSS
        RSS 2.0 and Atom 1.0, Compared

        Tim

        1. Tag Tim.

          Kennst du zum Thema Atom-Stream eine deutschsprachige Einführung? Im Moment weiß ich nicht allzuviel damit anzufangen.
          [ ... Links ...]

          Zwar in Englisch, aber immerhin ein guter Einstieg über den Wikipedia-Artikel hianus. Danke.

          Siechfred

        2. Hallo,

          Die normative Version ist immer noch der Draft bei der IETF, eine keine Textwü .. Textdatei.

          http://ietfreport.isoc.org/idref/draft-ietf-atompub-format/

          Hm. Was spricht gegen http://atompub.org/2005/08/17/draft-ietf-atompub-format-11.html? Sollte dieselbe Version sein.

          Mathias

          1. Hallo Mathias,

            Hm. Was spricht gegen http://atompub.org/2005/08/17/draft-ietf-atompub-format-11.html? Sollte dieselbe Version sein.

            Nix, wäre mir auch lieber, weil ansprechender formatgiert. Mein Link ist eigentlich nur da, weil er auf die jeweils aktuellste Version zeigt, nur für den Fall, dass die Tage plötzlich noch überraschend eine neuere Version mit minimalen Änderungen kommt, wie neulich v11.

            Tim