Working on BigBlueButton HTML5 Bridge

In the past two weeks, I spent a lot of time to figure out the details about HTML5 Client. At the very beginning, it’s very difficult for me to understand the relationships among all those source code. From the package.json file, we can see that there are 12 dependencies including :

In addition, the web server for the HTML5 client is built using the Node.js platform. The Node server serves up static web pages to the clients that connect to it.The Node server connects to BigBlueButton via redis. When BigBlueButton creates a session, it creates a corresponding session in Redis. The user joins the HTML5 interface via a URL that is similar to the current join URL for BigBlueButton.

Once the user has been served the client interface, it’s client-side javascript under the hood immediately connects back to the Node server using WebSockets (through SocketIO). The BigBlueButton client gives the Node server the cookies it was just given, and server-side verification of the meetingID and the user’s unique sessionID are cross referenced to Redis. The server then stores the cookie information right in the handshake data of the socket so it can be used when the client emits events through SocketIO.

In order to get better understanding the whole project, the following resources (Provided by Leonardo Crauss Daronco) are very useful for developers:
http://backbonetutorials.com/organizing-backbone-using-modules/
http://requirejs.org/
http://javascriptplayground.com/blog/2012/07/requirejs-amd-tutorial-introduction
http://addyosmani.com/writing-modular-js/
http://www.commonjs.org/
http://addyosmani.github.com/backbone-fundamentals/
http://learn.jquery.com/javascript-101/getting-started/
http://learn.jquery.com/about-jquery/how-jquery-works/
http://learn.jquery.com/using-jquery-core/selecting-elements/
http://learn.jquery.com/using-jquery-core/
http://learn.jquery.com/events/
http://javascriptplayground.com/blog/2012/07/requirejs-amd-tutorial-introduction
http://addyosmani.github.io/backbone-fundamentals/#what-is-mvc
http://backbonetutorials.com/
http://documentcloud.github.io/backbone/docs/todos.html
http://net.tutsplus.com/tutorials/javascript-ajax/rocking-out-with-coffeescript/
http://adamjspooner.github.io/coffeescript-meet-backbonejs/
http://backbonetutorials.com/organizing-backbone-using-modules/
http://www.nodebeginner.org/#hello-world
http://www.nodebeginner.org/#building-the-application-stack
http://net.tutsplus.com/tutorials/javascript-ajax/node-js-for-beginners/
http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js#answer-5511507
http://howtonode.org/getting-started-with-express
http://howtonode.org/websockets-socketio

Advertisements
This entry was posted in open-source. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s