Hey, my publishing system is 2500 lines of Perl in one file that I
wrote in a few days in 2002, what could possibly go wrong...
-Tim
Do you have any active subscribers? No subscribers = ping is a no-op.
There is this diagnostic form (at the bottom) for debugging a
subscriber: http://pubsubhubbub.appspot.com/subscribe
And this one for publishers (also at the bottom):
http://pubsubhubbub.appspot.com/publish
Lemme know if you can't get those to work.
> Hey, my publishing system is 2500 lines of Perl in one file that I
> wrote in a few days in 2002, what could possibly go wrong...
=)
-Brett
> Not sure if its relevant in terms of the reference hub, but my Subscriber
> has trouble with your feed. What it's doing is accepting your Atom feed URI
> "http://www.tbray.org/ongoing/ongoing.atom" and then attempting to verify
> the location of the feed, i.e. to rule out redirects etc. To do this, it
> parses the feed for an atom link with a rel attribute of "self". In the case
> of your feed, however, the href attribute seems to be empty - so my
> Subscriber passes back an exception stating that the feed's final location
> could not be verified.
>
> I'd expect the Hub to be making a similar check in verifying the
> subscription details. It's a total stretch, but since this seems to breach
> the Atom specification it's possibly related. See
> http://tools.ietf.org/html/rfc4287#section-4.2.7
I'm one of the designers of Atom, plus I wrote a chapter of 3986, and
I have to confess that my feed contains some stuff that exercises the
corner cases and gives clients trouble; you're not the first to have
problems. I do claim the feed is valid, and the online validators
agree. 4.2.7.1 makes it clear that the value of link@href is an IRI
reference. The actual value, from my feed, is
<link rel='self' href='' />
i.e. an empty string. A URI reference that doesn't begin with a
scheme is by definition relative (see RFC3986) and should be
absolutized in the standard way. Wherever you fetched this from,
tbray.org or (I presume) appspot.com, note that my feed's root element
has this attribute:
xml:base='http://www.tbray.org/ongoing/ongoing.atom'
Thus, per section 5.1.1 of 3986, you should absolutize the empty
string against the base URI and effectively get
href="http://www.tbray.org/ongoing/ongoing.atom"
In general relative URIs are A Good Thing for publishing systems
because it means you can move whole file trees around without breaking
things; i.e. the staging system where I write my blog isn't on
tbray.org, but everything Just Works because the base is set correctly
and all the URIs are relative.
Pardon my pedantry, but I do think this should work.
-Tim
Really? I thought the requirement to use the 'self' link was smart,
precisely for the reason given in the spec. What's the problem? -Tim
http://www.google.com/reader/public/atom/user%2F10577182142674084604%2Fstate%2Fcom.google%2Fbroadcast
http://www.google.com/reader/public/atom/user%2F10577182142674084604%2Fstate%2Fcom.google%2Fbroadcast?ann=true
http://www.google.co.jp/reader/public/atom/user%2F10577182142674084604%2Fstate%2Fcom.google%2Fbroadcast?ann=true
http://www.google.co.uk/reader/public/atom/user%2F10577182142674084604%2Fstate%2Fcom.google%2Fbroadcast?ann=false
...
It gets worse, considering Google has 100+ country-specific domains.
So my point is, in the wild, in practice, nobody uses "self"
correctly. We're setting ourselves up for failure if we expect
publishers and subscribers alike to properly serve and follow "self"
links. Resolving the atom:ids (which are the same for all of the feeds
above) seems to work a lot better in practice.
Does that make sense?