XMPP Server Portability Improving

February 4, 2010

One of the many things being worked on as jabber.org transitions to Isode M-Link is a specification for exchanging user, roster, and other XMPP server data between different implementations. The specification, Portable Import/Export Format for XMPP-IM Servers is currently in its second last call.

This means that once all the servers have support for this, you’ll be able to move from one XMPP server to another very easily. Previously this required writing custom migration scripts or hacking the code; you can read about Chesspark’s move to ejabberd, where my team went through such a migration. If only this had been around back then, it might have saved us some time.

Another benefit of this, is that individual hackers will write import and export programs instead of migration assistants between specific implementations.

The current specification covers hosts, users, rosters, private XML storage, offline messages, vCards, privacy lists, and incoming subscription requests. Unfortunately, it doesn’t include multi-user chat rooms or publish-subscribe nodes (PEP or otherwise). I’m sure these can be added as extensions, but it seems that those things are all that is missing for this to be a very complete format that will last for quite a while.

I’m not sure which of the server teams are working on implementations of this, but since Waqas is one of the authors, you can bet that Prosody will be supporting this.

XMPP Server Portability Improving - February 4, 2010 - Jack Moffitt