annotate mod_storage_muconference_readonly/README.markdown @ 5173:460f78654864

mod_muc_rtbl: also filter messages This was a bit tricky because we don't want to run the JIDs through SHA256 on each message. Took a while to come up with this simple plan of just caching the SHA256 of the JIDs on the occupants. This will leave some dirt in the occupants after unloading the module, but that should be ok; once they cycle the room, the hashes will be gone. This is direly needed, otherwise, there is a tight race between the moderation activities and the actors joining the room.
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 21 Feb 2023 21:37:27 +0100
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 ------- ---------------------------