Mercurial > prosody-modules
annotate mod_http_muc_log/README.markdown @ 5668:ecfd7aece33b
mod_measure_modules: Report module statuses via OpenMetrics
Someone in the chat asked about a health check endpoint, which reminded
me of mod_http_status, which provides access to module statuses with
full details. After that, this idea came about, which seems natural.
As noted in the README, it could be used to monitor that critical
modules are in fact loaded correctly.
As more modules use the status API, the more useful this module and
mod_http_status becomes.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 06 Oct 2023 18:34:39 +0200 |
parents | 2402ddabe7f7 |
children | 02657e8693bc |
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 |
5105
2402ddabe7f7
mod_http_muc_log: Include static resources (css & js) in plugin package
Kim Alvefur <zash@zash.se>
parents:
4970
diff
changeset
|
9 - static |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
10 ... |
1782 | 11 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
12 Introduction |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
13 ============ |
1782 | 14 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
15 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
|
16 stored by [mod\_mam\_muc]. |
1782 | 17 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
18 Installation |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
19 ============ |
1782 | 20 |
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
|
21 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
|
22 `http_muc_log.html` alongside `mod_http_muc_log.lua`. |
1782 | 23 |
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
|
24 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
|
25 ============= |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
26 |
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
|
27 For example: |
1782 | 28 |
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
|
29 ``` 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
|
30 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
|
31 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
|
32 "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
|
33 "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
|
34 } |
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 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
|
36 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
|
37 } |
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
|
38 ``` |
1782 | 39 |
40 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
|
41 |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
42 http://conference.example.com:5280/muc_log/ |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
43 |
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
|
44 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
|
45 address. |
1782 | 46 |
2589
89a3f049689f
mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents:
1977
diff
changeset
|
47 ## Styling |
89a3f049689f
mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents:
1977
diff
changeset
|
48 |
89a3f049689f
mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents:
1977
diff
changeset
|
49 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
|
50 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
|
51 `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
|
52 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
|
53 |
89a3f049689f
mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents:
1977
diff
changeset
|
54 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
|
55 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
|
56 escaping enabled. |
89a3f049689f
mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents:
1977
diff
changeset
|
57 |
3596
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
58 ## Default view |
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
59 |
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
60 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
|
61 page: |
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
62 |
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
63 ```lua |
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
64 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
|
65 ``` |
6e529f53b3c3
mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents:
3582
diff
changeset
|
66 |
3582
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
67 ## Inline images |
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
68 |
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
69 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
|
70 privacy reasons. |
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
71 |
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
72 ``` {.lua} |
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
73 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
|
74 ``` |
444e2306c99a
mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents:
3581
diff
changeset
|
75 |
3581
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
76 ## Calendar optimization |
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
77 |
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
78 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
|
79 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
|
80 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
|
81 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
|
82 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
|
83 |
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
84 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
|
85 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
|
86 |
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
87 ``` {.lua} |
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
88 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
|
89 ``` |
dbc67120097f
mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents:
2589
diff
changeset
|
90 |
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
|
91 ## 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
|
92 |
4677
823370bc2e4c
mod_http_muc_log: Sort rooms with a description before those without
Kim Alvefur <zash@zash.se>
parents:
4676
diff
changeset
|
93 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
|
94 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
|
95 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
|
96 |
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 ``` 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
|
98 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
|
99 "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
|
100 "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
|
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 ``` |
a2cf3b69a3d6
mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents:
4182
diff
changeset
|
103 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
104 Compatibility |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1782
diff
changeset
|
105 ============= |
1782 | 106 |
4970
8c7b7db69f5b
mod_http_muc_log: Drop support for pre-0.11 MUC API
Kim Alvefur <zash@zash.se>
parents:
4677
diff
changeset
|
107 Requires Prosody 0.11 or later 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
|
108 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
|
109 [mod\_muc\_log]. |