ppolv’s blog

November 28, 2007

Managing a Jabber PubSub service

Filed under: x60br, xmpp — Tags: , , , — ppolv @ 4:03 am

Probably you already know many excellent choices for a Jabber(XMPP) client. However most of these clients focus on one specific aspect of XMPP, the most commonly used one: Instant Messaging. But XMPP has a much broader range of possible applications. Already suggested examples of such applications are atom publishing, social websites, shared whiteboards, as system integration middleware, to name only some of them.

However, using Jabber as middleware platform has a little initial drawback for the newcomer compared to most traditional, heavyweight approaches like JMS or JBI: the administration and configuration of many of the services availables are specified as in-band messages to those services. Whitout proper support on the client side, getting started on using those services can be a little confusing, having to read all the appropriate XEPs (XMPP Extensions) and doing all the work by yourself. Note that I’m not blaming that approach.., when you get used to that, you can easily manage your XMPP deployment from whiting you application, and all using a unified, simple technology. Probably this limited support for some of the XEPs is due to the large number of such specifications, some of then pretty recent and still evolving.

Even when the IM clients are implementing more and more extensions, i think that there is room for tools targeting specifically the administrationof the services offered by the server, rather than the usage of them. Something more close to a developer’s tool than a user’s application. And precisely because of the in-band configuration of some of the extensions, implement such a tool is feasible, and in a server-agnostic way .

Some weeks ago, while working with the Publish-Subscribe service (defined in XEP-0060), i found myself doing some not-very-productive activities. During the early development stages of my project, while testing the prototype implementation, i was creating, deleting and configuring nodes by writing raw stanzas at the PSI console.. that isn’t the “computer programmer guy” way, is it?

This is why i started the X60 Browser, a very simple, graphical application that let me do what i was needing: browse and manage the pub sub service from a node owner perspective.
X60 Main Window

The tool is licensed ad GPL, and currently it will help you in:

  • Creating , configuring and deleting pubsub nodes
  • Managing node subscriptions
  • Managing node affiliations

The sources includes a Python API to use those comands, but there are almost no documentation on that yet.. mmm.. good subject for a next post.



  1. […] ppolv’s blog some words here « Managing a Jabber PubSub service […]

    Pingback by a pythonic walk on jabber’s pubsub « ppolv’s blog — December 1, 2007 @ 9:10 am

  2. Thank you very much for this tool.

    Hopefully, Pubsub clients will follow soon.


    Comment by kael — December 5, 2007 @ 2:36 pm

  3. Would it be possible to extend the x60br to be able to manage nodes of the user like this :

    … instead of only managing sub-nodes of pubsub.* ?

    This way it’d be possible to manage nodes of Persisting Objects via Pubsub and Private Information via Pubsub (as described into the last XEP-0048 rev. e.g.).

    Comment by kael — January 22, 2008 @ 10:13 am

  4. Hi Kael, thanks for your comments!.
    I guess that some markup was removed from your last comment, by wordpress.
    When I manage to find some free time, I’ll read the XEP you mention, to evaluate how far we are of implementing them on the xep60 browser. Certainly these would be interesting features to add!.

    I would also like to improve the compability with ejabberd, that has is own conventions on how the nodes should be named (the chain of collection-nodes hierarchy must be include in the node name), etc. I tested x60br against ejabberd 2.0rc1 a few days ago, and it’s working better than against the previous release, but the tool still needs some ejabberd-specific modifications here and there to be usable with that server.

    Comment by ppolv — January 22, 2008 @ 11:04 am

  5. Hello Pablo,

    Actually, I’d wish to use the X60Browser to configure my PEP nodes (tune, mood, bookmarks, etc).

    Currently, it’s not possible to configure a pubsub node which is not in the form of “[component].server.tld”.

    It’d be very nice to be able to configure PEP nodes with the X60Browser.


    Comment by kael — April 30, 2008 @ 7:00 pm

  6. Hi !

    I can’t find pubsub.browser.utils module, Is it in twisted ?

    Comment by Robert — April 3, 2009 @ 9:07 pm

  7. @Robert: No, is not in twisted, is part of x60br, a small library I wrote time ago.

    You can download it from
    (although seems to be a problem right now with downloads from BerliOS)

    or via SVN from
    (the SVN version contains a few additions)

    Comment by ppolv — April 4, 2009 @ 4:15 pm

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at WordPress.com.

%d bloggers like this: