ralphm's blog

Sunday, 28 November 2004

Idavoll 2 now usable

Just what the doctor ordered...

Idavoll 2 is going strong. I can say it is now in a state that should be usuable for developing applications with. A while back, I asked pgmillard what features of JEP-0060 should be implemented, for Idavoll to be deployed on the jabber.org public Jabber server. I believe all of his requirements have now been met. Here the list of supported features:

  • Creating nodes (including so-called instant nodes)

  • Subscribing and unsubscribing

  • Publishing items + subscribers getting notifications

  • Requesting a previously published item

  • Retracting a previously published item

  • Purging all items for a node

  • Deleting a node

  • Configuring a node

  • Requesting current affiliations

  • Disco Info and Disco Items support

Some notes on the above:

  • Subscription requests are always automatically accepted; owner approval using Data Forms is not yet implemented.

  • The only two node configuration options (for now) are whether the node is persistent, and whether notifications should be sent with or without payload.

  • Disco Items is only implemented on the service itself, for requesting all nodes present. There is no hierarchy in the nodes in the current implementation. Because this will generate a lot of data when having more than a few nodes, this functionality can be disabled by the administrator of the service.

Despite the notes, the service should be more than sufficient to finally start implementing all sorts of cool publish/subscribe based features in Jabber clients. More on that in a bit.

What might hold people back in deploying Idavoll right now, is that there is no simple drop-in package, yet. Part of the problem here is that the Jabber support in Twisted needs some patches here and there. One of the patches is stringprep support for JIDs, a must-have, as was pointed out to me by [GNU], earlier today. So I've been busy implementing stringprep support today. And it works!

Twisted development is in a state of flux, as their upcoming 2.0 release will probably be split up in several packages, and the Jabber modules have been moved around. Also, offline offlinedizzyd, who wrote the Jabber support for Twisted is busy with non-Jabber stuff, and I have to somehow get my patches in Twisted's codebase. I'll try and coordinate this with dizzyd in the coming week or so. In the meanwhile, I'll probably have to distribute my patches to Twisted along in the Idavoll release, but I am not sure how to go about that, yet. For now, just checkout the code from the CVS repository, and give it a whirl. I will be more than happy to do some hand-holding.

Today, x-virge wrote an interesting piece on his blog about his Jabber Vision. Intented as some guidance in fixing the biggest pain points currently perstering Jabber, he goes and explains what should be done to get Jabber back up to speed.

One of the things he mentions is finally having a usuable pubsub server component, combined with not one, but two encouragements to help out with finishing Idavoll. Thanks x-virge! I'm not sure if he agrees with my statement above that people could start using Idavoll now for developing their cool stuff, but I can definitely use some help in testing the code, and making it even more useful. If you are interested in helping me out, drop me line!