Pingback

Date view Thread view Subject view Author view Attachment view

From: Stuart Langridge (aquarius-lists@kryogenix.org)
Date: Mon Sep 02 2002 - 12:39:15 BST


Aquarion spoo'd forth:
> In more on-topic news, My site now generates enough <LINK> tags to build
> a daisy chain, and I'm looking at an alternative to TrackBack that works
> more like Stuart mentioned (http://www.kryogenix.org/days/000138.cas)
> codenamed WallGlass. Basically, it's a URI access model (say
> "wallglass.php?my_uri=http%3A%2F%2Fwww.aquarionics.com%2Findex.php%3Fid%3D680&your_url=http%3A%2F%2Fwww.dellah.com%2Fvent%2Fmozilla_site_navigator_bar.shtml&name=[Aquarionics]%20Mozilla%20Document%20Bar)
> although how it gets the address of what I called wallglass.php I'm not
> sure. It's either in the <head> (<link rel="alternate"
> type="application/wallglass+xml" title="Wallglass"
> href="/wallglass.php">?) Or a defined place ($WEBLOG_ROOT/wallglass)

Patience is a virtue.

I have darn nearly finished hacking Pingback support into Movable Type.
Pingback works pretty much exactly how I described my alternative in
the above URL. Simon was going to write up a description of it, but
I'll do it since I'm here ;)

Pingback: a spec, of sorts

This is how it works:
1. Alice posts to her blog, including the URL
http://www.bob.com/post5.
2. Alice's blogging system (AliceBlog) gets all external URLs
referenced in the post (in this case, just the one to Bob).
3. AliceBlog requests http://www.bob.com/post5 and parses it for a
<link> tag matching <link rel="pingback" href="http://foo/xmlrpcserver">.
4. If it doesn't find one, or the response of the request doesn't seem
to support it, then die (see note 1 below).
5. Perform an XML-RPC ping to the URL found in the <link> (AliceBlog
doesn't care if it succeeds or not, really; that's the end of its bit).

6. BobBlog receives the XML-RPC ping (from point 5), naming the URL of
Alice's post (AliceURL), and the URL it linked to (BobURL).
7. BobBlog should check that BobURL is part of Bob's blog.
7. BobBlog requests the URL of Alice's post, and confirms that it
mentions BobURL.
8. BobBlog parses the title of AliceURL.
9. BobBlog stashes the details of the ping somewhere in its database,
against the entry which is BobURL..
10. BobBlog then initiates a rebuild of BobURL (if it's a blogging
system that builds static pages).

What I have implemented in MT is the server side, steps 6 to 10 (well,
nearly). If you look at
http://www.kryogenix.org/days/000239.cas#000239, you'll see a "Posts
referencing this post" bit. YOu can add yourself to this by doing an
XML-RPC ping to my XML-RPC server (which is in the LINK tag in the
headers: <link rel="pingback"
href="http://www.kryogenix.org/mt/mt-xmlrpc.cgi">). The ping takes the
form of a function call: pingback.ping(referencing_url,referenced_url).
Make referencing_url some page that mentions
http://www.kryogenix.org/days/000239.cas#000239, and make
referenced_url http://www.kryogenix.org/days/000239.cas#000239, and
it'll work.

Does that all make sense? This might be a bit garbled. Once I've got a
proper client and server implementation up and running I'll document it
properly and then all you flash gits with homebrewed blogging systems
can get to implementing it yourselves. Sarabian, you get to patch
MT2.2, since i'm only running 2.1 ;)

Comments, questions? If we get this working right (and we are nearly
there -- Simon practically has a working PHP implementation, yo, Simon,
share the code :)) then it could be really great...

sil

-- 
According to your theory, if a woman can have a baby in nine months
then nine women should be able to have a baby in one month.
           -- Dante, Angst Technology

Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.5 : Mon Sep 02 2002 - 16:21:59 BST