BigBlueButton (BBB) is an Open Source Web Conferencing solution that offers similar features as Adobe Connect such as slide sharing, white board, desktop sharing, web cam, mic chat, breakout rooms and much more. The current version 2.2 is target of this implementation. The BBB client is HTML5 only and uses no more flash. For best performance Chrome or Firefox is recommended. The goal of this issue is to implement a native adapter to manage meetings and users.
The implementation consists of three parts:
- The admin panel and module to configure the BBB server
- A course element to embed the virtual classroom in a course
- A group tool to embed the virtual classroom in a group
The BBB module appears in the admin section in "external tools". Currently one BBB server is supported, there are plans to allow for multiple server configurations (funding needed).
- Enable / disable entire functionality
- Enable / disable usage as course element
- Enable / disable usage as group tool
- Enable / disable permanent meeting rooms (this is for use cases where the meeting room has no start and end date, however, meeting data is deleted between sessions, slides are not persisted)
- BBB server URL and shared secret
To create a meeting in a course or group the admin must first create a meeting event. When doing so a template must be chosen. This is not a BBB feature, it is an OO feature to make it possible to a) preconfigure features optimized for certain scenarios and b) guarantee a certain service level by controlling the concurrent usage of BBB.
Templates have the following features:
- Name and Description
- Enable / disable template. Disabled templates can not be selected when creating events. Events where the template is already configured will still use the disabled template
- Limit usage of template to certain roles (Group users, Coach, Course owner, Author (and learning resource managers), Administrator (and System Administrator)). Using such a restriction allows the creation of special purpose templates that can only be used by Admins and not by all authors as an example.
- Max number of participants in the meeting (viewers)
- Max number of online events that can use this type of room at the same time. The max number concurrent user using this template is the sum of ("Max number of viewers" x "Max number of meetings") of all enabled templates. This should exceed what your BBB server can handle
Room features presets defined in the template:
- Make viewer webcams only visible to moderators (Moderator webcam is always visible to all users). When this is on, viewers can still enable their webcam, however the stream is not multiplied by the number of viewers which leads to dramatic bandwidth usage in large meetings
- Mute all users on start
- Allow moderators to unmute users
- Enable / disable recording feature
- If enabled, enable / disable auto-recording
- If enabled, can recording be stopped / started manually
- Enable / disable breakout room feaure
Features can be locked for viewers. This "lock" features can be preset in the template:
- Put viewers into lock mode when they join meeting
- Allow /disallow moderator to disable the auto-lock-on-join
- Enable / disable camera feature for locked viewers
- Enable / disable micro feature for locked viewers
- Enable / disable public chat feature for locked viewers
- Enable / disable private feature for locked viewers
- Enable / disable shared note feature for locked viewers
- Enable / disable user list feature for locked viewers
- Enable / disable layout feature for locked viewers (seems not to be supported by BBB at the moment, HTML 5 client has no layout support (old feature from flash client)).
The admin panel features a list of all scheduled and passed meetings with links to the corresponding course element or group and the possibility to delete the meeting right away.
The admin panel features a calendar view to visually see the scheduled meetings and detect critical situations of many parallel meetings. The view does not offer other features than get a visual impression of the current meeting schedule.
In the course a new course element makes BBB available. The course element has the following option:
- Enable / disable launching of room by viewer. When enabled, viewers can enter the room even though the coach is not there yet. If disabled viewer must wait until coach opened the meeting.
In the course runtime the coach or course owner can create and manage meetings. When creating meetings all templates that are not limited to other roles can be selected by the coach.
- List upcoming (scheduled) meetings
- Launch currently opened meetings
- Access recordings of passed meetings (if available)
- Add new meetings
- Edit existing meetings
- Delete existing meetings (and Recordings)
- Online meetings created in the course are added to the course calendar
- The calendar events are "managed", meaning they can not be modified in the calendar (manged by BBB module)
The group integration is analogue to the course integration. Is is implemented as a collaboration tool that can be enabled. When enabled, the corresponding menu item appears.
In the group runtime the group owner can create and manage meetings. When creating meetings all templates that are not limited to other roles can be selected by the group owner. E.g. users who are also authors can select author templates while students can only select the templates available to students.
- Installation: https://docs.bigbluebutton.org/2.2/install.html
- API: https://docs.bigbluebutton.org/dev/api.html
- Great FAK with many answers: http://docs.bigbluebutton.org/support/faq.html
- Important thoughts on bandwidth: http://docs.bigbluebutton.org/support/faq.html#bandwidth-requirements
- ScaleLite, a load-balancer for BigBLueButton: https://github.com/blindsidenetworks/scalelite