mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
docs: Correct Big Blue Button to BigBlueButton.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
f80419509e
commit
ee8724e436
@@ -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.
|
||||||
|
|||||||
@@ -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",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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+__",
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"]
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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.")
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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/"
|
||||||
|
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
Reference in New Issue
Block a user