feat: add support for analytics callback url

fix #194
pull/200/head
Thierry Kauffmann 2022-03-09 16:58:35 +01:00 committed by sualko
parent 96a3a4527d
commit 0f4c1682f5
2 changed files with 17 additions and 9 deletions

View File

@ -69,15 +69,16 @@ used configuration keys in the list below. Please beware that there will be no
check if those values are correct. Therefore this is not the recommended way. check if those values are correct. Therefore this is not the recommended way.
The syntax to set all settings is `occ config:app:set bbb KEY --value "VALUE"`. The syntax to set all settings is `occ config:app:set bbb KEY --value "VALUE"`.
Key | Description Key | Description
--------------------- | ------------------------------------------------------------------------------------ --------------------------------- | ------------------------------------------------------------------------------------
`app.navigation` | Set to `true` to show navigation entry `app.navigation` | Set to `true` to show navigation entry
`app.navigation.name` | Defines the navigation label. Default "BigBlueButton". `app.navigation.name` | Defines the navigation label. Default "BigBlueButton".
`api.url` | URL to your BBB server. Should start with `https://` `api.url` | URL to your BBB server. Should start with `https://`
`api.secret` | Secret of your BBB server `api.secret` | Secret of your BBB server
`app.shortener` | Value of your shortener service. Should start with `https://` and contain `{token}`. `api.meta_analytics-callback-url` | URL which gets called after meetings ends to generate statistics. See [bbb-analytics](https://github.com/betagouv/bbb-analytics).
`avatar.path` | Absolute path to an optional avatar cache directory. `app.shortener` | Value of your shortener service. Should start with `https://` and contain `{token}`.
`avatar.url` | URL which serves `avatar.path` to be used as avatar cache. `avatar.path` | Absolute path to an optional avatar cache directory.
`avatar.url` | URL which serves `avatar.path` to be used as avatar cache.
### Avatar cache (v2.2+) ### Avatar cache (v2.2+)
The generation of avatars puts a high load on your Nextcloud instance, since the The generation of avatars puts a high load on your Nextcloud instance, since the

View File

@ -175,6 +175,13 @@ class API {
$createMeetingParams->addMeta('bbb-origin', \method_exists($this->defaults, 'getProductName') ? $this->defaults->getProductName() : 'Nextcloud'); $createMeetingParams->addMeta('bbb-origin', \method_exists($this->defaults, 'getProductName') ? $this->defaults->getProductName() : 'Nextcloud');
$createMeetingParams->addMeta('bbb-origin-server-name', $this->request->getServerHost()); $createMeetingParams->addMeta('bbb-origin-server-name', $this->request->getServerHost());
$analyticsCallbackUrl = $this->config->getAppValue('bbb', 'api.meta_analytics-callback-url');
if (!empty($analyticsCallbackUrl)) {
// For more details: https://github.com/bigbluebutton/bigbluebutton/blob/develop/record-and-playback/core/scripts/post_events/post_events_analytics_callback.rb
$createMeetingParams->addMeta('analytics-callback-url', $analyticsCallbackUrl);
$createMeetingParams->setMeetingKeepEvents(true);
}
$mac = $this->crypto->calculateHMAC($room->uid); $mac = $this->crypto->calculateHMAC($room->uid);
$endMeetingUrl = $this->urlGenerator->linkToRouteAbsolute('bbb.hook.meetingEnded', ['token' => $room->uid, 'mac' => $mac]); $endMeetingUrl = $this->urlGenerator->linkToRouteAbsolute('bbb.hook.meetingEnded', ['token' => $room->uid, 'mac' => $mac]);