[Standards-JIG] PubSub JEP: Add entity updated messages

Matthew Fowle rektide at gmail.com
Sat Sep 10 17:48:28 CDT 2005


Hello, I'm writing an Atom over XMPP app and I've got what I can only
consider a terminally grave issue.  A client to the XMPP pubsub
service does not have any way to differentiate between an entry
creation and entry update.  At best it can "guess" from the
<published/> and <updated/> times inside the Atom entry.  For my
particular app, there really needs to be a more deterministic way of
knowing whether it is a new node being added or whether it is being
created.  I've included teh appropriate sections from the draft at the
end of this messsage to illustrate the problem clearly.

Perhaps an additional attribute to the <event/> in the PubSub?  Or
some other semantic?  It seems clear that pubsub needs to be
supplemented to allow for clients to recieve information on when an
item is updated, mere creation and deletion is not sufficient.  If I
may continue to be so bold, I'd further propose that a <configure>
option for clients should allow clients to specify whether they would
like to recieve updates or not.  Servers which dont have updates -
most, aparently, can silently accept the additional <configure>
parameter, which means very very little code will need updating. 
Simple, clean, effective, and deadly vital to pubsub ever becoming
truly useful.  Although, perhaps, worthy of its own JEP, I would +1 it
for integration into the pubsub JEP.

Couple other quips... the doc should mention whether multiple items
are possibe wtihin an <event> sent to the client.  I cannot see any
reason not to permit this, but it should be clearly specified in the
JEP whether this is possible.

Forgive me if this is misdirected.... I'm new here and I hope I'm
operating within whatever protocols JIG has setup.

Regards,
Rektide


These are the two problem cases, both pretty much exactly alike:
*Entry Creation:*
>The XMPP pubsub service then sends a pubsub notification to each XMPP 
>subscriber; depending on pubsub node configuration, the notification may or 
>may not contain the Atom payload (we assume here that the payload will be 
>delivered). 
><message from='pubsub.example.org'
>         to='alice at example.net'>
>  <event xmlns='http://jabber.org/protocol/pubsub#event'>
>    <items node='http://example.org/feeds/atom-example.xml'>
>      <item id='70b2a83be71dfca04df91133d953fb22b41b4267'>
>        <entry xmlns='http://www.w3.org/2005/Atom'>
>          <source>
>            <title>Example Feed</title>
>            <link href='http://example.org/'/>
>            <link rel='self'
>                  type='application/atom+xml'
>                  href='http://example.org/atom.xml'/>
>            <id>tag:example.org,2003:home</id>
>            <updated>2003-12-13T18:30:02Z</updated>
>            <author>
>              <name>John Doe</name>
>            </author>
>          </source>
>          <title>Atom-Powered Robots Run Amuck</title>
>          <summary>Asimov's First Law horribly violated!</summary>
>          <link rel='alternate'
>                type='text/html'
>                href='http://example.org/2003/12/13/atom03'/>
>          <id>tag:example.org,2003:entry-32397</id>
>          <published>2003-12-13T18:30:02Z</published>
>          <updated>2003-12-13T18:30:02Z</updated>
>        </entry>
>      </item>
>     </items>
>  </event>
></message>


*Node update:*
>Subject to node configuration and/or subscription options, each XMPP 
>subscriber would then receive a pubsub notification, which may or may not 
>contain the Atom payload. 
><message from='pubsub.example.org'
>         to='alice at example.net'>
>  <event xmlns='http://jabber.org/protocol/pubsub#event'>
>    <items node='http://example.org/feeds/atom-example.xml'>
>      <item id='70b2a83be71dfca04df91133d953fb22b41b4267'>
>        <entry xmlns='http://www.w3.org/2005/Atom'>
>          <source>
>            <title>Example Feed</title>
>            <link href='http://example.org/'/>
>            <link rel='self'
>                  type='application/atom+xml'
>                  href='http://example.org/atom.xml'/>
>            <id>tag:example.org,2003:home</id>
>            <updated>2003-12-13T18:30:02Z</updated>
>            <author>
>              <name>John Doe</name>
>            </author>
>          </source>
>          <title>Atom-Powered Robots Run Amok</title>
>          <summary>Asimov's First Law horribly violated!</summary>
>          <link rel='alternate'
>                type='text/html'
>                href='http://example.org/2003/12/13/atom03'/>
>          <id>tag:example.org,2003:entry-32397</a>
>          <published>2003-12-13T18:30:02Z</published>
>          <updated>2003-12-13T18:31:03Z</updated>
>        </entry>
>      </item>
>     </items>
>  </event>
></message>



More information about the Standards-JIG mailing list