Skip to content

Pingbacks mit Serendipity empfangen

Wir hatten vor einiger Zeit die andere Richtung gelöst: Das setzen von Pingbacks auf Artikel in fremden Blogs, wenn man in Serendipity einen Artikel speichert. Das klappt seit einiger Zeit ja sehr stabil. Nun sehe ich, dass Max Leon in letzer Zeit einige Pingbacks von Artikeln in seinem WordPress Blog (z.B. in seinem aktuellem Blog Projekt) auf Artikel in meinem Serendipity Blog gesetzt hat. Die kamen jedoch nie hier an! Leon hat einfach den automatischen Mechanismus in WordPress zum setzen von Pingbacks benutzt, dieser scheitert also offenbar an Serendipity. Woran liegt das?

Wenn man einen Serendipity Artikel aufruft, so findet man in dem HTML Code (bei mir) zwei Angaben für eine URL, die einen Pingback abnehmen könnte: 

<link rel="pingback" 
href="http://blog.brockha.us/comment.php?type=pingback&amp;entry_id=86" />
[..]
<link rel="pingback"
href="http://blog.brockha.us/serendipity_xmlrpc.php" /> 

Das ist schon einmal merkwürdig! Bei mir kommt die erste Angabe aus meinem Serendipity Template, die zweite Angabe wird vom XML-RPC Plugin produziert. Ich habe mir einen Pingback Tester gebaut, der an beide Links testweise Pingbacks absetzte. Das XML-RPC Plugin kann damit offenbar gar nichts anfangen, aber auch der erste Link, der eine Methode im S9Y Core für einen Pingback Empfang aufruft, liefert nur einen Fehler.

WordPress lädt einen Artikel, auf den es ein Pingback setzen will, und nimmt dann den ersten Pingback Link, den es finden kann, wie man in meinem Logfile sehen kann. Dies ist jener, der den Serendipity Core aufruft:

"GET /index.php?/archives/86-Saphire-Bar-im-Prenzlauer-Berg.html HTTP/1.1" 200 "WordPress/2.2.1"
"POST /comment.php HTTP/1.0" 200 0 "-" "Incutio XML-RPC -- WordPress/2.2.1"

Ich habe mir also den Code in Serendipity angesehen, der beim Aufruf des ersten Pingback Links ausgeführt wird. Dieser ist leider falsch bzw unvollständig. Der Code kann keinen validen Pingback erkennen, alle Pingback Versuche erhalten als Resultat einen Fehler und werden somit nicht in die Datenbank eingetragen. Ich habe diese Methode bei mir im Serendipity Core korrigiert. Außerdem habe ich sie deutlich erweitert, da bisher nur rudimentäre Informationen aus dem Pingback gezogen worden wären. Jetzt holt sich die Methode die aufrufende Seite und extrahiert zusätzliche Informationen, wie Titel des Artikels und einen Ausschnitt aus selbigem. Dies ist bei Pingbacks üblich, da diese (im Gegensatz zu Trackbacks) als einzige Information nur zwei URLs liefern: Die der beiden involvierten Artikel.

Nachdem dies erledigt war, musste ich noch die Smarty Methode zum Darstellen von Trackbacks erweitern, so dass diese auch Pingbacks darstellen kann. Bisher gab es eine Methode zum Darstellen von Pingbacks noch gar nicht.

Als letztes musste ich noch das AntiSpam Plugin von Serendipity ändern, so dass es Pingbacks wie Trackbacks behandelt, ansonsten wären die nun akzeptierten Pingbacks ungefiltert in die Datenbank von Serendipity gelangt.

Ich glaube, ich habe an alles gedacht, Serendipity unterstützt ab der Version 1.3, die ab heute im Berlios SVN liegt, auch Pingback Empfang. Ich hatte zuerst überlegt, einen Patch zu veröffentlichen, aber das ist dann doch zu viel geworden. Die ganze erweiterte Pingback/Trackback Funktionalität gibt es dann eben erst ab Version 1.3. Einen Anfang eines Patches, der zumindest schon mal Pingbacks annehmen kann, gibt es im Serendipity Forum.

Nun warte ich also gespannt auf den nächsten Pingback von Max! :-)

