description vs. content:encoded im RSS Feed
description vs. content:encoded im RSS Feed
S9Y hat offensichtlich die Angewohnheit den Text eines Eintrags in das Element content:encoded zu packen. Wordpress und alles was mir sonst bislang bewusst unter gekommen ist füllt das Element descripion (als PCDATA) und meist zusätzlich das Element content:encoded. Kann ich S9Y dazu bringen auch das description Element zu befüllen? Das wäre im Moment für mich eine riesen Erleichterung. Ich setzte an der Stelle einen Crawler ein, der ziemlich viele RSS Feeds zur Zeit recht erfolgreich ausliest, nur bei meinen neuen S9Y Feeds greift er ins leere. Ändere ich nun den Crawler oder ist eine Veränderung in S9Y noch einfacher 
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: description vs. content:encoded im RSS Feed
Hi!
Ja, laut RSS-Spezifikation DARf 'description' kein HTML enthalten. WP benutzt da den "Trick" mit PCDATA, der mir aber nicht so geheuer scheint, da laut spec 'content:encoded' genau dafür gedacht ist.
Grundsätzlich kann das jeder selber über seine feed*.tpl Datei steuern, dort kannst Du das also in deinem Template leicht ienfügen. Es ist standardmäßig nicht dort, da ein zusätzliches 'Description'-Feld die Größe des RSS-Feeds auch stark erhöhen würd.e
Viele Grüße,
Garvin
Ja, laut RSS-Spezifikation DARf 'description' kein HTML enthalten. WP benutzt da den "Trick" mit PCDATA, der mir aber nicht so geheuer scheint, da laut spec 'content:encoded' genau dafür gedacht ist.
Grundsätzlich kann das jeder selber über seine feed*.tpl Datei steuern, dort kannst Du das also in deinem Template leicht ienfügen. Es ist standardmäßig nicht dort, da ein zusätzliches 'Description'-Feld die Größe des RSS-Feeds auch stark erhöhen würd.e
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
@Micha: Sag mir doch Bescheid, dass Du das auch hier diskutierst. 
Ansonsten: Wenn ich mir z.B. den RSS Feed vom Tagesspiegel ansehe, dann habe ich den Verdacht, dass es falsch ist, den gesamten Artikel per PCDATA in das description Tag des RSS Feeds zu packen.
description sollte eigentlich nur eine Kurzbeschreibung des Artikels sein, optional mit zusätzlichem Link zum vollen Artikel.
encoded enthält dann den vollen Artikel.
Entsprechend reagieren auch die RSS Reader, die ich kenne: Wenn description und encoded enthalten ist, dann wird immer encoded dargestellt, bei Thunderbird werde ich sogar gefragt, ob ich nur die Zusammenfassung des Artikels lesen will. Wenn ich das bejahe, wird nur die description angezeigt.
Unterm Strich: Euer Crawler verhält sich meiner Meinung nach an dieser Stelle falsch. Ist er am kompletten Artikel interessiert, sollte er immer zuerst das encoded Tag auslesen, weil das immer den gesamten (vom Admin freigegebenen) Artikel enthält. Erst wenn das nicht vorhanden ist, sollte der Crawler auf das description Tag wechseln, was dann eine "Kurzform" des Artikels darstellt. Wenn kein encoded vorhanden ist, ist die Wahrscheinlichkeit aber recht hoch, dass das dann wieder der gesamte Artikel ist.
Ansonsten: Wenn ich mir z.B. den RSS Feed vom Tagesspiegel ansehe, dann habe ich den Verdacht, dass es falsch ist, den gesamten Artikel per PCDATA in das description Tag des RSS Feeds zu packen.
description sollte eigentlich nur eine Kurzbeschreibung des Artikels sein, optional mit zusätzlichem Link zum vollen Artikel.
encoded enthält dann den vollen Artikel.
Entsprechend reagieren auch die RSS Reader, die ich kenne: Wenn description und encoded enthalten ist, dann wird immer encoded dargestellt, bei Thunderbird werde ich sogar gefragt, ob ich nur die Zusammenfassung des Artikels lesen will. Wenn ich das bejahe, wird nur die description angezeigt.
Unterm Strich: Euer Crawler verhält sich meiner Meinung nach an dieser Stelle falsch. Ist er am kompletten Artikel interessiert, sollte er immer zuerst das encoded Tag auslesen, weil das immer den gesamten (vom Admin freigegebenen) Artikel enthält. Erst wenn das nicht vorhanden ist, sollte der Crawler auf das description Tag wechseln, was dann eine "Kurzform" des Artikels darstellt. Wenn kein encoded vorhanden ist, ist die Wahrscheinlichkeit aber recht hoch, dass das dann wieder der gesamte Artikel ist.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Da kann ich nur nickend Grischa zustimmen.
Grüße,
Garvin
Da kann ich nur nickend Grischa zustimmen.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Allerdings: Serendipity ist ja nicht umsonst "die beste Blogsoftware der Welt".. 
Man kann mit der auch solche Schweinereien machen, wenn man es denn unbedingt will.. Dazu ändert man einfach das Template, aus dem der RSS feed erstellt wird (wie Garvin schon erwähnte). Das Template heißt feed_2.0.tpl. Sollte sich das nicht in eurem Template Verzeichnis finden, dann einfach aus dem default Template kopieren.
Um einen "WordPress ähnlichen" aber nicht im Sinne der RSS Spec stehenden feed zu erzeugen macht man nun folgendes:
ersetzen mit
Fettisch! 
Man kann mit der auch solche Schweinereien machen, wenn man es denn unbedingt will.. Dazu ändert man einfach das Template, aus dem der RSS feed erstellt wird (wie Garvin schon erwähnte). Das Template heißt feed_2.0.tpl. Sollte sich das nicht in eurem Template Verzeichnis finden, dann einfach aus dem default Template kopieren.
Um einen "WordPress ähnlichen" aber nicht im Sinne der RSS Spec stehenden feed zu erzeugen macht man nun folgendes:
Code: Select all
{if !empty($entry.body)}
<content:encoded>
{$entry.feed_body|@escape} {$entry.feed_ext|@escape}
</content:encoded>
{/if}Code: Select all
{if !empty($entry.body)}
<content:encoded>
{$entry.feed_body|@escape} {$entry.feed_ext|@escape}
</content:encoded>
<description><![CDATA[{$entry.feed_body} {$entry.feed_ext}]]></description>
{/if}