docs: Correct Big Blue Button to BigBlueButton.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2021-07-05 15:23:51 -07:00
committed by Tim Abbott
parent f80419509e
commit ee8724e436
15 changed files with 47 additions and 47 deletions

View File

@@ -45,33 +45,33 @@ Zoom as the video call
provider](https://zulip.com/help/start-a-call) in the Zulip provider](https://zulip.com/help/start-a-call) in the Zulip
organization(s) where you want to use it. organization(s) where you want to use it.
## Big Blue Button ## BigBlueButton
To use the [Big Blue Button](https://bigbluebutton.org/) video call To use the [BigBlueButton](https://bigbluebutton.org/) video call
integration on a self-hosted Zulip installation, you'll need to have a integration on a self-hosted Zulip installation, you'll need to have a
Big Blue Button server and configure it: BigBlueButton server and configure it:
1. Get the Shared Secret using the `bbb-conf --secret` command on your 1. Get the Shared Secret using the `bbb-conf --secret` command on your
Big Blue Button Server. See also [the Big Blue Button BigBlueButton Server. See also [the BigBlueButton
documentation](https://docs.bigbluebutton.org/2.2/customize.html#extract-the-shared-secret). documentation](https://docs.bigbluebutton.org/2.2/customize.html#extract-the-shared-secret).
2. Get the URL to your Big Blue Button API. The URL has the form of 2. Get the URL to your BigBlueButton API. The URL has the form of
`https://bigbluebutton.example.com/bigbluebutton/` and can also be `https://bigbluebutton.example.com/bigbluebutton/` and can also be
found using the `bbb-conf --secret` command. found using the `bbb-conf --secret` command.
You can then configure your Zulip server to use that Big Blue Button You can then configure your Zulip server to use that BigBlueButton
Server as follows: Server as follows:
1. In `/etc/zulip/zulip-secrets.conf`, set `big_blue_button_secret` 1. In `/etc/zulip/zulip-secrets.conf`, set `big_blue_button_secret`
to be your Big Blue Button Server's shared secret. to be your BigBlueButton Server's shared secret.
2. In `/etc/zulip/settings.py`, set `BIG_BLUE_BUTTON_URL` to your 2. In `/etc/zulip/settings.py`, set `BIG_BLUE_BUTTON_URL` to your
to be your Big Blue Button Server's API URL. to be your BigBlueButton Server's API URL.
3. Restart the Zulip server with 3. Restart the Zulip server with
`/home/zulip/deployments/current/scripts/restart-server`. `/home/zulip/deployments/current/scripts/restart-server`.
This enables Big Blue Button support in your Zulip server. Finally, [configure This enables BigBlueButton support in your Zulip server. Finally, [configure
Big Blue Button as the video call BigBlueButton as the video call
provider](https://zulip.com/help/start-a-call) in the Zulip provider](https://zulip.com/help/start-a-call) in the Zulip
organization(s) where you want to use it. organization(s) where you want to use it.

View File

@@ -54,7 +54,7 @@ const realm_available_video_chat_providers = {
}, },
big_blue_button: { big_blue_button: {
id: 4, id: 4,
name: "Big Blue Button", name: "BigBlueButton",
}, },
}; };

View File

@@ -656,7 +656,7 @@ test("set_up", ({override, mock_template}) => {
}, },
big_blue_button: { big_blue_button: {
id: 4, id: 4,
name: "Big Blue Button", name: "BigBlueButton",
}, },
}; };

View File

@@ -238,7 +238,7 @@
<h3>VIDEO CALLS</h3> <h3>VIDEO CALLS</h3>
<p> <p>
Create and join video calls with a single click. Powered Create and join video calls with a single click. Powered
by your choice of Zoom, Jitsi Meet or Big Blue Button. by your choice of Zoom, Jitsi Meet, or BigBlueButton.
</p> </p>
</a> </a>
<a class="feature-block" href="/help/configure-authentication-methods" target="_blank" rel="noopener noreferrer"> <a class="feature-block" href="/help/configure-authentication-methods" target="_blank" rel="noopener noreferrer">

View File

@@ -28,7 +28,7 @@ supported by zulip are:
* [Jitsi Meet](/integrations/doc/jitsi) * [Jitsi Meet](/integrations/doc/jitsi)
* [Zoom integration](/integrations/doc/zoom) * [Zoom integration](/integrations/doc/zoom)
* [Big Blue Button integration](/integrations/doc/big-blue-button) * [BigBlueButton integration](/integrations/doc/big-blue-button)
!!! tip "" !!! tip ""
It is also possible to disable the video call button for your organization by It is also possible to disable the video call button for your organization by

View File

@@ -1,35 +1,35 @@
Zulip supports using Big Blue Button as its video call video call Zulip supports using BigBlueButton as its video call video call
provider. This is currently only possible on self-hosted Zulip provider. This is currently only possible on self-hosted Zulip
installations. installations.
To use the [Big Blue Button](https://bigbluebutton.org/) video call To use the [BigBlueButton](https://bigbluebutton.org/) video call
integration, you'll need to have a Big Blue Button server and integration, you'll need to have a BigBlueButton server and
configure your zulip server to use that Big Blue Button server. configure your zulip server to use that BigBlueButton server.
### Configure Big Blue Button server ### Configure BigBlueButton server
1. Get the Shared Secret using the `bbb-conf --secret` command on your 1. Get the Shared Secret using the `bbb-conf --secret` command on your
Big Blue Button Server. See also BigBlueButton Server. See also
[Big Blue Button documentation](https://docs.bigbluebutton.org/2.2/customize.html#extract-the-shared-secret). [BigBlueButton documentation](https://docs.bigbluebutton.org/2.2/customize.html#extract-the-shared-secret).
1. Get the URL to your Big Blue Button API. The URL has the form of 1. Get the URL to your BigBlueButton API. The URL has the form of
`https://bigbluebutton.example.com/bigbluebutton/` and can also be `https://bigbluebutton.example.com/bigbluebutton/` and can also be
found using the `bbb-conf --secret` command. found using the `bbb-conf --secret` command.
### Configure zulip server ### Configure zulip server
1. In `/etc/zulip/zulip-secrets.conf`, set `big_blue_button_secret` 1. In `/etc/zulip/zulip-secrets.conf`, set `big_blue_button_secret`
as your Big Blue Button Server's shared secret. as your BigBlueButton Server's shared secret.
1. In `/etc/zulip/settings.py`, set `BIG_BLUE_BUTTON_URL` 1. In `/etc/zulip/settings.py`, set `BIG_BLUE_BUTTON_URL`
as your Big Blue Button Server's API URL. as your BigBlueButton Server's API URL.
1. Restart the Zulip server with 1. Restart the Zulip server with
`/home/zulip/deployments/current/scripts/restart-server`. `/home/zulip/deployments/current/scripts/restart-server`.
### Using Big Blue Button ### Using BigBlueButton
1. Select Big Blue Button as the organization's [video call provider](/help/start-a-call#changing-your-organizations-video-call-provider). 1. Select BigBlueButton as the organization's [video call provider](/help/start-a-call#changing-your-organizations-video-call-provider).
1. Zulip's [call button](/help/start-a-call) will now create meetings 1. Zulip's [call button](/help/start-a-call) will now create meetings
using Big Blue Button. using BigBlueButton.

View File

@@ -67,7 +67,7 @@ IGNORED_PHRASES = [
r"Emoji One", r"Emoji One",
r"mailinator.com", r"mailinator.com",
r"HQ", r"HQ",
r"Big Blue Button", r"BigBlueButton",
# Code things # Code things
r".zuliprc", r".zuliprc",
r"__\w+\.\w+__", r"__\w+\.\w+__",

View File

@@ -475,7 +475,7 @@ INTEGRATIONS: Dict[str, Integration] = {
"big-blue-button", "big-blue-button",
["communication"], ["communication"],
logo="images/integrations/logos/bigbluebutton.svg", logo="images/integrations/logos/bigbluebutton.svg",
display_name="Big Blue Button", display_name="BigBlueButton",
doc="zerver/integrations/big-blue-button.md", doc="zerver/integrations/big-blue-button.md",
), ),
"capistrano": Integration( "capistrano": Integration(

View File

@@ -59,7 +59,7 @@ TAB_DISPLAY_NAMES = {
"restrict-by-email-domain": "Restrict by email domain", "restrict-by-email-domain": "Restrict by email domain",
"zoom": "Zoom", "zoom": "Zoom",
"jitsi-meet": "Jitsi Meet", "jitsi-meet": "Jitsi Meet",
"bigbluebutton": "Big Blue Button", "bigbluebutton": "BigBlueButton",
"disable": "Disabled", "disable": "Disabled",
"chrome": "Chrome", "chrome": "Chrome",
"firefox": "Firefox", "firefox": "Firefox",

View File

@@ -455,7 +455,7 @@ class Realm(models.Model):
}, },
# ID 2 was used for the now-deleted Google Hangouts. # ID 2 was used for the now-deleted Google Hangouts.
# ID 3 reserved for optional Zoom, see below. # ID 3 reserved for optional Zoom, see below.
# ID 4 reserved for optional Big Blue Button, see below. # ID 4 reserved for optional BigBlueButton, see below.
} }
if settings.VIDEO_ZOOM_CLIENT_ID is not None and settings.VIDEO_ZOOM_CLIENT_SECRET is not None: if settings.VIDEO_ZOOM_CLIENT_ID is not None and settings.VIDEO_ZOOM_CLIENT_SECRET is not None:
@@ -465,7 +465,7 @@ class Realm(models.Model):
} }
if settings.BIG_BLUE_BUTTON_SECRET is not None and settings.BIG_BLUE_BUTTON_URL is not None: if settings.BIG_BLUE_BUTTON_SECRET is not None and settings.BIG_BLUE_BUTTON_URL is not None:
VIDEO_CHAT_PROVIDERS["big_blue_button"] = {"name": "Big Blue Button", "id": 4} VIDEO_CHAT_PROVIDERS["big_blue_button"] = {"name": "BigBlueButton", "id": 4}
video_chat_provider: int = models.PositiveSmallIntegerField( video_chat_provider: int = models.PositiveSmallIntegerField(
default=VIDEO_CHAT_PROVIDERS["jitsi_meet"]["id"] default=VIDEO_CHAT_PROVIDERS["jitsi_meet"]["id"]

View File

@@ -11277,10 +11277,10 @@ paths:
get: get:
tags: ["streams"] tags: ["streams"]
operationId: create_big_blue_button_video_call operationId: create_big_blue_button_video_call
summary: Create Big Blue Button video call summary: Create BigBlueButton video call
description: | description: |
Create a video call URL for a Big Blue Button video call. Create a video call URL for a BigBlueButton video call.
Requires Big Blue Button to be configured on the Zulip server. Requires BigBlueButton to be configured on the Zulip server.
responses: responses:
"200": "200":
description: Success. description: Success.
@@ -11296,7 +11296,7 @@ paths:
msg: {} msg: {}
url: url:
description: | description: |
The URL for the Big Blue Button video call. The URL for the BigBlueButton video call.
type: string type: string
example: "/calls/bbb/join?meeting_id=%22zulip-something%22&password=%22something%22&checksum=%22somechecksum%22" example: "/calls/bbb/join?meeting_id=%22zulip-something%22&password=%22something%22&checksum=%22somechecksum%22"
example: example:

View File

@@ -211,7 +211,7 @@ class TestVideoCall(ZulipTestCase):
"/calls/bigbluebutton/join", "/calls/bigbluebutton/join",
{"meeting_id": "zulip-1", "password": "a", "checksum": "check"}, {"meeting_id": "zulip-1", "password": "a", "checksum": "check"},
) )
self.assert_json_error(response, "Error authenticating to the Big Blue Button server.") self.assert_json_error(response, "Error authenticating to the BigBlueButton server.")
@responses.activate @responses.activate
def test_join_bigbluebutton_redirect_server_error(self) -> None: def test_join_bigbluebutton_redirect_server_error(self) -> None:
@@ -226,7 +226,7 @@ class TestVideoCall(ZulipTestCase):
"/calls/bigbluebutton/join", "/calls/bigbluebutton/join",
{"meeting_id": "zulip-1", "password": "a", "checksum": "check"}, {"meeting_id": "zulip-1", "password": "a", "checksum": "check"},
) )
self.assert_json_error(response, "Error connecting to the Big Blue Button server.") self.assert_json_error(response, "Error connecting to the BigBlueButton server.")
@responses.activate @responses.activate
def test_join_bigbluebutton_redirect_error_by_server(self) -> None: def test_join_bigbluebutton_redirect_error_by_server(self) -> None:
@@ -240,7 +240,7 @@ class TestVideoCall(ZulipTestCase):
"/calls/bigbluebutton/join", "/calls/bigbluebutton/join",
{"meeting_id": "zulip-1", "password": "a", "checksum": "check"}, {"meeting_id": "zulip-1", "password": "a", "checksum": "check"},
) )
self.assert_json_error(response, "Big Blue Button server returned an unexpected error.") self.assert_json_error(response, "BigBlueButton server returned an unexpected error.")
def test_join_bigbluebutton_redirect_not_configured(self) -> None: def test_join_bigbluebutton_redirect_not_configured(self) -> None:
with self.settings(BIG_BLUE_BUTTON_SECRET=None, BIG_BLUE_BUTTON_URL=None): with self.settings(BIG_BLUE_BUTTON_SECRET=None, BIG_BLUE_BUTTON_URL=None):
@@ -248,4 +248,4 @@ class TestVideoCall(ZulipTestCase):
"/calls/bigbluebutton/join", "/calls/bigbluebutton/join",
{"meeting_id": "zulip-1", "password": "a", "checksum": "check"}, {"meeting_id": "zulip-1", "password": "a", "checksum": "check"},
) )
self.assert_json_error(response, "Big Blue Button is not configured.") self.assert_json_error(response, "BigBlueButton is not configured.")

