mod_http_muc_log/README.markdown
author Kim Alvefur <zash@zash.se>
Sun, 05 May 2019 14:05:00 +0200
changeset 3585 dbc67120097f
parent 2593 89a3f049689f
child 3586 444e2306c99a
permissions -rw-r--r--
mod_http_muc_log: Document optimization for storage modules lacking :dates API
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
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     5
...
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     7
Introduction
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
     8
============
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    10
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
    11
stored by [mod\_mam\_muc].
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    13
Installation
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    14
============
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
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
    16
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
    17
`http_muc_log.html` alongside `mod_http_muc_log.lua`.
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
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
    19
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
    20
=============
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    21
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
    22
For example:
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
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
    24
``` 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
    25
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
    26
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
    27
    "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
    28
    "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
    29
}
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
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
    31
    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
    32
}
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
```
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    34
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    35
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
    36
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    37
    http://conference.example.com:5280/muc_log/
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    38
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
    39
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
    40
address.
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    41
2593
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    42
## Styling
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    43
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    44
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
    45
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
    46
`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
    47
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
    48
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    49
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
    50
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
    51
escaping enabled.
89a3f049689f mod_http_muc_log/README: Add some text about the HTML template
Kim Alvefur <zash@zash.se>
parents: 1981
diff changeset
    52
3585
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    53
## Calendar optimization
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    54
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    55
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
    56
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
    57
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
    58
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
    59
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
    60
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    61
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
    62
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
    63
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    64
``` {.lua}
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    65
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
    66
```
dbc67120097f mod_http_muc_log: Document optimization for storage modules lacking :dates API
Kim Alvefur <zash@zash.se>
parents: 2593
diff changeset
    67
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    68
Compatibility
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    69
=============
1786
29f3d6b7ad16 Import wiki pages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    70
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents: 1786
diff changeset
    71
Requires Prosody 0.10 or above 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
    72
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
    73
[mod\_muc\_log].