annotate mod_storage_ejabberdsql_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
2223
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
1 ---
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
2 labels:
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
3 - 'Type-Storage'
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
4 - 'Stage-Alpha'
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
5 summary: Ejabberd SQL Read-only Storage Module
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
6 ...
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
7
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
8 Introduction
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
9 ============
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
10
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
11 This is a storage backend using Ejabberd’s SQL backend. It depends on
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 [LuaDBI][doc:depends#luadbi]
2223
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
13
c3ad652cb71f mod_storage_ejabberdsql_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 Ejabberd’s SQL backend.
2223
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
16
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
17 Configuration
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
18 =============
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
19
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
20 Copy the module to the prosody modules/plugins directory.
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
21
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
22 In Prosody's configuration file, set:
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
23
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
24 storage = "ejabberdsql_readonly"
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
25
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
26 EjabberdSQL 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
27 ones][doc:modules:mod_storage_sql#usage].
2223
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
28
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
29 Compatibility
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
30 =============
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
31
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
32 ------- ---------------------------
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
33 trunk Works
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
34 0.10 Untested, but should work
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
35 0.9 Does not work
c3ad652cb71f mod_storage_ejabberdsql_readonly: Initial commit
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
36 ------- ---------------------------