Commit Graph

332 Commits

Author SHA1 Message Date
Leonardo Crauss Daronco
14641d1a3b Webhooks: expire mappings for inactive meetings
If a meeting has no events for too long (24 hours), remove the meeting
mapping to prevent too much data from being stored forever on redis.
2014-11-13 12:03:42 -02:00
Leonardo Crauss Daronco
66bfbeb1bc Webhooks: use external meeting ID as key in the mappings
It changes less than the internal meeting ID. An application can subscribe
to an external ID and use the hook for several different meetings that will
have the same external ID but different internal IDs.
2014-11-12 18:27:21 -02:00
Leonardo Crauss Daronco
5e141d324c Webhooks: better intervals for retying failed callbacks
Will try again a number of times for about 5min and then give up. On giving
up, the hook is removed.
And a few fixes for saving and loading data on redis.
2014-11-12 18:07:29 -02:00
Leonardo Crauss Daronco
6d63f2f299 Webhooks: persist data to redis
Save hooks and meetingID mappings to redis and get them back when the
application starts.
Still missing a way to remove old data in case the app loses events (e.g.
a hook for a specific meeting might stay on redis forever if the app
lost the meeting_destroyed event).
2014-11-12 16:35:25 -02:00
Leonardo Crauss Daronco
bfdae8f204 Webhooks: store meeting ID mappings in a global model 2014-11-12 13:07:54 -02:00
Leonardo Crauss Daronco
fd90a46563 Webhooks: implement the API method to list available hooks 2014-11-12 11:38:00 -02:00
Leonardo Crauss Daronco
79609fadb2 Webhooks: use more "hook" and less "subscription" for consistency
It now creates and destroys hooks instead of creating and removing
subscriptions.
2014-11-12 11:28:49 -02:00
Leonardo Crauss Daronco
c25082bafa Wehbooks: hooks can now subscribe to a single meeting
Hooks can be global, to receive events from all meetings, or can receive
events for a single meeting. Depends on whether the meetingID parameter is
informed or not in the hooks/subscribe API call.

