88
|
1 Idavoll using Twisted Python. |
10
|
2 |
88
|
3 What is Idavoll? |
|
4 ================ |
10
|
5 |
|
6 A pubsub service, as defined in JEP-0060, aiming to be fully compliant and |
|
7 mostly complete. The goal is to build a /generic/ pubsub service, but of which |
|
8 parts can be reused for building custom pubsub services for specific |
|
9 applications. |
|
10 |
|
11 |
|
12 Current Status |
|
13 ============== |
|
14 |
88
|
15 There are two different backends: one using PostgreSQL for storage, and one |
|
16 just keeping everything in memory. |
10
|
17 |
88
|
18 In Idavoll the mimimal requirements of JEP-0060 version 1.6 are implemented. |
|
19 It also returns the following features: |
10
|
20 |
88
|
21 http://jabber.org/protocol/pubsub#outcast-affiliation |
|
22 http://jabber.org/protocol/pubsub#publisher-affiliation |
|
23 http://jabber.org/protocol/pubsub#persistent-items |
|
24 http://jabber.org/protocol/pubsub#subscribe |
|
25 http://jabber.org/protocol/pubsub#create-nodes |
|
26 http://jabber.org/protocol/pubsub#instant-nodes |
10
|
27 |
88
|
28 When using the PostgreSQL backend the following features are also supported: |
|
29 |
|
30 http://jabber.org/protocol/pubsub#retrieve-items |
10
|
31 |
|
32 Requirements |
|
33 ============ |
|
34 |
88
|
35 - Twisted >= 1.2.0 |
10
|
36 - The following patches to the twisted/xish directory: |
|
37 |
|
38 http://mag.ik.nu/~ralphm/tmp/domish.py.patch |
|
39 http://mag.ik.nu/~ralphm/tmp/utility.py.patch |
|
40 http://mag.ik.nu/~ralphm/tmp/xpath.py.patch |
|
41 |
88
|
42 - The following patches to the twisted/protocols/jabber directory: |
|
43 |
|
44 http://mag.ik.nu/~ralphm/tmp/jid.py.patch |
|
45 |
|
46 - A jabber server like jabberd 1.4.x |
|
47 |
|
48 For the PostgreSQL backend, the following is also required: |
|
49 |
|
50 - PostgreSQL |
|
51 - pyPgSQL |
10
|
52 |
|
53 Usage |
|
54 ===== |
|
55 |
|
56 For jabberd 1.4 configuration, put the following in jabber.xml: |
|
57 |
|
58 <service id='pubsub.localhost'> |
|
59 <accept> |
|
60 <ip>127.0.0.1</ip> |
|
61 <port>1238</port> |
|
62 <secret>mysecret</secret> |
|
63 </accept> |
|
64 </service> |
|
65 |
|
66 and restart jabberd. |
|
67 |
|
68 Then, in the same directory as this file run: |
|
69 |
|
70 mktap idavoll --rport=1238 --jid=pubsub.localhost --secret=1238 |
|
71 twistd -rf idavoll.tap |
|
72 |
88
|
73 This uses the (default) memory based backend. |
|
74 |
|
75 For using the PostgreSQL backend, create a database (for example named pubsub) |
|
76 like so: |
|
77 |
|
78 createdb pubsub |
|
79 psql pubsub <db/pubsub.db |
|
80 |
|
81 Then do: |
|
82 |
|
83 mktap idavoll --rport=1238 --jid=pubsub.localhost --secret=1238 \ |
|
84 --backend=pgsql |
|
85 twistd -rf idavoll.tap |
|
86 |
|
87 For viewing all options, run: |
|
88 |
|
89 mktap idavoll --help |
|
90 |
|
91 Contact |
|
92 ======= |
|
93 |
|
94 Questions, comments or suggestions are welcome! |
|
95 |
|
96 Ralph Meijer |
|
97 <xmpp:ralphm@ik.nu> |