Idavoll using Twisted Python.
What is Idavoll?
================
A pubsub service, as defined in JEP-0060, aiming to be fully compliant and
mostly complete. The goal is to build a /generic/ pubsub service, but of which
parts can be reused for building custom pubsub services for specific
applications.
Current Status
==============
There are two different backends: one using PostgreSQL for storage, and one
just keeping everything in memory.
In Idavoll the mimimal requirements of JEP-0060 version 1.8 are implemented
plus most optional features, as returned by Service Discovery.
Requirements
============
- Twisted Core >= 2.0.0
- Twisted Words >= 0.3.0
- uuid.py (http://ofxsuite.berlios.de/uuid.py)
- A jabber server that supports the component protocol (JEP-0114)
For the PostgreSQL backend, the following is also required:
- PostgreSQL
- pyPgSQL
Usage
=====
For jabberd 1.4 configuration, put the following in jabber.xml:
127.0.0.1
1238
mysecret
and restart jabberd.
For jabberd 2.x, you can use the 'legacy' component support that defaults
to port 5347. You do not need to add anything specific for this service.
For other server implementations, please refer to its documentation on
how to interact with server side components using the protocol defined in
JEP-0114.
Then, in the same directory as this file run:
mktap idavoll --rport=1238 --jid=pubsub.localhost --secret=1238
twistd -rf idavoll.tap
This uses the (default) memory based backend. You can ignore the deprecation
warnings.
For using the PostgreSQL backend, create a database (for example named pubsub)
like so:
createdb pubsub
psql pubsub