Skip to content
Merged
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
54 changes: 34 additions & 20 deletions docs/services/bbb/Getting started.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,57 @@
## Features

- guestPolicy functionality
- e.g. External Expert can join a meeting and will be marked as guest
- muteOnStart functionality
- Moderator can mute all participants on start of video conference
- allowModsToUnmuteUsers functionality
- Moderator can allow moderators to unmute users if they want to
- welcome functionality
- Moderator can write a welcome message for the Waiting room

External Expert can join a meeting and will be marked as guest now.
Moderator can mute all participants on start of video conference.
Moderator can allow moderators to unmute users, if they want to.
Moderator can write a welcome message for the Waiting room.

## Local Setup for using the features above in BBB

Add the BBB credentials **HOST** and **SALT** to your env. file, you can find them in 1Password.
Add the BBB credentials **HOST** and **SALT** to your env. file, you can find them in the password vault.

Add `FEATURE_VIDEOCONFERENCE_ENABLED=true` in **client** and **server** and
`FEATURE_VIDEOCONFERENCE_WAITING_ROOM_ENABLED=true` to your env. file in the client.

Add the right permission to the role. Permissions they need are `START_MEETING, JOIN_MEETING`.
Add the right permissions to the role. Permissions needed are `START_MEETING, JOIN_MEETING`.

Add "videoconference" to School features (table schools) in MongoDB.
Add "videoconference" to School property 'features' array (table 'schools') in MongoDB.

Make sure that the fields below exists in the videoconference ltitool object (MongoDB).
Make sure you started the server with the following env values:

> ```
> FEATURE_VIDEOCONFERENCE_ENABLED=true
> VIDEOCONFERENCE_HOST=https://bbb.staging.messenger.schule/bigbluebutton
> VIDEOCONFERENCE_SALT (from password vault)
> FEATURE_COLUMN_BOARD_VIDEOCONFERENCE_ENABLED=true (to make the option BBB visible within Boards)
> ```

When a videoconference is created (e.g. when a teacher activates the feature for a course) within the database (table 'videoconferences')
an object is created with the following structure:

> **💡 Tip**
>
> ```
> "isHidden":false,
> "name":"Video-Konferenz mit BigBlueButton",
> "url":"BBB_URL",
> "isLocal":true,
> "logo_url":"/images/tools/bbb/available.png",
> {
> "_id" : ObjectId("ID"),
> "createdAt" : ISODate("2026-02-02T10:01:25.075+0000"),
> "updatedAt" : ISODate("2026-02-02T10:02:00.127+0000"),
> "target" : "COURSE_ID",
> "targetModel" : "courses",
> "options" : {
> "everyAttendeJoinsMuted" : true,
> "everybodyJoinsAsModerator" : false,
> "moderatorMustApproveJoinRequests" : false
> },
> "salt" : "SALT_VALUE"
> }
> ```

Make sure you started nuxt client.

> FEATURE_VIDEOCONFERENCE_ENABLED=true
> VIDEOCONFERENCE_HOST=https://bbb.staging.messenger.schule/bigbluebutton
> VIDEOCONFERENCE_SALT
A similar structure would be present in case the videoconference is added as a board element but of course 'target' would refer to a different object (board) and for 'targetModel' we would have the value "video-conference-elements".

## External Experts Waiting room

Expand All @@ -60,6 +74,6 @@ The following changes are necessary:

**Server:**
- Add the correct parameters on room creation to allow guests only after moderator permission
- Add a check for external experts to give then the BBB-role "Guest"
- Add a check for external experts to give them the BBB role "Guest"

Those changes will be most likely done in the legacy code due to delivery timeline reasons.
Those changes will most likely be done in the legacy code due to delivery timeline reasons.