annotate README @ 109:9fb8f0867d02

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