View File

@@ -212,7 +212,7 @@ def join_bigbluebutton(
checksum: str = REQ(), checksum: str = REQ(),
) -> HttpResponse: ) -> HttpResponse:
if settings.BIG_BLUE_BUTTON_URL is None or settings.BIG_BLUE_BUTTON_SECRET is None: if settings.BIG_BLUE_BUTTON_URL is None or settings.BIG_BLUE_BUTTON_SECRET is None:
raise JsonableError(_("Big Blue Button is not configured.")) raise JsonableError(_("BigBlueButton is not configured."))
else: else:
try: try:
response = requests.get( response = requests.get(
@@ -230,14 +230,14 @@ def join_bigbluebutton(
) )
response.raise_for_status() response.raise_for_status()
except requests.RequestException: except requests.RequestException:
raise JsonableError(_("Error connecting to the Big Blue Button server.")) raise JsonableError(_("Error connecting to the BigBlueButton server."))
payload = ElementTree.fromstring(response.text) payload = ElementTree.fromstring(response.text)
if payload.find("messageKey").text == "checksumError": if payload.find("messageKey").text == "checksumError":
raise JsonableError(_("Error authenticating to the Big Blue Button server.")) raise JsonableError(_("Error authenticating to the BigBlueButton server."))
if payload.find("returncode").text != "SUCCESS": if payload.find("returncode").text != "SUCCESS":
raise JsonableError(_("Big Blue Button server returned an unexpected error.")) raise JsonableError(_("BigBlueButton server returned an unexpected error."))
join_params = urlencode( # type: ignore[type-var] # https://github.com/python/typeshed/issues/4234 join_params = urlencode( # type: ignore[type-var] # https://github.com/python/typeshed/issues/4234
{ {

View File

@@ -631,7 +631,7 @@ SOCIAL_AUTH_SAML_SUPPORT_CONTACT = {
## integration, set JITSI_SERVER_URL = None. ## integration, set JITSI_SERVER_URL = None.
# JITSI_SERVER_URL = 'https://jitsi.example.com' # JITSI_SERVER_URL = 'https://jitsi.example.com'
## Controls the Big Blue Button video call integration. You must also ## Controls the BigBlueButton video call integration. You must also
## set big_blue_button_secret in zulip-secrets.conf. ## set big_blue_button_secret in zulip-secrets.conf.
# BIG_BLUE_BUTTON_URL = "https://bbb.example.com/bigbluebutton/" # BIG_BLUE_BUTTON_URL = "https://bbb.example.com/bigbluebutton/"

View File

@@ -490,7 +490,7 @@ v1_api_and_json_patterns = [
), ),
# Used to generate a Zoom video call URL # Used to generate a Zoom video call URL
rest_path("calls/zoom/create", POST=make_zoom_video_call), rest_path("calls/zoom/create", POST=make_zoom_video_call),
# Used to generate a Big Blue Button video call URL # Used to generate a BigBlueButton video call URL
rest_path("calls/bigbluebutton/create", GET=get_bigbluebutton_url), rest_path("calls/bigbluebutton/create", GET=get_bigbluebutton_url),
# export/realm -> zerver.views.realm_export # export/realm -> zerver.views.realm_export
rest_path("export/realm", POST=export_realm, GET=get_realm_exports), rest_path("export/realm", POST=export_realm, GET=get_realm_exports),
@@ -607,7 +607,7 @@ i18n_urls = [
path("calls/zoom/register", register_zoom_user), path("calls/zoom/register", register_zoom_user),
path("calls/zoom/complete", complete_zoom_user), path("calls/zoom/complete", complete_zoom_user),
path("calls/zoom/deauthorize", deauthorize_zoom_user), path("calls/zoom/deauthorize", deauthorize_zoom_user),
# Used to join a Big Blue Button video call # Used to join a BigBlueButton video call
path("calls/bigbluebutton/join", join_bigbluebutton), path("calls/bigbluebutton/join", join_bigbluebutton),
# API and integrations documentation # API and integrations documentation
path("integrations/doc-html/<integration_name>", integration_doc), path("integrations/doc-html/<integration_name>", integration_doc),