view mod_server_info/README.md @ 5801:73887dcb2129

mod_pubsub_serverinfo: New module that uses pub/sub to make accessible server info This first implemetnation is laughably simple: it only adds a disco#info feature. This flags 'opt-in' for inclusion of local domain names in the data exposed by other domains (per the domain), which will allow servers to be listed in the XMPP Network Graph at https://xmppnetwork.goodbytes.im Hopefully, this bare-boned implementation acts as a stepping stone for future improvements.
author Guus der Kinderen <guus.der.kinderen@gmail.com>
date Thu, 28 Dec 2023 11:02:35 +0100
parents 174c77da03f5
children
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.

## Configuration

The `server_info` option accepts a list of dataforms. A dataform is an array
of fields. A field has three required properties:

- `type` - usually `text-single` or `list-multi`
- `var` - the field name
- `value` the field value

Example configuration:

``` lua
server_info = {

	-- Our custom form
	{
		-- Conventionally XMPP dataforms have a 'FORM_TYPE' field to
		-- indicate what type of form it is
		{ type = "hidden", var = "FORM_TYPE", value = "urn:example:foo" };

		-- 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" };
	};

}
```

## Compatibility

This module should be compatible with Prosody 0.12, and possibly earlier
versions.