mod_http_muc_log/README.markdown
author Matthew Wild <mwild1@gmail.com>
Sat, 24 Sep 2022 09:26:26 +0100
changeset 5063 5f1120c284c5
parent 4974 8c7b7db69f5b
child 5109 2402ddabe7f7
permissions -rw-r--r--
mod_cloud_notify_extensions: Add note about dependency Noting here because people might not click through to see it on the mod_cloud_notify_encrypted page.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     1
---
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     2
labels:
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     3
- 'Stage-Beta'
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     4
summary: Provides a web interface to stored chatroom logs
4186
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3600
diff changeset
     5
rockspec:
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3600
diff changeset
     6
  build:
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3600
diff changeset
     7
    copy_directories:
1890115b2773 mod_http_muc_log: Move template into a directory to ease packaging
Kim Alvefur <zash@zash.se>
parents: 3600
diff changeset
     8
      - res
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     9
...
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    11
Introduction
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    12
============
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    14
This module provides a built-in web interface to view chatroom logs
1981
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: 1980
diff changeset
    15
stored by [mod\_mam\_muc].
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    17
Installation
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    18
============
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
1981
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: 1980
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: 1980
diff changeset
    21
`http_muc_log.html` alongside `mod_http_muc_log.lua`.
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
1981
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: 1980
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: 1980
diff changeset
    24
=============
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    25
1981
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: 1980
diff changeset
    26
For example:
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
1981
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: 1980
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: 1980
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: 1980
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: 1980
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: 1980
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: 1980
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: 1980
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: 1980
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: 1980
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: 1980
diff changeset
    37
```
1786
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:
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    40
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    41
    http://conference.example.com:5280/muc_log/
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    42
1981
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: 1980
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: 1980
diff changeset
    44
address.
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    45
2593
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    46
## Styling
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    47
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
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: 1981
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: 1981
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: 1981
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: 1981
diff changeset
    52
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
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: 1981
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: 1981
diff changeset
    55
escaping enabled.
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    56
3600
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
diff changeset
    57
## Default view
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
diff changeset
    58
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
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: 3586
diff changeset
    60
page:
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
diff changeset
    61
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
diff changeset
    62
```lua
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
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: 3586
diff changeset
    64
```
6e529f53b3c3 mod_http_muc_log: Allow specifying the default view
Kim Alvefur <zash@zash.se>
parents: 3586
diff changeset
    65
3586
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
diff changeset
    66
## Inline images
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
diff changeset
    67
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
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: 3585
diff changeset
    69
privacy reasons.
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
diff changeset
    70
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
diff changeset
    71
``` {.lua}
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
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: 3585
diff changeset
    73
```
444e2306c99a mod_http_muc_log: Add option to show OOB images
Kim Alvefur <zash@zash.se>
parents: 3585
diff changeset
    74
3585
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    75
## Calendar optimization
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    76
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
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: 2593
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: 2593
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: 2593
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: 2593
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: 2593
diff changeset
    82
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
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: 2593
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: 2593
diff changeset
    85
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    86
``` {.lua}
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
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: 2593
diff changeset
    88
```
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    89
4680
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4186
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: 4186
diff changeset
    91
4681
823370bc2e4c mod_http_muc_log: Sort rooms with a description before those without
Kim Alvefur <zash@zash.se>
parents: 4680
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: 4680
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: 4680
diff changeset
    94
rooms to the top:
4680
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4186
diff changeset
    95
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4186
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: 4186
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: 4186
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: 4186
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: 4186
diff changeset
   100
}
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4186
diff changeset
   101
```
a2cf3b69a3d6 mod_http_muc_log: Add way to list certain rooms in a specified order
Kim Alvefur <zash@zash.se>
parents: 4186
diff changeset
   102
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
   103
Compatibility
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
   104
=============
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
   105
4974
8c7b7db69f5b mod_http_muc_log: Drop support for pre-0.11 MUC API
Kim Alvefur <zash@zash.se>
parents: 4681
diff changeset
   106
Requires Prosody 0.11 or later and a storage backend with support for
1981
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: 1980
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: 1980
diff changeset
   108
[mod\_muc\_log].