|
BigBlueButtonAPIPartitioning
BigBlueButton API partitioning design and roadmap
This document is a draft for the Bigbluebutton API partitioning development, it contains material related to design and work progress for the API Partitioning. IntroductionThe goal for the API partitioning initiative is to provide API interfaces to enable a Third Party application make calls for different Bigbluebutton modules. An example would be, starting or stopping the chat module or the presentation module from the 3rd party applications and being bale to access functionalities related to the loaded module(s). To review the changes and try out the API partitioning you can check out the code from Coral CEA repository here. Details of how to checkout the code and compile the pieces associated with API will come later on this page. Warning: we are at a very early stages of the API partitioning development, so the code is under ongoing changes and we can't guarantee a total functionality for the system at he moment. The API ArchitectureThis section contains a simple diagram of the existing API architecture. The diagram below describes the operation and information exchange for the existing Bigbluebutton API. The current development didn't involve any architectural changes for the API calls. (See digram below)
Add more details and update the images for loading 2 modules etc Also need to explain the JMS message systems and structure and more details about the "moduleCommand" API call Use cases: This section lists the use cases or the scenarios for Third Party application API calls.
API Calls suggestions for format: For the API calls and response we just followed the orginal format that was used for the BBB API calls but to make things easy we didn't use the checksum (it will be added later for the final version). The API standard calls and format can be found on the API page at the API Calls section. How to add a new API command To Do Changes on the API web-app side Files involved:
Changes on the bbb-common-message side Files involved:
Changes on the Client side
Changes on the Server side (i.e. red5) Files involved:
Potential Problems
steps to run and use the API are described here Note: Any comments or input is more welcome to improve our work To be added | |