annotate mod_storage_muconference_readonly/README.markdown @ 4942:e7b9bc629ecc

mod_rest: Add special handling to catch MAM results from remote hosts Makes MAM queries to remote hosts works. As the comment says, MAM results from users' local archives or local MUCs are returned via origin.send() which is provided in the event and thus already worked. Results from remote hosts go via normal stanza routing and events, which need this extra handling to catch. This pattern of iq-set, message+, iq-result is generally limited to MAM. Closest similar thing might be MUC join, but to really handle that you would need the webhook callback mechanism.
author Kim Alvefur <zash@zash.se>
date Mon, 16 May 2022 19:47:09 +0200
parents 9754eedbc4d1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2222
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
1 ---
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
2 labels:
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
3 - 'Type-Storage'
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
4 - 'Stage-Alpha'
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
5 summary: MU-Conference SQL Read-only Storage Module
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
6 ...
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
7
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
8 Introduction
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
9 ============
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
10
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
11 This is a storage backend using MU-Conference’s SQL storage. It depends
2226
9754eedbc4d1 mod_storage_ejabberdsql_readonly, mod_storage_muconference_readonly: Actually fix the links.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 2225
diff changeset
12 on [LuaDBI][doc:depends#luadbi]
2222
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
13
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
14 This module only works in read-only, and was made to be used by
2226
9754eedbc4d1 mod_storage_ejabberdsql_readonly, mod_storage_muconference_readonly: Actually fix the links.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 2225
diff changeset
15 [mod_migrate] to migrate from MU-Conference’s SQL storage.
2222
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
16
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
17 You may need to convert your 'rooms' and 'rooms\_lists' tables to
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
18 utf8mb4 before running that script, in order not to end up with
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
19 mojibake. Note that MySQL doesn’t support having more than
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
20 191 characters in the jid field in this case, so you may have to change
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
21 the table schema as well.
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
22
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
23 Configuration
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
24 =============
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
25
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
26 Copy the module to the prosody modules/plugins directory.
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
27
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
28 In Prosody's configuration file, set:
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
29
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
30 storage = "muconference_readonly"
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
31
2225
4c3bcc56c51e mod_storage_ejabberdsql_readonly, mod_storage_muconference_readonly: Make links use the better syntax.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 2224
diff changeset
32 MUConferenceSQL options are the same as the [SQL
2226
9754eedbc4d1 mod_storage_ejabberdsql_readonly, mod_storage_muconference_readonly: Actually fix the links.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 2225
diff changeset
33 ones][doc:modules:mod_storage_sql#usage].
2222
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
34
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
35 Compatibility
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
36 =============
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
37
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
38 ------- ---------------------------
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
39 trunk Works
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
40 0.10 Untested, but should work
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
41 0.9 Does not work
51596d73157e mod_storage_muconference_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
42 ------- ---------------------------