Nachtrag 1: Garvin schreibt mir, dass ihm das Abholen der weiteren Artikel Informationen beim anderen Rechner Sorgen bereitet. Garvins Sorgen nehme ich immer sehr ernst. Ich hatte das zwar mit einem Timeout belegt, aber er sagt, dass man sich darauf bei PHP leider nicht so ganz verlassen kann. Dazu muss ich mir wohl noch etwas einfallen lassen. Irgendeine Konfiguration, mit der man das Einstellen kann, die bei der Standard Installation / Update erst einmal dieses Feature verhindert. Einfach eine Option in die Serendipity Konfiguration einbauen? Gibt es Ideen dazu?

Nachtrag 2: Es klappt immer noch nicht! :-( Max hat noch einmal einen groß angekündigten Pingback hierher gestartet, der wieder nicht bei mir ankam. Er beschwert sich im Kommentar zu Recht.. Muss ich dann wohl mal meinen WordPress Test Account reanimieren.. Aber merkwürdig, mein Pingback Tester verhielt sich nach Spezifikation und dessen Pingbacks kamen an. Bin mal gespannt, ob das nun ein spezielles Problem mit WordPress ist.. Aber danke noch einmal an Max!

Trackbacks

Grischa

Grischa am : Pingbacks mit Serendipity empfangen, Teil 2

"Pingbacks mit Serendipity empfangen, Teil 2" vollständig lesen
Nachdem Maxs gro&szlig; angek&uuml;ndigter Pingback Test von seinem WordPress Blog auf mein Serendipity Blog schon wieder nicht funktioniert hat, habe ich mein WordPress Testblog reaktiviert und mal geschaut, was WordPress da eigentlich macht. Folgendes h
www.blogformoney.de

www.blogformoney.de am : Zuviel Privates kann dich Leser kosten...

"Zuviel Privates kann dich Leser kosten..." vollständig lesen
Wieviel Privates gehört in deinen Blog? Posted on August 15th, 2007 by Leon
Grischa

Grischa am : Pingback Behandlung in Serendipity

"Pingback Behandlung in Serendipity" vollständig lesen
Pingbacks wurden schon immer eher stiefmütterlich in S9Y behandelt. Sie kamen etwas später in Serendipity Code hinein als die Trackbacks, haben keinen eigenen Counter bei den Artikeln usw. Letzteres ist meiner Meinung nach völlig okay, da s

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Max Leon Dalheimer

Max Leon Dalheimer am :

Da schick ich dir schon ein so lang angekündigten Trackback und dann kommt er nicht an :-(

http://www.blogformoney.de/?p=117

Grischa

Grischa am :

Ja, schon gesehen. :-(

Vielen Dank für den Versuch! Ich glaube ich werde jetzt mal meinen Test WordPress Account aktivieren, um mal zu sehen, was da eigentlich schief läuft.

Letzte Nacht war mein Server auch für kurze Zeit (ca. 1/2 Stunde höchstens) nicht zu erreichen, ich hoffe, der Versuch war nicht genau in der Zeit.

Und es war ein Pingback, kein Trackback, oder?

Mist.. :-(

Grischa

Grischa am :

Oh! Ein Pingback von Max! :-)

Komisch.. Auch Deines fällt in die IP Validation Falle. Wieso ist denn bei Dir der Code, der das Pingback schickt auf einer anderen IP als www.blogformany.de? Das ist ja merkwürdig..

Geschenkidee

Geschenkidee am :

Also ich komme mit deiner Anleitung bzw. Erklärung leider nicht so zurecht. Ich habe es gerade ein 2. MAl probiert und scheiter klaglos. Nix mit Pingbacks

Grischa

Grischa am :

Welche Version von S9Y fährst Du denn? Der besprochene Pingback Support ist erst ab 1.3 enthalten.

Ismail

Ismail am :

Bin über google hierher gestossen. Wollte mich auf jedne Fall für die Anleitung bedanken und mich hier verewigen.

Jessica

Jessica am :

Konnt ebenfalls über Google den Weg hier her finden, auf der Suche nach Pingbacks. Vielen Dank für den hilfreichen Artikel. Liebe Grüße Jessi

Matthias

Matthias am :

Auch ich bin durch Google auf die Super Anleitung gestoßen. Danke dafür.

Silvi

Silvi am :

Vielen dank diese Anleitung hat mir sehr weitergeholfen.

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Dieses Blog erlaubt Dir, Audio Kommentare über audioboo.fm hinzuzufügen. Erstelle einen neuen Boo und gib hier den Link auf die Seite Deines Boos ein.
record
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
(Bedingung: 1 Kommentare geschrieben)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
tweetbackcheck