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
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
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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].