Skip to content

Commit 028a911

Browse files
committed
Add glossary page. Add some glossary definitions and references
1 parent fe0dbc8 commit 028a911

File tree

8 files changed

+83
-12
lines changed

8 files changed

+83
-12
lines changed

content/admin/configuration/database.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ with the [`default_db`](toplevel.md#default_db) top-level option:
7272

7373
<!-- md:version updated in [24.06](../../archive/24.06/index.md) -->
7474

75+
def:update
76+
: Modify the database schema and all its tables to match the installed ejabberd version.
77+
Not to be confused with [upgrade ejabberd](def:upgrade) or [switch schema](def:switch).
78+
7579
The [update_sql_schema](toplevel.md#update_sql_schema) top-level option
7680
allows ejabberd to create and update the tables automatically in the SQL database
7781
when using MySQL, PostgreSQL or SQLite.
@@ -140,8 +144,12 @@ remember to use the proper SQL schema!
140144
For example, if you are using MySQL and choose the _default_ schema, use `mysql.sql`.
141145
If you are using PostgreSQL and need the _new_ schema, use `pg.new.sql`.
142146

147+
def:switch
148+
: Change the database schema and all its tables from `default` schema to `new` schema.
149+
Not to be confused with [upgrade ejabberd](def:upgrade) or [update schema](def:update).
150+
143151
If you already have a MySQL or PostgreSQL database with the _default_ schema and contents,
144-
you can upgrade it to the _new_ schema:
152+
you can switch it to the _new_ schema:
145153

146154
* *MySQL*:
147155
Edit the file `sql/mysql.old-to.new.sql` which is included with ejabberd,

content/admin/configuration/listen.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ listen:
3737
3838
## ejabberd_c2s
3939
40+
def:c2s
41+
: Client to Server connection in XMPP.
42+
Opposed to [](def:s2s).
43+
4044
Handles c2s connections.
4145
4246
General listen options supported:
@@ -59,6 +63,10 @@ General listen options supported:
5963
6064
## ejabberd_s2s_in
6165
66+
def:s2s
67+
: Server to Server connection in XMPP.
68+
Opposed to [](def:c2s).
69+
6270
Handles incoming s2s connections.
6371
6472
General listen options supported:

content/admin/guide/clustering.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ need to take into account:
7575

7676
## Clustering Setup
7777

78+
def:erlang node
79+
: A node in erlang connected to a cluster.
80+
See [Erlang node name](security.md#erlang-node-name)
81+
7882
## Adding a node to a cluster
7983

8084
Suppose you have already configured ejabberd on one node named

content/admin/guide/security.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,17 @@ Most of them are TCP ports, except the explicitely mentioned ones:
2424

2525
## epmd
2626

27+
def:epmd
28+
: Small name server included in Erlang/OTP and used by Erlang
29+
programs when establishing distributed Erlang communications.
30+
See [`epmd (Erlang Port Mapper Daemon)`](https://www.erlang.org/doc/apps/erts/epmd_cmd.html)
31+
2732
!!! tip
2833
If you setup `ERL_DIST_PORT` in `ejabberdctl.cfg` to a port number
2934
(for example `5210`) then Erlang will listen only in that port,
3035
instead of starting the `epmd` program and listen in 4269 + ramdom port.
3136

32-
[`epmd (Erlang Port Mapper Daemon)`](https://www.erlang.org/doc/apps/erts/epmd_cmd.html)
33-
is a small name server included in Erlang/OTP and used by Erlang
34-
programs when establishing distributed Erlang communications. ejabberd
37+
ejabberd
3538
needs `epmd` to use `ejabberdctl` and also when clustering ejabberd
3639
nodes. This small program is automatically started by Erlang, and is
3740
never stopped. If ejabberd is stopped, and there aren't any other
@@ -74,7 +77,11 @@ erl ... -kernel inet_dist_use_interface "{127,0,0,1}"
7477

7578
## Erlang Cookie
7679

77-
The Erlang cookie is a string with numbers and letters. An Erlang node
80+
def:cookie
81+
: Random alphanumeric string assigned to each erlang [](def:node) used to secure connections between erlang nodes.
82+
See [Security in distributed erlang](https://www.erlang.org/doc/system/distributed#security).
83+
84+
An Erlang node
7885
reads the cookie at startup from the command-line parameter
7986
`-setcookie`. If not indicated, the cookie is read from the file
8087
`$HOME/.erlang.cookie`.
@@ -110,7 +117,7 @@ different programs in the same machine.
110117
Setting a secret cookie is a simple method to difficult unauthorized
111118
access to your Erlang node. However, the cookie system is not ultimately
112119
effective to prevent unauthorized access or intrusion to an Erlang node.
113-
The communication between Erlang nodes are not encrypted, so the cookie
120+
The communication between Erlang nodes are not encrypted, so the [](def:cookie)
114121
could be read sniffing the traffic on the network. The recommended way
115122
to secure the Erlang node is to block the port 4369.
116123

@@ -125,7 +132,7 @@ Using the option `-sname` instead of `-name` is a simple method to
125132
difficult unauthorized access to your Erlang node. However, it is not
126133
ultimately effective to prevent access to the Erlang node, because it
127134
may be possible to fake the fact that you are on another network using a
128-
modified version of Erlang `epmd`. The recommended way to secure the
135+
modified version of Erlang [](def:epmd). The recommended way to secure the
129136
Erlang node is to block the port 4369.
130137

131138
## Securing Sensitive Files

content/admin/install/next-steps.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ regarding `epmd` consult the section relating to
5050

5151
## Administration Account
5252

53+
def:admin account
54+
: Account registered in ejabberd with administrative privileges granted in the ejabberd configuration file.
55+
Features that take into consideration those privileges:
56+
[api_permissions](../configuration/toplevel.md#api_permissions),
57+
[ejabberd_web_admin](../guide/managing.md#web-admin),
58+
[mod_announce](../configuration/modules.md#mod_announce),
59+
[mod_configure](../configuration/modules.md#mod_configure),
60+
[mod_http_api](../configuration/modules.md#mod_http_api),
61+
[mod_muc](../configuration/modules.md#mod_muc), ...
62+
5363
Some ejabberd installation methods ask you details for the first account, and take care to register that account and grant it administrative rights;
5464
in that case you can skip this section.
5565

content/admin/upgrade/index.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Upgrade Procedure for ejabberd
22

3+
def:upgrade
4+
: Install a version of the program newer than the currently installed one.
5+
Not to be confused with [update](def:update) or [switch schema](def:switch).
6+
7+
def:update
8+
: Modify your program installation to match the requirements of the new program version.
9+
This usually involves updating your configuration, your database schema, your API client, your custom modules...
10+
Not to be confused with [upgrade ejabberd](def:upgrade) or [switch schema](def:switch).
11+
312
This document contains administration procedure for each version upgrade.
413
Only upgrade from version N to N+1 is documented and supported.
514
If you upgrade from an older version than previous one, you have to review all
@@ -79,7 +88,7 @@ or any other tasks. If the fix you plan to apply requires a module restart,
7988
you can use this alternative:
8089
[restart_module](../../developer/ejabberd-api/admin-api.md#restart_module).
8190

82-
## Note on database schema upgrade
91+
## Note on database schema update
8392

8493
ejabberd automatically updates the Mnesia table definitions at startup when needed.
8594
If you also use an external [database](../configuration/database.md) (like MySQL, ...)

content/developer/ejabberd-api/index.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@ how to start using ejabberd's API,
1717
how to adjust it to your needs,
1818
and integrate ejabberd with your existing systems.
1919

20-
## API Backends
20+
def:API command
21+
: Command defined in some ejabberd module API backend, that can be executed using some API frontend.
2122

22-
ejabberd's API currently includes over 200 commands,
23+
ejabberd's API currently includes over 200 API Commands,
2324
see [API Reference](admin-api.md) for a detailed list of all the existing commands.
2425
Alternatively you can view the list of commands grouped by their [API Tags](admin-api.md).
2526

26-
Those commands are defined and implemented in Erlang or Elixir modules.
27+
## API Backends
28+
29+
API commands are defined and implemented in Erlang or Elixir modules
30+
that can be considered "API backends".
2731
Some modules included in ejabberd define their commands,
2832
while the majority of the existing commands are defined and implemented in:
2933

@@ -36,7 +40,9 @@ see [Commands](commands.md) page for details.
3640

3741
## API Frontends
3842

39-
The API commands are exposed through interfaces. Available interfaces are:
43+
The API commands are exposed through interfaces,
44+
implemented in modules that can be considered "API frontends".
45+
Available interfaces are:
4046

4147
- [ejabberdctl](../../admin/guide/managing.md#ejabberdctl) command-line tool
4248
- [mod_http_api](../../admin/configuration/modules.md#mod_http_api) for HTTP ReST calls using JSON data

content/glossary.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Glossary
2+
3+
<glossary::def>
4+
5+
---
6+
7+
def:command
8+
: May refer to:
9+
10+
- [](def:ad-hoc command)
11+
- [](def:API command)
12+
- shell command
13+
14+
def:node
15+
: May refer to:
16+
17+
- disco node, see [mod_disco](admin/configuration/modules.md#mod_disco)
18+
- [](def:erlang node)
19+
- pubsub node, see [mod_pubsub](admin/configuration/modules.md#mod_pubsub)

0 commit comments

Comments
 (0)