Hi,

I'm working on a hub implementation in PHP, and so far, I'm really
impressed by the spec's simplicity (even in the hub). It would be nice
to stick to the keep-things-simple principle where possible. Publishers
should not have to change anything (the feed just lacks an entry that
existed before). And maybe there is a way that subscribers don't have
to be changed either, possibly with an optional extension to support
removed entries on the subscriber side?

With "complexity in the hub", those should be the ones to detect
missing feed entries. Maybe they could just generate empty entries or
add a simple flag?

Something along:

<entry>
  <source>
    <id>http://www.example.com/foo</id>
    <link rel="self" href="http://publisher.example.com/foo.xml"; />
    <author><name>Mr. Bar</name></author>
  </source>
  <link href="http://publisher.example.com/foo24.xml"; />
  <id>http://publisher.example.com/foo24.xml</id>
  <updated>2008-08-11T02:15:01Z</updated>
  <!-- the entry is gone, for some reason -->
  <title>Removed</title>
  <content></content>
  <!-- a special flag for subscribers -->
  <pshb:removed>2008-08-11T02:15:01Z</pshb:removed>
</entry>

Ordinary recipients will probably overwrite the entry content
with the empty string and subscribers that support pshb:removed
could fully hide the entry from the feed. The entry could well
re-appear later. With "deleted-entry", the hub or subscriber would
maybe have to maintain long-term diffs/logs.

Another option could be the activitystrea.ms approach: publish
a new entry that makes the deletion explicit:

<entry>
   <id>http://myhub.com/activity/12345</id>
   <published>2008-08-11T02:15:01Z</published>
   <title>A post was removed</title>
 <activity:verb>http://pubsubhubbub.googlecode.com/schema#remove</activity:verb>
   <activity:object>
     <id>http://publisher.example.com/foo24.xml</id>
     <source>
       <id>http://www.example.com/foo</id>
       <link rel="self" href="http://publisher.example.com/foo.xml"; />
     </source>
   </activity:object>
</entry>

This would require additional code on the subscriber side.

Just some ideas. As Bob said, this could get pretty complicated,
so PSHB should maybe try to stay transparent and high-level (rather
"missing entry after diff" than assuming "deleted by publisher" etc.)

Either way, as this was my 1st post to the list: congrats to the
great spec!

Benji

--
Benjamin Nowack
http://bnode.org/
http://semsol.com/

Reply via email to