XMPP (Jabber) is used by the assistant as a git remote. This is, technically not a git-annex special remote (large files are not transferred over XMPP; only git commits are sent).

Typically XMPP will be set up using the web app, but here's how a manual set up could be accomplished:

  1. xmpp login credentials need to be stored in .git/annex/creds/xmpp. Obviously this file should be mode 600. An example file:

    XMPPCreds {xmppUsername = "joeyhess", xmppPassword = "xxxx", xmppHostname = "xmpp.l.google.com.", xmppPort = 5222, xmppJID = "joeyhess@gmail.com"}

  2. A git remote is created using a special url, of the form xmpp::user@host For the above example, it would be url = xmpp::joeyhess@gmail.com

  3. The uuid of one of the other clients using XMPP should be configured using the annex.uuid setting, the same as is set up for other remotes.

With the above configuration, the assistant will use xmpp remotes much as any other git remote. Since XMPP requires a client that is continually running to see incoming pushes, the XMPP remote cannot be used with git at the command line.

See also: xmpp protocol design notes

It would be nice if you could expand the XMPP setup in the assistant to support an "advanced" settings view where a custom server could be defined.

Example: I have a google Apps domain called mytest.com, with the users bla1@mytest.com and bla2@mytest.com. When trying to add either of those accounts to the assistant XMPP will try to use mytest.com as the jabber server, and not googles server.

Comment by Tobias Wed Apr 17 05:45:59 2013

Yeah, I agree, this would be nice.

For your own domain, you can configure DNS like this: http://support.google.com/a/bin/answer.py?hl=en&answer=34143 to make XMPP find the right server. But for some that's not an option and the "advanced" mode would be useful in that case.

Comment by Andrew Wed Apr 17 18:28:39 2013
Comments on this page are closed.