Skip to content

Commit

Permalink
Merge pull request #3303 from esl/doc-update
Browse files Browse the repository at this point in the history
Fix small documentation issues
  • Loading branch information
vkatsuba authored Sep 28, 2021
2 parents 35119af + 55f0dc3 commit 818530a
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 36 deletions.
15 changes: 12 additions & 3 deletions doc/Contributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,26 +43,35 @@ See [esl/escalus](https://github.com/esl/escalus) on GitHub for more details.

An XMPP client library in Erlang for conveniently testing XMPP servers

Apache license 2.0
[Apache license 2.0](https://github.com/esl/escalus/blob/master/LICENSE)

### amoc

See [esl/amoc](https://github.com/esl/amoc) on GitHub for more details.

amoc is a simple tool for running massively parallel XMPP tests

Apache license 2.0
[Apache license 2.0](https://github.com/esl/amoc/blob/master/LICENSE)

!!! Info
amoc stands for "A Murder of Crows"

### amoc-arsenal-xmpp

See [esl/amoc-arsenal-xmpp](https://github.com/esl/amoc-arsenal-xmpp) on GitHub for more details.

A collection of scenarios for [amoc](#amoc), which we use to test MongooseIM.
They can however be used to load test any XMPP server.

[Apache license 2.0](https://github.com/esl/amoc-arsenal-xmpp/blob/master/LICENSE)

### exml

See [esl/exml](https://github.com/esl/exml) on GitHub for more details.

XML parsing library in Erlang

Apache license 2.0
[Apache license 2.0](https://github.com/esl/exml/blob/master/LICENSE)

### MongooseICE: ICE (STUN/TURN) server

Expand Down
4 changes: 1 addition & 3 deletions doc/developers-guide/Testing-MongooseIM.md
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,4 @@ Finally, set `GDRIVE_PARENT_DIR` environment variable of your build to the direc
### Load testing

Alongside CI, we do also CLT (Continuous Load Testing).
We have our own load testing infrastructure, called Tide, which is triggered after every successful test run, and gives us a feedback on changes to MongooseIM performance.

Test results are publicly available on the [Hello Tide!](http://tide.erlang-solutions.com/public) page.
We use [amoc](https://github.com/esl/amoc) and [amoc-arsenal-xmpp](https://github.com/esl/amoc-arsenal-xmpp/) to perform tests that give us a feedback on changes to MongooseIM performance.
36 changes: 17 additions & 19 deletions doc/developers-guide/domain_management.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,11 @@ curl -v -X PUT "http://localhost:8088/api/domains/example.db" \

Result codes:

* 204 - inserted.
* 409 - domain already exists with a different host type.
* 403 - DB service disabled.
* 403 - unknown host type.
* 500 - other errors.
* 204 - Domain was successfully inserted.
* 400 - Bad request.
* 403 - DB service disabled, or the host type is unknown.
* 409 - Domain already exists with a different host type.
* 500 - Other errors.

Example of the result body with a failure reason:

Expand All @@ -142,8 +142,7 @@ Example of the result body with a failure reason:

Check the `src/domain/mongoose_domain_handler.erl` file for the exact values of the `what` field if needed.


### Delete domain
### Remove domain

You must provide the domain's host type inside the body:

Expand All @@ -156,13 +155,13 @@ curl -v -X DELETE "http://localhost:8088/api/domains/example.db" \

Result codes:

* 204 - the domain is removed or not found.
* 403 - the domain is static.
* 403 - the DB service is disabled.
* 403 - the host type is wrong (does not match the host type in the database).
* 403 - the host type is unknown.
* 500 - other errors.

* 204 - The domain is removed or not found.
* 403 - One of:
* the domain is static.
* the DB service is disabled.
* the host type is wrong (does not match the host type in the database).
* the host type is unknown.
* 500 - Other errors.

### Enable/disable domain

Expand All @@ -178,11 +177,10 @@ curl -v -X PATCH "http://localhost:8088/api/domains/example.db" \

Result codes:

* 204 - updated.
* 404 - domain not found;
* 403 - domain is static;
* 403 - service disabled.

* 204 - Domain was successfully updated.
* 403 - Domain is static, or the service is disabled.
* 404 - Domain not found.
* 500 - Other errors.

## Command Line Interface

Expand Down
8 changes: 4 additions & 4 deletions doc/modules/mod_event_pusher_push.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ See the [relevant section](#plugin-module) for more details.
* **Default:** `[]`
* **Example:** `virtual_pubsub_hosts = ["host1", "host2"]`

The list of "simulated" Publish-Subscribe domains. You may use the `@HOSTS@` pattern in the domain name.
The list of "simulated" Publish-Subscribe domains. You may use the `@HOST@` pattern in the domain name.
It will automatically be replaced by a respective XMPP domain (e.g. `localhost`).
See the [relevant section](#virtual-pubsub-hosts) for more details.

Expand All @@ -61,7 +61,7 @@ See the [relevant section](#virtual-pubsub-hosts) for more details.
If a notification is published to one of the configured domains, the internal push notification hook
is executed in MongooseIM instead of the XEP-0357 typical behaviour. If an existing PubSub domain
is added to this list, it will be shadowed in the push notifications context. To ensure complete
shadowing of all the PubSub subdomains we must use the `@HOSTS@` pattern, otherwise only the
shadowing of all the PubSub subdomains we must use the `@HOST@` pattern, otherwise only the
subdomain of the user is shadowed. It enables easy migration from PubSub-full deployments to
PubSub-less variants.

Expand All @@ -70,7 +70,7 @@ PubSub-less variants.
This is an example of how you can migrate the existing setup to the new model. PubSub service still
exists, just for the case of a user attempting to create a node. However, its domain is overridden
for the purpose of sending push notifications. Please note the value of `virtual_pubsub_hosts`
option. `"pubsub.@HOSTS@"` is the default domain for `mod_pubsub`.
option. `"pubsub.@HOST@"` is the default domain for `mod_pubsub`.

```toml
[modules.mod_pubsub]
Expand All @@ -80,7 +80,7 @@ option. `"pubsub.@HOSTS@"` is the default domain for `mod_pubsub`.
backend.push.backend = "mnesia" # optional
backend.push.wpool.workers = 200 # optional
backend.push.plugin_module = "mod_event_pusher_push_plugin_defaults" # optional
backend.push.virtual_pubsub_hosts = ["pubsub.@HOSTS@"]
backend.push.virtual_pubsub_hosts = ["pubsub.@HOST@"]
```

#### Advantages
Expand Down
1 change: 1 addition & 0 deletions doc/modules/mod_inbox.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## Module Description

`Inbox` is an experimental feature implemented as a few separate modules.
It is described in detail as our [Open XMPP Extension](../open-extensions/inbox.md).
To use it, enable mod\_inbox in the config file.

## Options
Expand Down
2 changes: 1 addition & 1 deletion doc/open-extensions/inbox.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
When a messaging client starts, it typically builds a UI showing a list of recent chats, with metadata attached to them like, whether any chat has new messages and how many, or if it is fully read, or if they are for example muted and until when.

In MongooseIM this functionality is provided by [mod_inbox](../modules/mod_inbox.md).

## Terminology:

Expand Down
8 changes: 4 additions & 4 deletions doc/rest-api/Dynamic-domains_swagger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ paths:
204:
description: Domain was successfully inserted.
400:
description: Bad request
description: Bad request.
examples:
application/json: {"what": "body is empty"}
409:
description: Domain already exists with a different host type.
examples:
application/json: {"what": "duplicate"}
403:
description: DB service disabled or the host type is unknown.
description: DB service disabled, or the host type is unknown.
examples:
application/json: {"what": "domain is static"}
500:
Expand Down Expand Up @@ -79,7 +79,7 @@ paths:
type: boolean
responses:
204:
description: Domain was sucessfully updated.
description: Domain was successfully updated.
404:
description: Domain not found.
examples:
Expand Down Expand Up @@ -141,6 +141,6 @@ paths:
examples:
application/json: {"what": "unknown host type"}
500:
description: "Other errors"
description: "Other errors."
examples:
application/json: {"what": "database error"}
2 changes: 1 addition & 1 deletion doc/tutorials/push-notifications/Push-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ node. Check out [this][WithMongoosePush] tutorial on how to setup [MongoosePush]
backend.push.backend = "mnesia" # optional
backend.push.wpool.workers = 200 # optional
backend.push.plugin_module = "mod_event_pusher_push_plugin_defaults" # optional
backend.push.virtual_pubsub_hosts = ["pubsub.@HOSTS@"]
backend.push.virtual_pubsub_hosts = ["pubsub.@HOST@"]
```

### Advantages
Expand Down
2 changes: 1 addition & 1 deletion doc/user-guide/Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ MongooseIM gathers over 50 different XMPP-related metrics, allowing close monito

Erlang Solutions also provides [WombatOAM](https://www.erlang-solutions.com/products/wombat-oam.html), an Erlang VM monitoring solution, that enables ops and devs to better understand what going on in a MongooseIM cluster.

For load testing consider [Tide](http://tide.erlang-solutions.com/), another Erlang Solutions' tool that enables devs and ops to validate their scalability, given the clients scenarios.
For load testing we use [our own tools](../Contributions.md#amoc), that enable us to validate MongooseIM's scalability, given different scenarios.

## Multi-tenancy (dynamic domains)

Expand Down

0 comments on commit 818530a

Please sign in to comment.