Also improved the log messages a bit.
2014-11-12 10:53:49 -02:00
Leonardo Crauss Daronco
31fe86c19d Webhooks: keep a mapping of internal and external meeting IDs 2014-11-11 18:48:23 -02:00
Leonardo Crauss Daronco
e884643ac0 Webhooks: fix callbacks being called multiple times 2014-11-11 17:54:00 -02:00
Leonardo Crauss Daronco
4e72d53b94 Webhooks: sign callback calls with a checksum
Simple signature done initially in a way similar to how bbb-web does it.
2014-11-11 17:36:01 -02:00
Leonardo Crauss Daronco
e070f3c5c5 Webhooks: block multiple subscriptions to the same callback URL
Will allow only one subscription to a given callback URL. If trying to
subscribe again to the same URL, will return success but with a message
saying the callback URL is duplicated, very similar to the response of
create when called multiple times.
2014-11-11 16:56:15 -02:00
Leonardo Crauss Daronco
6fc50f0a7e Webhooks: use hooks in memory when generating callback calls 2014-11-11 16:43:41 -02:00
Leonardo Crauss Daronco
dae00ac668 Webhooks: implement subscribe and unsubscribe API calls
Saving subscriptions to a local database for now.
2014-11-11 15:48:36 -02:00
Leonardo Crauss Daronco
cbc144b5cc Webhooks: add config file for nginx
To proxy API calls to the webhooks app.
2014-11-11 15:07:43 -02:00
Leonardo Crauss Daronco
21d9d8ae96 Webhooks: basic routes and checksum calculation 2014-11-11 15:07:05 -02:00
Leonardo Crauss Daronco
7f8eb12f77 Webhooks app will now have a web server, reorganizing it
It will receive API calls to deal with web hooks to make it independent from
other components such as bbb-web.
2014-11-11 11:58:28 -02:00
Leonardo Crauss Daronco
8c8c93beb7 Webhooks: overall improvements in comments and prints 2014-11-11 11:20:55 -02:00
Leonardo Crauss Daronco
6f72a4e5e3 Webhooks: first version of a queue to retry callbacks
Simple queue that retries to emit the callbacks in case they fail. A lot to
improve yet, but the basic is working.
2014-11-10 19:12:37 -02:00
Leonardo Crauss Daronco
9b94688f93 Webhooks: filter the events we want to generate callback calls for 2014-11-10 18:11:09 -02:00
Leonardo Crauss Daronco
1a6799a833 Webhooks posting all events to all callbacks registered
First step toward allowing callbacks to be called for all meetings in a
server, not for only a single meeting. Will need to change the way data
is stored on redis to improve the webhooks app, but it already works the
way it is now.
2014-11-10 17:32:51 -02:00
Leonardo Crauss Daronco
04e678f171 First version of webhooks subscribing to all channels and organized repo
Started using coffee-script, updated the libraries, and now it subscribes
to all channels under 'bigbluebutton:*' so we can receive all events that
happened and select the ones we want.
2014-11-10 15:51:41 -02:00
Fred Dixon
6603820eef Merge pull request #410 from SenecaCDOT-BigBlueButton/bigbluebutton-client-system-check-app
modifying build.xml to copy custom BBBClientCheck.html file, adding addi...
2014-10-25 00:49:20 -04:00
syeshchenko
0d54cfad2c modifying build.xml to copy custom BBBClientCheck.html file, adding additional value to gitignore 2014-10-22 17:13:49 -04:00
syeshchenko
5c93bddb48 clearing more files that are not required and additional paramaters to gitignore 2014-10-22 13:52:07 -04:00
syeshchenko
2d0faf7922 adding gitignore, removing files that are not required 2014-10-22 13:46:29 -04:00
syeshchenko
353dffb237 initial commit for client check app 2014-10-22 13:23:03 -04:00
Fred Dixon
917b7cafe5 Merge pull request #409 from SenecaCDOT-BigBlueButton/bigbluebutton-client-system-check-app
initial commit for client check app
2014-10-22 16:31:37 -04:00
Richard Alam
ce723718a1 - cleanup 2014-10-19 23:00:10 -07:00
Chad Pilkey
9a5343aac5 Merge remote-tracking branch 'upstream/master' into fix-chrome-webrtc 2014-08-08 13:19:42 -07:00
Richard Alam
78ebb5b14c - start implementing per user access code 2014-06-19 15:43:20 -07:00
Anton Georgiev
ae6fba2053 the usernames in the userlist are no longer surrounded by quotation marks 2014-05-26 14:45:10 +00:00
Anton Georgiev
f78264e9da a joining user is displayed in the user list 2014-05-21 15:57:10 +00:00
Anton Georgiev
32fea5be69 when redirected from the login page, go straight into sessionView 2014-05-15 15:54:39 +00:00
Anton Georgiev
bc09084ec2 moving the handler for /html5.client in its own method 2014-05-14 20:54:43 +00:00
Anton Georgiev
32b5f70b08 the landing page passes some credentials to HTML5's Node app 2014-05-14 19:28:45 +00:00
Anton Georgiev
2f41719ef0 tidying up 2014-05-14 16:00:32 +00:00
Anton Georgiev
82bc00cad1 the username is passed in correctly 2014-05-14 15:44:59 +00:00
Anton Georgiev
f76fedee6a under construction, the html5 page"s html prints instead of displaying 2014-05-13 19:43:47 +00:00
Anton Georgiev
69b9ec6493 attempts to use the npm "cors" 2014-05-13 17:35:18 +00:00
Anton Georgiev
a45ce41d2f html5 joinapi 2014-05-12 21:09:40 +00:00
Anton Georgiev
c0b60e211b update README 2014-05-12 17:51:34 +00:00
Anton Georgiev
29cbc584ae update README 2014-05-12 17:49:20 +00:00
Anton Georgiev
30c1fb41a5 added the salt to config.json 2014-05-12 17:45:48 +00:00
Anton Georgiev
daed029107 Merge branch 'merge-polling-with-master' of https://github.com/bigbluebutton/bigbluebutton into merge-polling-with-master 2014-05-12 17:31:35 +00:00
Anton Georgiev
95a609af72 added Richard's bbbapi and testapi to create and join a meeting. Logs URLs but hits Error 404 2014-05-12 17:02:18 +00:00
Anton Georgiev
26a0d0bf60 use PORT from the config file 2014-05-12 15:56:14 +00:00
Anton Georgiev
f4f9da8522 introducing config.json for IP:PORT 2014-05-12 15:40:48 +00:00
Anton Georgiev
c6e55d39d7 resolving path error 2014-05-12 14:53:53 +00:00
Anton Georgiev
efcada9692 restructuring 2014-05-12 14:42:06 +00:00