Nextcloud App for BigBlueButton integration

Hi Nextcloud community,

We are a company that is currently trying to offer a free Nextcloud service to schools to support teachers and students in the corona crisis.

We are currently setting up and integrating NextCloud and BigBlueButton (https://bigbluebutton.org/) for live lessons during the corona crisis.

We already have a “walking skeleton” but need additional support from the community to develop a proper Nextcloud app.

BigBlueBotton API is well documented at https://docs.bigbluebutton.org/dev/api.html

These are the top user stories we currently see:

  • create classrooms (as teacher or admin) for BBB sessions
  • share classrooms with users and groups
  • assign Nextcloud users/groups roles in BBB (viewer, moderator)
  • implement locking (moderator can only be in one room, participant can only be in one room)

Are there any volunteers interested in helping us out with this? It would of course all be 100% open source on github and available as an app for all Nextcloud users! Together, we can hopefully help schools continue teaching their students.

Thanks in advance for your support
A

9 Likes

I think the Nextcloud Freelancing section is the place you are looking for:

https://help.nextcloud.com/c/nextcloud-freelancing/

Hi,

I am available if you need help for the implementation.

2 Likes

Great, are you available for an online meeting later today? Pls reply to armin.oppitz@liongate.de
thanks A

Hello,

I can give some help too if needed !
I’ve already some experience un NC apps dev and in BBB usage/installation

1 Like

Oh… nice to know !

Sounds great! Especially as Nextclouds own Backend Server for “Talk” is out of reach for many of us.
I would really appreciate if every user would be able to start sessions, manage talks et cetera. Sure, in many cases that might not be reasonable, but i would be really like to offer my students the opportunity to work on their own and not having to contact me just to start an online meeting for them.

I can give my help on testing product, hosting for testing.
I can’t wait to participate to this journey

Looking forward to this. Nextcloud Talk works well for individual calls, but an integrated solution for conferences/presentations would be very welcome.

1 Like

I was asked by two school about exactly the same.
Right now my sister who is a teacher uses a nextcloud instance with the talk application. It works, but especially for the calls moderating possibilities would make live a lot easier. Especially when you have a class of 20 8 year old pupils (muting everybody, unmute only one at a time, etc.). I’ve also looked into the usual suspects, xmpp, jitsi meeting, rocket chat, matrix. But all of them are missing moderation capabilities.
So I’m also looking right now if it’s possible to integrate the BigBlueButton or maybe Apache Openmeeting into nextcloud. The newest version of apache openmeeting doesn’t need flash anymore. But as it seems it’s only a Milestone version yet. So I guess BigBlueButton would be the better choice.
@oppitza How far did you get?
Unfortunately I can’t offer my programing skills, since I’ve already got way too many projects going. I’m doing this one here more as a kind of favor.

Just my 2 cents before I go to bed
About the classrooms. If BBB supports LDAP, SAML2 or OpenId Connect one could propably map the user groups to classrooms in BBB and roles (viewer, moderator) ?
I didn’t have time yet to look further into BBB. But at least into Nextcloud it’s relatively easy to integrate LDAP and/or SAML 2. It wouldn’t be a direct Nextcloud integration, but at least they would use the same Authentication Backend. When using SSO (SAML or OpenId Connect) one could even integrate BBB as a iFrame into Nextcloud (There’s an app for that), and only would need to log into nextcloud.

Hi, our plattform is up and running. The integration between NC and BBB works but is in an early stage and we are planning to refactor it with the support from the NC community.
Please see www.vicole.de (Sorry its only in German). We also have a demo system running. See https://www.vicole.de/demo/
The big advantage of BBB is that it has the features needed for teaching like mute/unmute.
Pls contact our team at info@vicole.de
Where are you based?
Regards
Armin

3 Likes

Another option would be to integrate Kurento Media Server (just the same BigBlueButton uses) into Talk if somebody wants to tackle that:

cool. I’ll look into it, but tomorrow, it’s quite late right now.
Well the schools I’m talking about are in Switzerland, but right now I am in Colombia ;-).
But german is no problem.
Meanwhile I had more time to look at BBB and realized my first idea how to tackle the problem won’t work in any way possible since BBB works quite different than most chat programs I’ve seen so far. I’m looking forward to see how you’ve solved it.

Hi! … my 2 cents

  1. cent: please take a look at this CfP https://www.cei.int/news/8810/covid-19-extraordinary-call-for-proposals-launched-600000-eur-for-projects-in-field-of-healthcare
    … we have NextCloud and BigBlueButton as separate services and would also like to connect them (we are public research institute) … it’s possible to make a proposal so we could get the funding for it.

  2. These efforts should also enhance this library: https://github.com/bigbluebutton/bigbluebutton-api-php

2 Likes

Hi alen

I’ve just contacted vicole.
Anyway, if you look at
https://github.com/bigbluebutton/bigbluebutton-api-php/wiki/API-Join
it seems like it should be pretty easy integrating BBB into nextcloud. You basically just need a few lines of code, and create rooms and rights based on groups. Like each class is a group which has a room, depending if a user is teacher or student he’ll get different rights in BBB.
At least the theory looks like that :wink:

Hi Armin, RMM!

@oppitza … I’ve check out the demo… it’s great and I have a bit different use case but generally feature requirements are similar. I’m cannot join in programming part currently but I would really like to collaborate regarding the user interface… You demo is a great proof of concept but I would like to see a deeper integration (join meetings from Talk or other apps) and meetings administration features (manage meetings, scheduling, recordings management etc.).

My case is a research institute and we provide the Nextcloud service for our researchers to collaborate around their research projects, sharing data and documentation and communicate via Talk or via BigBlueButton larger sessions (webinars, meetings).

Maybe you should create an app according to Nextcloud dev principles https://docs.nextcloud.com/server/latest/developer_manual//app/index.html
… then we can collaborate through issues there.

Also, it is possible that we participate in funding the development.

So, lets make a team of interested parties and start collaboration.

Best,
Alen
alen@irb.hr

1 Like

Hello everyone,

My first post :slight_smile: Here is an idea:

Since NC Talk works well for 2-4 users (and is maintained), why not start with that, use the BB PHP API whenever video / audio calls are concerned. I am sure it is a bit harder than I make it sound, but much of the UI of Talk is mature. The chat would continue to go through NC back-end (since it works there is no reason to mess with it).

Thoughts?

We got it working! We need help to release it.

  1. We want to release it to the community, but don’t have enough experience to package it (and frankly, others would be better at it)
  2. Right now the parameters are hard-coded (BigBlueButton URL and secret) we need to update the settings page and pull values into the code
  3. We use an iframe to load BBB, so need to add the domain of BBB to /lib/public/AppFramework/Http/ContentSecurityPolicy.php – there has to be a better way
  4. Some code cleanup is needed to remove webrtc from JS and from signaling in PHP

Any takers to help?

On another note, while it is an achievement to use PHP for WebRTC audio / video signalling, it has high latency (not a persistent server), has limited scalability, and uses too much CPU power on the NC server. A bad idea! Now that this is working I don’t see how we would go back.

7 Likes

If you can publish your code on Github or Gitlab other people could help you out.

Dear Nextcloud community;
thanks for all your feedback so far. As already said our platform for live classroom is up and running (see demo at www.vicole.de ). The platform is based on Nextcloud and BigBlueButton and we are planning to release a Nextcloud app for this in the near future.

Please stay tuned and stay safe.

6 Likes