powered by Jive Software

Pubsub service

What is pubsub service for? How can I use this service?

Because I can’'t find any menu/link in admin console related to this service.


It’‘s a service that is more or less driven by the end user based off my understanding. On a overview level, it’‘s a service that allows you to take “something” and make it available (pub => publish), and others can indicate that they want to know about it (sub => subscribe). For example, one use if it is to publish your user avatar to a pubsub server. Then whoever wants to see your avatar could subscribe to it. They would get notifications when it changes, and all sorts of stuff. I’‘m not really aware of clients that support it to date. (Spark? Are you supporting it soon? ;D ) It’'s also similar to RSS feeds, where someone publishes an RSS feed and others can subscribe to news from it. The nitty gritty details can be found in various JEPS, but here are some of the primary ones:

http://www.jabber.org/jeps/jep-0060.html (Publish-Subscribe)

http://www.jabber.org/jeps/jep-0084.html (User Avatar)

http://www.jabber.org/jeps/jep-0107.html (User Mood)

http://www.jabber.org/jeps/jep-0112.html (User Physical Location)

http://www.jabber.org/jeps/jep-0118.html (User Tune)

http://www.jabber.org/jeps/jep-0163.html (Personal Eventing Protocol)

The last one there is an attempt to make some aspects of how pubsub works very easy to do and hopefully get more people to implement it. It’‘s also not yet implemented by WildFire. (pokes gato and matt) I’‘m trying to implement PEP in PyAIM and PyICQ. I find the whole thing kind of hard to wrap my mind around so it’‘s coming along, albeit slowly. =) Anyway, hopefully this helps some. As far as I understand, it requires a client to publish something. I believe the server could publish something as well, but you’'d have to ask yourself… what would it publish? =)

The server wouldn’'t publish anything, but a component would. If you think about it all the exisiting news/weather/xml feed components should be starting to expose the data via pubsub. (really only the sub part or pubsub - the http polling bot would do the pub half)

PyAIM and PyICQ really only needs to implement the subscription (JEP-0163 Section 5) so that clients can subscribe to the user’'s avatar (is this the only extra attribute that aim and icq support? - do they do tune and mood?)

Hi Norman! AIM (and maybe ICQ?) support tunes as well. I don’'t believe they support mood. I vaguely recall seeing some other interesting stuff show up.

“So far” I can’'t think of anything PyAIM or PyICQ would publish for itself, only for users of them. The only possible thing I can think of is the “advertisements service”, and uh… yeah. Who wants that? ;D

As for the server, I could maybe see the server publish something like…

The Spark Manager could publish the latest versions of the client.

It could publish a version feed for the server itself. (hey, there’'s a new version of the server out! someone should go get it!)

Simple stuff like that. =) I dunno.

True, a lot of custom iq’'s are going to become very simple pubsub requests.

The Spark Manager is great, it would be interesting to see a Client Version JEP be published, defining namespaces, etc. So that all clients and servers talked the same way.