From https://github.com/bigbluebutton/bigbluebutton/tree/html5-bridge In bigbluebutton / bigbluebutton-apps / src / main / java / org / bigbluebutton / conference / service / Service Classes call methods from the bridge methods and write date to a redis instance
ChatService -> ChatBridge
Creates a new key (hmset)
'meeting-meetingID-message-messageID':
{
'message' : 'message',
'username' : 'username',
'userID' : userID
}
Appends message id (rpush)
'meeting-meetingID-messages':
[
messageID1, messageID2, ...
]
Using sadd
'meeting-meetingID-users' : { userID }
Using hmset
'meeting-meetingID-user-userID' :
{
'username' : 'username',
'meetingID' : meetingID,
'refreshing' : true/false,
'dupSess' : true/false,
'sockets' : 0,
'pubID' : publicID
}
Using srem, removes:
'meeting-meetingID-users' : { userID }
Using del, removes:
'meeting-meetingID-user-userID'
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [meetingID, 'user join', userID, 'username', 'role'] }
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [meetingID, 'user leave', userID] }
Using hset, 'meeting-meetingID-user-userID-status' : { "presenter", true/false }
Using hmset,
'meeting-meetingID-presenter' :
{
'sessionID' : 0,
'publicID' : userID
}
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [ meetingID, 'setPresenter', userID ] }
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [ meetingID, 'mvcur', xPercent, yPercent ] }
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [ meetingID, 'changeslide', 'presentation_url' ] }
{ [ meetingID, 'clrPaper', ] }
Queries all Shapes from the current slide using lrange and 'meeting-meetingID-presentation-presentationName-page-slideNumber-currentshapes-shapeID':
{ [meetingID, "all_shapes", "shapes" : [ ... ] ] }
On channel BIGBLUEBUTTON_BRIDGE
{ [meetingID, "move_and_zoom", xOffset, yOffset, widthRatio, heightRatio] }
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [ meetingID, 'undo' ] }
Writes on channel BIGBLUEBUTTON_BRIDGE
{ [ meetingID, 'clrPaper' ] }
TBD
TBD