annotate README @ 90:59378610b16e

Implement node purging and node deletion.
author Ralph Meijer <ralphm@ik.nu>
date Wed, 17 Nov 2004 20:43:13 +0000
parents 41247e59b55c
children 886caecb0030
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
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
46 - A jabber server like jabberd 1.4.x
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
47
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
48 For the PostgreSQL backend, the following is also required:
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
49
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
50 - PostgreSQL
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
51 - pyPgSQL
10
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
52
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
53 Usage
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
54 =====
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
55
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
56 For jabberd 1.4 configuration, put the following in jabber.xml:
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
57
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
58 <service id='pubsub.localhost'>
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
59 <accept>
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
60 <ip>127.0.0.1</ip>
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
61 <port>1238</port>
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
62 <secret>mysecret</secret>
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 </service>
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
65
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
66 and restart jabberd.
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
67
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
68 Then, in the same directory as this file run:
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
69
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
70 mktap idavoll --rport=1238 --jid=pubsub.localhost --secret=1238
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
71 twistd -rf idavoll.tap
36f0ce354ce8 Initial revision
Ralph Meijer <ralphm@ik.nu>
parents:
diff changeset
72
88
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
73 This uses the (default) memory based backend.
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
74
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
75 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
76 like so:
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
77
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
78 createdb pubsub
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
79 psql pubsub <db/pubsub.db
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
80
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
81 Then do:
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
82
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
83 mktap idavoll --rport=1238 --jid=pubsub.localhost --secret=1238 \
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
84 --backend=pgsql
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
85 twistd -rf idavoll.tap
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 For viewing all options, run:
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
88
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
89 mktap idavoll --help
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 Contact
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
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
94 Questions, comments or suggestions are welcome!
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
95
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
96 Ralph Meijer
41247e59b55c Long needed update.
Ralph Meijer <ralphm@ik.nu>
parents: 10
diff changeset
97 <xmpp:ralphm@ik.nu>