Jabber Stuff

Here's a collection of bits and pieces about Jabber.

Jabber and Publish/Subscribe

Piers and I have recently submitted a JEP for Publish/Subscribe (pubsub). Pubsub is something that Jabber has needed for a while, what with all that pointy-edged information careening around the universe. Also, the concept of using Jabber for pubsub is just as intriguing.

We've made an example pubsub component and some Perl test scripts here.

New Book: Programming Jabber

Hurrah. My book is coming out this week. I'm excited and relieved at the same time. My editor sent me a copy which I received on Friday - here's a picture of it. You can order it through Amazon and other places.

Logging conference rooms: a simple hack

I've made a small and simple patch to the 0.4.1 conferencing component to enable basic logging of rooms. You can switch on logging for a room you define in the configuration of the conference component instance, by adding a <log/> tag into a <room/> definition.

(I did this a while ago, but forgot to index the information anywhere. So here it is.)

Jabber::Component::Proxy

Jabber::Component::Proxy is a new and experimental Perl library for Jabber that provides a mechanism for selectively allowing access to Jabber components such as JUDs or Conferencing. It attempts to address the problem of a component being either internal (to the Jabber server it's connected to) or world-accessable and nothing inbetween.

Jabber::Connection

Jabber::Connection is a new Perl library for Jabber that provides the basic features for client and component connectivity, plus an xmlnode-like library for flexibly manipulating Jabber elements.

Jabber::RPC

Jabber::RPC is a Perl library that implements Jabber-RPC, and is based on Jabber::Connection.

HTTPgate

HTTPgate is an experimental gateway between Jabber-RPC and 'traditional' HTTP-based XML-RPC. It allows HTTP-based requesters to make calls to Jabber-based responders, and vice versa. It uses Jabber::Connection, and the package contains plenty of examples, some of which require the Jabber::RPC library.

JECL, Perl & C++

From Perl-land to C++ and back again: A discussion (with examples) of embedding C/C++ into Perl and calling backwards and forwards between the two. This article was inspired by recent attempts to embed the JECL (Jabber Component Libraries) into Perl. [Piers Harding]

Jabber::JAX::Component

A first attempt at embedding JECL into Perl, and exposing the JAX/Judo API to Perl programmers. [Piers Harding]

Jabber-RPC

Carrying XML-RPC encoded messages over Jabber - following a brief summary of the formalisation of this process as discussed at the working session at JabberCon, and a pointer to Jabber::RPC - an implementation of Jabber-RPC in Perl.

Fun With Jabber

A set of articles introducing Jabber programming with Perl and the Net::Jabber modules

Conferencing: Simple Logfile Patch

A simple modification to enable basic logging of rooms with the 0.4.1 Jabber conferencing component.

Jabber Documentation Project

The DocBook-based structure for this project. Current content includes the server-to-server component reference

XMLRPC and Jabber

An experimental Perl module for carrying XMLRPC-encoded messages over Jabber (old - see Jabber-RPC now)

.
OpenSSL and Jabber compilation

Notes on compiling Jabber with OpenSSL

Groupchat Roundup

An overview of the various GroupChat/Conferencing Protocols

Groupchat Pinger

A look at the groupchat 'pinger'

update.jabber.org

An explanation of the update.jabber.org mysteries

jabberd Startup

Info on switches and XML config at jabberd invocation

Net::Jabber 1.0021

Some notes on using Net::Jabber 1.0021

jann - Jabber announcer

A simple administrative tool for Jabber announcements

sjabber

The sjabber groupchat client

JUD Mods

Some modifications for the JUD component

mod_admin Patch

A small patch to fix a bug in mod_admin where a 400 error occurs when a message is sent to an administrator JID

Standards Compliance JIG

Stuff relating to the S-C JIG