Another dead end?
Phil Ringnalda calls me a
dead
end because I didn't implement the
Retrieving TrackBack Pings API.
Harumpf. We can't have that now, can we?
OK, so without further ado, I think I implemented this API correctly (at a cost of three lines of code and a new template). Here's the list of trackback pings to the "Trackback Threading" blog entry. But the threads still don't seem to be connecting...
What did I do wrong?
I just sent a trackback, and it got refused because you're making Except a requirement, which the spec says it isn't. Obviously, this means I'm going to have to put excerpt in, but thought you might want to know...
Posted by Aquarion at
Sorry, I didn't realize we hadn't updated the version available for download (although we had written a newer version). I updated it now, so it's available here. It should work just as Phil's change does, above, basically.
Posted by Ben at
No description, but otherwise looks OK to me.
Note that the "#" must be url escaped for this to work correctly.
Posted by Sam Ruby at
It's working with mt-thread as well, now that I upgraded to the current version - the old version threw away the fragment too early in the process, so it didn't find a matching tb url.
Posted by Phil Ringnalda at
Sam Ruby
I don’t remember much coming from itI remember being called a dead end until I implemented it. And, the very next day after I implemented it, I actually found something useful to do with it....Excerpt from phil ringnalda dot com: Nice that __mode=rss is doing someone some good: Comments at
Nothing. Now it's mt-thread.cgi that's doing wrong. I forgot to mention that it needs a couple of changes to operate in a TrackBack 1.1 world, and then I made one of the changes wrong in my copy. I'd guess David hasn't made either one.
mt-thread's still only looking for TB 1.0 RDF with the ping url in an about attribute, so:
my($ping_url) = $rdf =~ m!about="([^"]+)"!;
has to become:
my($ping_url);
if ($rdf =~ m!trackback:ping="([^"]+)"!) {
$ping_url = $1;
} elsif ($rdf =~ m!about="([^"]+)"!) {
$ping_url = $1;
}
and also mt-thread.cgi assumes that there will always already be a query in the url, so rather than:
$tb_url .= '&__mode=rss';
we need:
$tb_url .= ($tb_url =~ /\?/ ? '&' : '?') . '__mode=rss';
With those two changes, you're connected.
Posted by Phil Ringnalda at