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.
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.