Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix small documentation issues #3303

Merged
merged 7 commits into from
Sep 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe need highlight MongooseIM maybe MongooseIM or MongooseIM

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that's a convention used anywhere in the docs regarding the name MongooseIM - is it really needed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose it's make sense to highlight MongooseIM, but up to you, this is not a critical issue, this is just proposing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I must admit I'm not a fan of it - "MongooseIM" is already capitalised, and it is the name of the program the documentation is about, no real need to highlight it there any more. If we had some different font for the name that we used everywhere, or something like a different way of writing the name then I would be more for it.
Maybe we can think about this change in the context of some other PR, as it would probably entail changing "MongooseIM" throughout the docs.

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe need highlight MongooseIM maybe MongooseIM or MongooseIM


## Multi-tenancy (dynamic domains)

Expand Down