annotate mod_http_muc_log/README.markdown @ 4936:a85efae90e21

mod_rest: Expand mapping of XEP-0045 join stanza The previous 'join' mapping was apparently lost in translation when swithing to datamapper, so might as well map some properties allowing history control. Usually you probably want either zero history or history since the last known time of being joined. Maybe that the former should be the default?
author Kim Alvefur <zash@zash.se>
date Sat, 30 Apr 2022 01:00:01 +0200
parents 823370bc2e4c
children 8c7b7db69f5b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
1 ---
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
2 labels:
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
3 - 'Stage-Beta'
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
4 summary: Provides a web interface to stored chatroom logs
4182
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3596
diff changeset
5 rockspec:
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3596
diff changeset
6 build:
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3596
diff changeset
7 copy_directories:
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3596
diff changeset
8 - res
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
9 ...
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
11 Introduction
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
12 ============
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
14 This module provides a built-in web interface to view chatroom logs
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
15 stored by [mod\_mam\_muc].
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
17 Installation
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
18 ============
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
20 Same as any other module, be sure to include the HTML template
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
21 `http_muc_log.html` alongside `mod_http_muc_log.lua`.
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
23 Configuration
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
24 =============
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
25
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
26 For example:
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
28 ``` lua
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
29 Component "conference.example.com" "muc"
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
30 modules_enabled = {
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
31 "mam_muc";
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
32 "http_muc_log";
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
33 }
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
34 storage = {
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
35 muc_log = "sql"; -- for example
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
36 }
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
37 ```
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 The web interface would then be reachable at the address:
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
40
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
41 http://conference.example.com:5280/muc_log/
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
42
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
43 See [the page about Prosodys HTTP server][doc:http] for info about the
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
44 address.
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45
2589
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
46 ## Styling
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
47
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
48 The default HTML template lives in `http_muc_log.html` in the same
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
49 directory as the module, but can be changed by setting
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
50 `http_muc_log_template` to point to a different file. The same template,
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
51 with different input is used for every view.
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
52
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
53 The module uses [util.interpolation][doc:developers:util:interpolation]
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
54 for rendering templates, with the pattern `"%b{}"` and HTML / XML
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
55 escaping enabled.
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1977
diff changeset
56
3596
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
57 ## Default view
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
58
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
59 To link to the latest day instead of calendar from the room listing
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
60 page:
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
61
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
62 ```lua
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
63 http_muc_log_default_view = "latest"
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
64 ```
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3582
diff changeset
65
3582
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
66 ## Inline images
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
67
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
68 Inline images can optionally be shown. This is disabled by default for
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
69 privacy reasons.
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
70
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
71 ``` {.lua}
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
72 http_muc_log_show_images = true
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
73 ```
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3581
diff changeset
74
3581
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
75 ## Calendar optimization
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
76
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
77 The calendar view relies on an optional part of the Prosody archive
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
78 storage API that provides a list of every valid date. If this is
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
79 unavailable then the module queries for the first and the last messages
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
80 and assumes that every date between those is valid. This may lead to
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
81 many empty pages in case the logs are sparse.
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
82
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
83 This optimization can be turned off, to get a more accurate calendar
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
84 view, but it will likely be very slow.
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
85
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
86 ``` {.lua}
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
87 http_muc_log_lazy_calendar = false
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
88 ```
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2589
diff changeset
89
4676
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
90 ## Pinned chatrooms
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
91
4677
823370bc2e4c mod_http_muc_log: Sort rooms with a description before those without
Kim Alvefur <zash@zash.se>
parents: 4676
diff changeset
92 The room list page is normally sorted by address, rooms having a
823370bc2e4c mod_http_muc_log: Sort rooms with a description before those without
Kim Alvefur <zash@zash.se>
parents: 4676
diff changeset
93 description before those that don't. To override this, or pin certain
823370bc2e4c mod_http_muc_log: Sort rooms with a description before those without
Kim Alvefur <zash@zash.se>
parents: 4676
diff changeset
94 rooms to the top:
4676
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
95
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
96 ``` lua
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
97 http_muc_log_list_order = {
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
98 "general@channels.example.com",
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
99 "support@channels.example.com",
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
100 }
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
101 ```
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4182
diff changeset
102
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
103 Compatibility
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
104 =============
1782
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
105
1803
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1782
diff changeset
106 Requires Prosody 0.10 or above and a storage backend with support for
1977
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
107 stanza archives. See [mod\_storage\_muc\_log] for using legacy data from
cc29ec49776d mod_http_muc_log/README: Replace text that seems to have been copied from mod_muc_log_http
Kim Alvefur <zash@zash.se>
parents: 1976
diff changeset
108 [mod\_muc\_log].