Skip to content

Instantly share code, notes, and snippets.

@fcecagno
Last active December 6, 2022 08:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fcecagno/6a579344a046e01c74e749f2a132c7b4 to your computer and use it in GitHub Desktop.
Save fcecagno/6a579344a046e01c74e749f2a132c7b4 to your computer and use it in GitHub Desktop.
Automation for BigBlueButton launch on hybrid scenarios

Automation for BigBlueButton launch on hybrid scenarios

The context is the following:

  • professor will teach to a classroom of students in a lecture hall AND remote students
  • professor will be in the lecture hall
  • there won't be any technical staff to help the professor during the lecture, which means that the professor will operate the system

BigBlueButton will be used in this context and professor wants to engage both the local and remote audience, and allow interactivity.

The problem is the current workflow to launch and configure BigBlueButton, by the professor, as follows:

  1. Turn on the computer (optional, might be turned on already)
  2. Log in the computer (optional)
  3. Open the browser
  4. Type the Moodle URL
  5. Log in
  6. Click on the course
  7. Click on the BigBlueButton activity
  8. Click to join the session
  9. Activate microphone
  10. Activate camera

... load slides, adjust layout, and others

There's an opportunity to reduce the stress for the professor to join the session, removing steps 5 to 8 from the workflow. The idea is the following:

  • On the Moodle plugin, we will have a CRUD for physical rooms. The system administrator will be able to manage the physical room with
    • room name
    • room description
    • IP address of the equipment in the room
  • When creating a BigBlueButton activity, the professor will be able to define the physical room the class will take place
  • When selecting a physical room, it will be required to select start and stop time for the session

At this point, Moodle will know the physical rooms schedule

  • On Moodle we will have a "Quick join" block
  • The "Quick join" block will authenticate the access by IP address - based on the IP address Moodle will know the physical room the access is coming from, and based on server time Moodle knows the current and upcoming activities for that physical room
  • The "Quick join" block will show a button to join the room
  • The "Quick join" block can be displayed in the public home screen, and professor doesn't need to authenticate or even identify himself - when joining anonymously, it will join as moderator and named as the physical room

There are a few open decisions in order to proceed with an implementation:

  1. Where would the physical rooms be maintained? There's the block_mrbs (stands for Meeting Room Booking System), but it was last updated in 2016. Easy path in my opinion would be to add the physical rooms database to the BigBlueButton plugin, at the administration screen.
  2. Where the "Quick join" block would be implemented? It could be a new plugin, however it's unclear how it would integrate with the BigBlueButton plugin, since the session is scheduled in the BigBlueButton plugin. If it's a new plugin, the physical rooms management could be done in this new plugin, however (again) how does the BigBlueButton plugin would let the user choose the physical room when creating a BigBlueButton activity?
  3. Is there other ways of authenticate the access based on location, better than IP address? The main concern here is that there's a significant amount of work to add all rooms and IP addresses of rooms computers, and it would need to be stable addresses - possibly tight IP addresses to MAC addresses.

Another application related to this spec is the possibility to display the room schedule in a monitor outside of the room. This monitor could display what's the current activity of the room and upcoming events. Also, it could be authenticated based on IP address as the room PC - when managing the physical rooms, we can allow multiple IP addresses per room, configuring if that IP is intended for display information only (monitor outside the room) or that IP should allow open rooms (PC inside the room).

@jfederico
Copy link

@rrolf
Copy link

rrolf commented Dec 6, 2022

From my perspective your 10 points are already too complicated.

  1. Turn on PC in the room if not already running
  2. Make sure you are close to a microphone or you are using a wireless microphone

That should be it. Maybe there is an optional big "Start meeting" button on the screen to protect privacy.

  • Moodle knows about the schedule of the course, the videoconferences within the course and hopefully about the physical rooms (otherwise this has to become an option for the BBB-plugin).
    • even presentations for the course could be pre-uploaded from Moodle
  • The PC is automatically starting a web-browser on a certain URL. The website uses an iFrame where content is loaded based on a schedule provided by Moodle (or better an API, so that other scheduling systems can be used). So the (default) videoconference in course that booked the room will be automatically opened and closed based on the schedule
  • If connected to a BBB meeting camera and microphone should connect automatically (Lucas showed me that this is already a configuration option)
  • If needed lecturers and use their own notebook, login to Moodle, open BBB and share their screen for presentations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment