Monday, 18 October 2004
The rewrite of Idavoll, dubbed Idavoll 2, is starting to shape up. Besides the volatile memory backend, I started working on a second backend, using PostgreSQL for storage. It uses Twisted Enterprise, that provides asynchronous access to any DB-API 2.0 compliant database interface, in this case pyPgSQL.
I'm still learning how to code in the Twisted Way™, and having two separate backends helps figure out how to use Services, Interfaces and Adaptors in a productive way. Having thought about Idavoll's architecture a bit more, it would probably be a good idea to spread the pubsub features over several backend interfaces, with matching adaptors. That way, one can create custom backends that implement a limited set of functionality, or have a service that offers some functionality using other protocols. Examples:
A service with a web interface to manage the nodes, affiliations, and subscriptions.
A HTTP interface for publishing data, using REST or SOAP. Like Atom API.
Using SMTP for notifications.
I plan to redo the backend for Mimír this way. While being able to setup your channel subscriptions via the Jabber pubsub protocol, the web interface could be reimplemented as an Adaptor between the backend interface and Twisted Web or Nevow.
But that is the future. Back to creating the building blocks.
Wednesday, 6 October 2004
In light of several ideas that I've been thinking about during my commute cycling trips and under the shower (those are the best places!), I'm back at my work on Idavoll, the generic Jabber pubsub service, as described in JEP-0060. For my daytime job, I've been coding in Python as well, and going back to Idavoll I see I have to do a bit of refactoring to make the code more elegant, shorter and above all: more readable. I'm committed to work on Idavoll regularly from now on, adding features as I go, so watch this space for updates.
Tuesday, 5 October 2004
Bart van Bragt was kind
enough to translate the JSF press release into dutch, and alert various
dutch news sources. Since the US part of our community is asleep, I
planet.jabber.org, with the same nice
layout as on
RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core
RFC 3921: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
RFC 3922: Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)
RFC 3923: End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP)
Congratulations to all involved in the work of the XMPP Working Group and Jabber in general. A special mention of two people: jer, thanks for starting this all back in 1999, and stpeter, thanks for all the hard work you put into cranking out these specification!