externalUserId not present in all redis messages

52 views
Skip to first unread message

Federico

unread,
Nov 16, 2012, 4:13:10 PM11/16/12
to bigblueb...@googlegroups.com
Hi developers,
Let me first say that, IMHO, this usage of redis is an outstanding architectural decision.
I'm integrating bbb into a RoR app. Logging bbb events in the database was very simple, just by subscribing to the redis publication.
Looking forward to 0.81, where all events will go through redis!

Now to the point:
1. Why is the externalUserId not sent in all redis' messages?
2. Was this a design decision?

Having the externalUserId in every request will be very useful to avoid having to figure out the mapping between external and internal user id after the first message.

User joined message
message: {"externalUserId":"3","internalUserId":"45","meetingId":"287da0651bbe7af557b588ce0c9aeaa9a39487a6-1353098991675","role":"VIEWER","messageId":"UserJoinedEvent","fullname":"user1"}

User left message
message: {"internalUserId":"45","meetingId":"287da0651bbe7af557b588ce0c9aeaa9a39487a6-1353098991675","messageId":"UserLeftEvent"}

Thanks,
Federico

Richard Alam

unread,
Nov 17, 2012, 7:14:11 AM11/17/12
to BigBlueButton-dev
Hi Federico,


On Fri, Nov 16, 2012 at 4:13 PM, Federico <federi...@gmail.com> wrote:
Hi developers,
Let me first say that, IMHO, this usage of redis is an outstanding architectural decision.
I'm integrating bbb into a RoR app. Logging bbb events in the database was very simple, just by subscribing to the redis publication.
Looking forward to 0.81, where all events will go through redis!

That's the plan. The idea is that the Red5 app and NodeJS app (for HTML5) can sync with each other by subscribing to redis pubsub.


The idea is that all messages (from Flash client, redis pubsub, FreeSWITCH ESL) goes in here 


The out gateway will have listeners that forwards the message to Red5 Flash Client, redis pubsub, and recorder to redis.

The listener for user events that forward to Flash client is https://github.com/bigbluebutton/bigbluebutton/blob/move-code-into-meeting/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/users/UsersConnectionInvoker.java . There will be classes for each app (Presentation, Whiteboard, chat, etc).


There's still more work to be done. If anybody can help, then the work gets done sooner.
 

Now to the point:
1. Why is the externalUserId not sent in all redis' messages?

Our first playback format was very simple. What we wanted was to just be able to play the slides with audio. There was no need for externalUserID so we did not include it.
 
2. Was this a design decision?

Having the externalUserId in every request will be very useful to avoid having to figure out the mapping between external and internal user id after the first message.

Agreed. Can you please create an issue? We'll include it as part of the refactoring above.

Richard
 

User joined message
message: {"externalUserId":"3","internalUserId":"45","meetingId":"287da0651bbe7af557b588ce0c9aeaa9a39487a6-1353098991675","role":"VIEWER","messageId":"UserJoinedEvent","fullname":"user1"}

User left message
message: {"internalUserId":"45","meetingId":"287da0651bbe7af557b588ce0c9aeaa9a39487a6-1353098991675","messageId":"UserLeftEvent"}

Thanks,
Federico

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/xM4Y3LofPgsJ.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.



--
-----
BigBlueButton Developer
http://www.bigbluebutton.org
http://code.google.com/p/bigbluebutton

Federico Boerr

unread,
Nov 19, 2012, 10:08:36 AM11/19/12
to bigblueb...@googlegroups.com
Hi Richard,
Thanks for your replay, it's now clear to me how the redis messages work.

Comments inline.

On Sat, Nov 17, 2012 at 9:14 AM, Richard Alam <ritz...@gmail.com> wrote:
Hi Federico,


On Fri, Nov 16, 2012 at 4:13 PM, Federico <federi...@gmail.com> wrote:
Hi developers,
Let me first say that, IMHO, this usage of redis is an outstanding architectural decision.
I'm integrating bbb into a RoR app. Logging bbb events in the database was very simple, just by subscribing to the redis publication.
Looking forward to 0.81, where all events will go through redis!

That's the plan. The idea is that the Red5 app and NodeJS app (for HTML5) can sync with each other by subscribing to redis pubsub.


The idea is that all messages (from Flash client, redis pubsub, FreeSWITCH ESL) goes in here 


The out gateway will have listeners that forwards the message to Red5 Flash Client, redis pubsub, and recorder to redis.

The listener for user events that forward to Flash client is https://github.com/bigbluebutton/bigbluebutton/blob/move-code-into-meeting/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/users/UsersConnectionInvoker.java . There will be classes for each app (Presentation, Whiteboard, chat, etc).


There's still more work to be done. If anybody can help, then the work gets done sooner.

Yes, I know. At the moment I'm under big time pressure! I'm looking forward to contribute in the future, once the system is stabilized.
 
 

Now to the point:
1. Why is the externalUserId not sent in all redis' messages?

Our first playback format was very simple. What we wanted was to just be able to play the slides with audio. There was no need for externalUserID so we did not include it.
 
2. Was this a design decision?

Having the externalUserId in every request will be very useful to avoid having to figure out the mapping between external and internal user id after the first message.

Agreed. Can you please create an issue? We'll include it as part of the refactoring above.


I can't edit it now, it's clearly not a defect and priority is probably less than medium, but that's up to the team to decide.
 
Richard
 

User joined message
message: {"externalUserId":"3","internalUserId":"45","meetingId":"287da0651bbe7af557b588ce0c9aeaa9a39487a6-1353098991675","role":"VIEWER","messageId":"UserJoinedEvent","fullname":"user1"}

User left message
message: {"internalUserId":"45","meetingId":"287da0651bbe7af557b588ce0c9aeaa9a39487a6-1353098991675","messageId":"UserLeftEvent"}

Thanks,
Federico

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/xM4Y3LofPgsJ.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.



--
-----
BigBlueButton Developer
http://www.bigbluebutton.org
http://code.google.com/p/bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.


Thanks,
Federico
Reply all
Reply to author
Forward
0 new messages