Skip to content

Commit 3228147

Browse files
committed
Tweak README.
1 parent 1879ec8 commit 3228147

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

README

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,13 @@ it easy to copy or link group definitions. You may use subdirectories:
9191
a file `groups/teaching/networking.json` defines a group called
9292
*teaching/networking*.
9393

94+
95+
## Examples
96+
9497
A typical group definition file looks like this:
9598

9699
{
97100
"op":[{"username":"jch","password":"1234"}],
98-
"presenter":[{}],
99101
"allow-recording": true,
100102
"allow-subgroups": true
101103
}
@@ -105,20 +107,45 @@ password *1234*, empty username and password for presenters (ordinary
105107
users with the right to enable their camera and microphone). The
106108
`allow-recording` entry says that the operator is allowed to record videos
107109
to disk, and the `allow-subgroups` entry says that subgroups will be
108-
created automatically.
110+
created automatically. This particular group does not allow password
111+
login for ordinary users, and is suitable if you use invitations (see
112+
*Stateful Token* below) for ordinary users.
113+
114+
In order to allow password login for ordinary users, add a list of users
115+
as the entry `presenter`:
116+
117+
{
118+
"op": [{"username":"jch","password":"1234"}],
119+
"presenter": [{"username":"john", "password": "secret"}]
120+
}
121+
122+
If the group is to be publicly accessible, you may allow logins with any
123+
username and an empty password:
124+
125+
{
126+
"op": [{"username":"jch","password":"1234"}],
127+
"presenter": [{}],
128+
"public": true
129+
}
130+
131+
The empty dictionary `{}` is a wildcard entry: it matches any username and
132+
any password. Setting `public` causes the group to be displayed in the
133+
list of public groups on the landing page
134+
135+
136+
## Reference
109137

110-
More precisely, every group definition file contains a single JSON
111-
directory (a list of entries between `{' and `}'). All fields are
112-
optional, but unless you specify at least one user definition (`op`,
113-
`presenter`, or `other`), nobody will be able to join the group. The
114-
following fields are allowed:
138+
Every group definition file contains a single JSON directory (a list of
139+
entries between `{' and `}'). All fields are optional, but unless you
140+
specify at least one user definition (`op`, `presenter`, or `other`),
141+
nobody will be able to join the group. The following fields are allowed:
115142

116143
- `op`, `presenter`, `other`: each of these is an array of user
117144
definitions (see *Authorisation* below) and specifies the users allowed
118145
to connect respectively with operator privileges, with presenter
119146
privileges, and as passive listeners;
120147
- `authKeys`, `authServer` and `authPortal`: see *Authorisation* below;
121-
- `public`: if true, then the group is visible on the landing page;
148+
- `public`: if true, then the group is listed on the landing page;
122149
- `displayName`: a human-friendly version of the group name;
123150
- `description`: a human-readable description of the group; this is
124151
displayed on the landing page for public groups;

0 commit comments

Comments
 (0)