Sakai · step-by-step
Integrate BigBlueButton with Sakai Meetings
Deploy the Sakai Meetings tool without letting an old compatibility assumption become the most fragile component in the LMS.
Executive brief
What matters
- 01
Confirm the Sakai and connector versions before changing production.
- 02
Validate teacher, learner and recording workflows—not merely the API handshake.
- 03
Treat the API or LTI secret as a server-side production credential.
01
Choose the supported integration path
Sakai’s BigBlueButton experience is provided through the Meetings tool. Because Sakai releases and institutional builds vary, match the tool release to the exact Sakai version and review its release notes before deployment.
- Exact Sakai build and Java/application-server baseline recorded.
- Compatible Meetings tool package or vendor-supported distribution.
- Staging worksite and BBB/Scalelite credentials.
02
Prepare BigBlueButton and credentials
Use a production BigBlueButton endpoint with a trusted TLS certificate. Keep the API shared secret or LTI secret on the server side: it is equivalent to an application credential and must never be placed in browser code, a public repository or a screenshot.
- 1
Confirm the BigBlueButton server is healthy and that its public hostname resolves correctly.
- 2
Retrieve the API URL and shared secret with sudo bbb-conf --secret, or create a dedicated LTI key and secret where the integration uses LTI.
- 3
Record the platform version, connector version, owner and rollback point before making the change.
sudo bbb-conf --check
sudo bbb-conf --secret
03
Configure Sakai
Make the first connection in a staging course, workspace or tenant. Use a dedicated test teacher and test learner so role mapping can be observed rather than inferred from an administrator account.
- 1
Deploy the compatible Meetings tool using your normal Sakai extension procedure.
- 2
Configure the BBB endpoint and secret in server-side Sakai properties.
- 3
Restart or reload through the supported Sakai deployment process.
- 4
Add Meetings to a staging worksite and map maintain/access roles.
04
Run an end-to-end acceptance test
A green “connection successful” message proves only that one API request worked. The useful test follows the complete classroom lifecycle from creation through recording publication.
- 1
Create meetings as instructor and confirm students cannot acquire moderator rights.
- 2
Exercise join windows, guest rules and recurring room behaviour.
- 3
Record and confirm playback permissions inside the worksite.
- 4
Archive or close the worksite and confirm the meeting boundary follows policy.
05
Common problems and practical fixes
Start with timestamps, browser developer tools and the logs on both sides. Repeatedly replacing secrets rarely fixes a hostname, TLS, role or callback problem and makes the evidence harder to follow.
- A tool that does not appear often indicates package/Sakai version mismatch.
- 403 or signature errors require comparing endpoint path, clock and secret.
- Recording access issues should be tested with a real student role, not admin impersonation alone.
06
Production hardening and upgrades
Restrict who can create rooms, define recording retention, test accessibility and document the integration owner. Pin or approve connector updates, subscribe to upstream releases and repeat the acceptance test after changes to the LMS, connector, BigBlueButton or reverse proxy.
- Do not expose the BigBlueButton shared secret to course authors or client-side JavaScript.
- Use least-privilege teacher roles and test guest, suspended and unenrolled users.
- Monitor API errors, failed joins, recording processing and disk growth.
- Keep a short rollback runbook: previous package, configuration backup and maintenance window.
Evidence base
Sources and further reading
We prefer project documentation and first-party product guidance. Community links are included where they reveal recurring operational questions rather than establish product guarantees.
Practical answers
Questions teams ask
Can Sakai and BigBlueButton run on the same server?+
They should normally be separated. BigBlueButton expects a clean, dedicated media host; co-location creates port, resource and upgrade conflicts.
Should I point the integration at Scalelite?+
Yes when you operate a Scalelite pool. Use the load balancer API URL and secret so new meetings can be assigned across healthy BigBlueButton nodes.
Why do recordings not appear immediately?+
BigBlueButton publishes recordings asynchronously after a meeting ends. Long meetings and busy processing queues take longer; check recording status before changing the connector.
Continue the research
Related guides and infrastructure
Integrating with the BigBlueButton API
Build a secure BigBlueButton integration for meeting creation, role-based joins, callbacks and recording management.
Read next → Security & governanceBigBlueButton recordings and privacy
Understand BigBlueButton capture, processing, publication, access, retention and deletion before enabling classroom recordings.
Read next → OperationsMigrating BigBlueButton from another provider
Move BigBlueButton, Greenlight, recordings, integrations and DNS to a new provider with a tested rollback plan.
Read next →