Software /
code /
prosody-modules
File
mod_server_info/README.md @ 6112:4c0e3fe57e92
mod_compliance_latest: Gracefull error logging on missing dependency.
diff --git a/mod_compliance_latest/README.md b/mod_compliance_latest/README.md
--- a/mod_compliance_latest/README.md
+++ b/mod_compliance_latest/README.md
@@ -9,13 +9,15 @@ rockspec:
# Introduction
-This module will always require and load to the lastest compliance tester we have in the community modules.
-Currently this is [mod_compliance_2023].
+This meta-module will always `require` (and therefore auto-load) the lastest compliance tester we have in the community modules.
+Currently this is [mod_compliance_2023]. See the linked module for further details.
+
+If you do not use the *Prosody plugin installer* this module will likely have limited value to you.
+You can also just install the current compliance tester manually.
# Configuration
-Just load this module as any other module and it will automatically install [mod_compliance_2023] if you use the Prosody plugin installer.
-See the linked module for further details.
+Just load this module as any other module and it will automatically install and load [mod_compliance_2023] if you use the *Prosody plugin installer*.
# Compatibility
diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua
--- a/mod_compliance_latest/mod_compliance_latest.lua
+++ b/mod_compliance_latest/mod_compliance_latest.lua
@@ -1,1 +1,6 @@
-module:depends("compliance_2023");
+local success, err = pcall(function() module:depends("compliance_2023") end)
+
+if not success then
+ module:log("error", "Error, can't load module: mod_compliance_2023. Is this module downloaded in a folder readable by prosody?")
+ return 1, "Error: Couldn't load dependency mod_compliance_2023."
+end
author | Menel <menel@snikket.de> |
---|---|
date | Mon, 23 Dec 2024 12:58:03 +0100 |
parent | 5866:ed82916e5796 |
line wrap: on
line source
--- labels: - 'Stage-Alpha' summary: Manually configure extended service discovery info ... XEP-0128 defines a way for servers to provide custom information via service discovery. Various XEPs and plugins make use of this functionality, so that e.g. clients can look up necessary information. This module allows the admin to manually configure service discovery extensions in the config file. It may be useful as a way to advertise certain information. Everything configured here is publicly visible to other XMPP entities. **Note:** This module was rewritten in February 2024, the configuration is not compatible with the previous version of the module. ## Configuration The `server_info_extensions` option accepts a list of custom fields to include in the server info form. A field has three required properties: - `type` - usually `text-single` or `list-multi` - `var` - the field name (see below) - `value` the field value Example configuration: ``` lua server_info = { -- Advertise that our maximum speed is 88 mph { type = "text-single", var = "speed", value = "88" }; -- Advertise that the time is 1:20 AM and zero seconds { type = "text-single", var = "time", value = "01:21:00" }; } ``` The `var` attribute is used to uniquely identify fields. Every `var` should be registered with the XSF [form registry](https://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo), or prefixed with a custom namespace using Clark notation, e.g. `{https://example.com}my-field-name`. This is to prevent collisions. ## Developers Developers of other modules can add fields to the form at runtime: ```lua module:depends("server_info"); module:add_item("server-info-fields", { { type = "text-single", var = "speed", value = "88" }; { type = "text-single", var = "time", value = "01:21:00" }; }); ``` Prosody will ensure they are removed if your module is unloaded. ## Compatibility This module should be compatible with Prosody 0.12 and later.