diff --git a/docs/build.sh b/docs/build.sh index 5bfef0b2c4..da967b364a 100755 --- a/docs/build.sh +++ b/docs/build.sh @@ -6,7 +6,8 @@ set -eu BRANCHES=( v2.5.x-release v2.6.x-release - # v2.7.x-release + v2.7.x-release + # v2.8.x-release ) REMOTE="origin" @@ -22,6 +23,9 @@ for branch in "${BRANCHES[@]}"; do git checkout "$branch" if [ -f docusaurus.config.js ]; then version=${branch:1:3} + if [ version == "2.7" ]; then + version="2.7-dev" + fi echo "Adding documentation for $version" yarn docusaurus docs:version "${version}" else diff --git a/docs/docs/administration/install.md b/docs/docs/administration/install.md index 7c35816584..70f834ae28 100644 --- a/docs/docs/administration/install.md +++ b/docs/docs/administration/install.md @@ -12,7 +12,7 @@ We have tools to make it easy for you, a system administrator, to install BigBlu ## Before you install -We recommend installing BigBlueButton with a 'clean' and dedicated Ubuntu 20.04 64-bit server with no prior software installed. If you want to upgrade from an earlier version of BigBlueButton like 2.4, we recommend setting up a clean server for BigBlueButton 2.6 on Ubuntu 20.04 and, after setup, [migrate over your existing recordings](/administration/customize#transfer-published-recordings-from-another-server). We support upgrading a BigBlueButton 2.5 server to 2.6. +We recommend installing BigBlueButton with a 'clean' and dedicated Ubuntu 20.04 64-bit server with no prior software installed. If you want to upgrade from an earlier version of BigBlueButton like 2.4, we recommend setting up a clean server for BigBlueButton 2.7 on Ubuntu 20.04 and, after setup, [migrate over your existing recordings](/administration/customize#transfer-published-recordings-from-another-server). We support upgrading a BigBlueButton 2.5 or 2.6 server to 2.7. A 'clean' server does not have any previous web servers installed (such as apache) or web applications (such as plesk or webadmin) that are [binding to port 80/443](/support/faq#we-recommend-running-bigbluebutton-on-port-80443). By 'dedicated' we mean that this server won't be used for anything else besides BigBlueButton (and possibly BigBlueButton-related applications such as [Greenlight](/greenlight/v2/install)). @@ -151,86 +151,92 @@ sudo ufw allow 443 ``` Sometimes we get asked "Why are you only supporting Ubuntu 20.04 64-bit?". The answer is based on choosing quality over quantity. Long ago we concluded that its better for the project to have solid, well-tested, well-documented installation for a specific version of Linux that works really, really well than to try and support may variants of Linux and have none of them work well. -At the moment, the requirement for docker may preclude running 2.6 within some virtualized environments; however, it ensures libreoffice runs within a restricted sandbox for document conversion. We are exploring if we can run libreoffice within systemd (such as systemd-nspawn). +At the moment, the requirement for docker may preclude running 2.7 within some virtualized environments; however, it ensures libreoffice runs within a restricted sandbox for document conversion. We are exploring if we can run libreoffice within systemd (such as systemd-nspawn). ## Install -To install BigBlueButton, use [bbb-install-2.6.sh](https://github.com/bigbluebutton/bbb-install/blob/master/bbb-install-2.6.sh) script. +To install BigBlueButton, use [bbb-install.sh](https://github.com/bigbluebutton/bbb-install/blob/v2.7.x-release/bbb-install.sh) script. Notice that this command is slightly different than what we recommended in previous versions of BigBlueButton. The script now resides on a branch specifying the version of BigBlueButton, but otherwise the name of the script is identical accross different branches. This makes it more maintainable as patches done to the script in one branch can be easily applied to other branches. -The above link gives detailed information on using the script. As an example, the following command installs BigBlueButton 2.6 using hostname `bbb.example.com` and email address (for Let's Encrypt) `notice@example.com`. It installs (or upgrades if the command is rerun later) the latest version of BigBlueButton 2.6 using `-v focal-260`. It also installs Greenlight (`-g`) and a firewall (`-w`). Notice that as of BigBlueButton 2.6 we have retired the API demos. We recommend using Greenlight or [API MATE](https://mconf.github.io/api-mate/) instead. - -```bash -wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s bbb.example.com -e notice@example.com -g -w -``` +The above link gives detailed information on using the script. As an example, passing several arguments to the script you can easily have both BigBlueButton and Greenlight or LTI installed on the same server. You could specify if you would like a new certificate to be generated. A firewall could be enabled. For the most up-to-date information, please refer to the instructions in the script. Notice that as of BigBlueButton 2.6 we have retired the API demos. We recommend using Greenlight or [API MATE](https://mconf.github.io/api-mate/) instead. Note: You can [uninstall Greenlight](/greenlight/v2/install#uninstall) if you do not intend on using it on production. -After the `bbb-install-2.6.sh` script finishes, you can check the status of your server with `bbb-conf --check`. When you run this command, you should see output similar to the following: +After the `bbb-install.sh` script finishes, you can check the status of your server with `bbb-conf --check`. When you run this command, you should see output similar to the following: ```bash $ sudo bbb-conf --check -BigBlueButton Server 2.6.0-alpha.1 (54) - Kernel version: 5.4.0-107-generic - Distribution: Ubuntu 20.04.4 LTS (64-bit) - Memory: 16393 MB - CPU cores: 2 +root@test27:~# bbb-conf --check + +BigBlueButton Server 2.7.0-alpha.1 (114) + Kernel version: 5.4.0-122-generic + Distribution: Ubuntu 20.04.6 LTS (64-bit) + Memory: 8148 MB + CPU cores: 4 /etc/bigbluebutton/bbb-web.properties (override for bbb-web) /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web) - bigbluebutton.web.serverURL: https://bbb.example.com + bigbluebutton.web.serverURL: https://test27.bigbluebutton.org defaultGuestPolicy: ALWAYS_ACCEPT - svgImagesRequired: true defaultMeetingLayout: CUSTOM_LAYOUT /etc/nginx/sites-available/bigbluebutton (nginx) - server_name: bbb.example.com - port: 80, [::]:80 - port: 443 ssl + server_name: test27.bigbluebutton.org + port: 80, [::]:80127.0.0.1:82 http2 proxy_protocol, [::1]:82 http2127.0.0.1:81 proxy_protocol, [::1]:81 /opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH) - local_ip_v4: 133.203.31.212 - external_rtp_ip: 133.203.31.212 - external_sip_ip: 133.203.31.212 + local_ip_v4: 143.198.37.212 + external_rtp_ip: 143.198.37.212 + external_sip_ip: 143.198.37.212 /opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH) ext-rtp-ip: $${local_ip_v4} ext-sip-ip: $${local_ip_v4} - ws-binding: 133.203.31.212:5066 - wss-binding: 133.203.31.212:7443 + ws-binding: 143.198.37.212:5066 + wss-binding: 143.198.37.212:7443 + +UDP port ranges + + FreeSWITCH: 16384-24576 + kurento: 24577-32768 + bbb-webrtc-sfu: 24577-32768 + bbb-webrtc-recorder: 24577-32768 /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback) - playback_host: bbb.example.com + playback_host: test27.bigbluebutton.org playback_protocol: https ffmpeg: 4.2.7-0ubuntu0.1 /usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx) - proxy_pass: 133.203.31.212 + proxy_pass: 143.198.37.212 protocol: http /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (bbb-webrtc-sfu) /etc/bigbluebutton/bbb-webrtc-sfu/production.yml (bbb-webrtc-sfu - override) - mediasoup.webrtc.*.announcedIp: 133.203.31.212 - mediasoup.plainRtp.*.announcedIp: 133.203.31.212 - kurento.ip: 133.203.31.212 + mediasoup.webrtc.*.announcedIp: 143.198.37.212 + mediasoup.plainRtp.*.announcedIp: 143.198.37.212 + kurento.ip: 143.198.37.212 kurento.url: ws://127.0.0.1:8888/kurento - freeswitch.sip_ip: 133.203.31.212 + freeswitch.sip_ip: 143.198.37.212 + recordingAdapter: Kurento recordScreenSharing: true recordWebcams: true codec_video_main: VP8 codec_video_content: VP8 +/etc/bbb-webrtc-recorder/bbb-webrtc-recorder.yml (bbb-webrtc-recorder) +/etc/bigbluebutton/bbb-webrtc-recorder.yml (bbb-webrtc-recorder - override) + debug: false + recorder.directory: /var/lib/bbb-webrtc-recorder + /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client) /etc/bigbluebutton/bbb-html5.yml (HTML5 client config override) - build: 8 - kurentoUrl: wss://bbb.example.com/bbb-webrtc-sfu - defaultFullAudioBridge: sipjs + build: 13 + kurentoUrl: wss://test27.bigbluebutton.org/bbb-webrtc-sfu + defaultFullAudioBridge: fullaudio defaultListenOnlyBridge: fullaudio sipjsHackViaWs: true -/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server) - stun: stun.l.google.com:19302 - # Potential problems described below @@ -249,15 +255,20 @@ bbb-apps-akka —————————► [✔ - active] bbb-fsesl-akka ————————► [✔ - active] mongod ————————————————► [✔ - active] bbb-html5 —————————————► [✔ - active] -bbb-webrtc-sfu ————————► [✔ - active] -kurento-media-server ——► [✔ - active] bbb-html5-backend@1 ———► [✔ - active] bbb-html5-backend@2 ———► [✔ - active] bbb-html5-frontend@1 ——► [✔ - active] bbb-html5-frontend@2 ——► [✔ - active] +bbb-webrtc-sfu ————————► [✔ - active] +bbb-webrtc-recorder ———► [✔ - active] +kurento-media-server ——► [✔ - active] etherpad ——————————————► [✔ - active] bbb-web ———————————————► [✔ - active] bbb-pads ——————————————► [✔ - active] +bbb-export-annotations ► [✔ - active] +bbb-rap-caption-inbox —► [✔ - active] +bbb-rap-resque-worker —► [✔ - active] +bbb-rap-starter ———————► [✔ - active] ``` @@ -265,26 +276,30 @@ You can also use `dpkg -l | grep bbb-` to list all the core BigBlueButton packag ```bash # dpkg -l | grep bbb- -ii bbb-apps-akka 2.6-10 all BigBlueButton Apps (Akka) -ii bbb-config 1:2.6-4 amd64 BigBlueButton configuration utilities -ii bbb-etherpad 1:2.6-2 amd64 The EtherPad Lite components for BigBlueButton -ii bbb-freeswitch-core 2:2.6-3 amd64 BigBlueButton build of FreeSWITCH -ii bbb-freeswitch-sounds 1:2.6-1 amd64 FreeSWITCH Sounds -ii bbb-fsesl-akka 2.6-5 all BigBlueButton FS-ESL (Akka) -ii bbb-html5 1:2.6-8 amd64 The HTML5 components for BigBlueButton -ii bbb-learning-dashboard 1:2.6-3 amd64 BigBlueButton bbb-learning-dashboard -ii bbb-libreoffice-docker 1:2.6-1 amd64 BigBlueButton setup for LibreOffice running in docker -ii bbb-mkclean 1:2.6-1 amd64 Clean and optimize Matroska and WebM files -ii bbb-pads 1:2.6-8 amd64 BigBlueButton Pads -ii bbb-playback 1:2.6-2 amd64 BigBlueButton playback -ii bbb-playback-presentation 1:2.6-3 amd64 BigBluebutton playback of presentation -ii bbb-record-core 1:2.6-4 amd64 BigBlueButton record and playback -ii bbb-web 1:2.6-5 amd64 BigBlueButton API -ii bbb-webrtc-sfu 1:2.6-6 amd64 BigBlueButton WebRTC SFU +ii bbb-apps-akka 1:2.7-10 all BigBlueButton Apps (Akka) +ii bbb-config 1:2.7-14 amd64 BigBlueButton configuration utilities +ii bbb-etherpad 1:2.7-4 amd64 The EtherPad Lite components for BigBlueButton +ii bbb-export-annotations 1:2.7-7 amd64 BigBlueButton Export Annotations +ii bbb-freeswitch-core 2:2.7-3 amd64 BigBlueButton build of FreeSWITCH +ii bbb-freeswitch-sounds 1:2.7-3 amd64 FreeSWITCH Sounds +ii bbb-fsesl-akka 1:2.7-7 all BigBlueButton FS-ESL (Akka) +ii bbb-html5 1:2.7-13 amd64 The HTML5 components for BigBlueButton +ii bbb-html5-nodejs 1:2.7-4 amd64 Include a specific NodeJS version for bbb-html5 +ii bbb-learning-dashboard 1:2.7-5 amd64 BigBlueButton bbb-learning-dashboard +ii bbb-libreoffice-docker 1:2.7-2 amd64 BigBlueButton setup for LibreOffice running in docker +ii bbb-mkclean 1:2.7-3 amd64 Clean and optimize Matroska and WebM files +ii bbb-pads 1:2.7-6 amd64 BigBlueButton Pads +ii bbb-playback 1:2.7-4 amd64 BigBlueButton playback +ii bbb-playback-presentation 1:2.7-3 amd64 BigBluebutton playback of presentation +ii bbb-record-core 1:2.7-4 amd64 BigBlueButton record and playback +ii bbb-web 1:2.7-8 amd64 BigBlueButton API +ii bbb-webrtc-recorder 1:2.7-2 amd64 BigBlueButton WebRTC Recorder +ii bbb-webrtc-sfu 1:2.7-9 amd64 BigBlueButton WebRTC SFU + ``` -With Greenlight installed (that was the `-g` option), you can open `https:///b` in a browser (where `` is the hostname you specified in the `bbb-install-2.6.sh` command), create a local account, create a room and join it. +With Greenlight installed (that was the `-g` option), you can open `https:///b` in a browser (where `` is the hostname you specified in the `bbb-install.sh` command), create a local account, create a room and join it. ![BigBlueButton's Greenlight Interface](/img/greenlight_welcome.png) @@ -306,23 +321,23 @@ The link to API-Mate will open a page at [https://mconf.github.io/api-mate/](htt Do you have a firewall between you and your users? If so, see [configuring your firewall](/administration/firewall-configuration). -### Upgrading BigBlueButton 2.6 +### Upgrading BigBlueButton 2.7 -You can upgrade by re-running the `bbb-install-2.6.sh` script again -- it will download and install the latest release of BigBlueButton 2.6. +You can upgrade by re-running the `bbb-install.sh` script again -- it will download and install the latest release of BigBlueButton 2.7. -### Upgrading from BigBlueButton 2.5 +### Upgrading from BigBlueButton 2.5 or 2.6 You can upgrade in a few steps: Make sure you don't have `bbb-demo` installed `sudo apt purge bbb-demo` - Then run the `bbb-install-2.6.sh` script -- it will download and install the latest release of BigBlueButton 2.6 on top of your old 2.5 version. + Then run the `bbb-install.sh` script -- it will download and install the latest release of BigBlueButton 2.7 on top of your old 2.5 version. - Make sure you read through the "what's new in 2.6" document https://docs.bigbluebutton.org/2.6/new and specifically https://docs.bigbluebutton.org/2.6/new#other-notable-changes + Make sure you read through the "what's new in 2.7" document https://docs.bigbluebutton.org/2.7/new and specifically https://docs.bigbluebutton.org/2.7/new#other-notable-changes ### Upgrading from BigBlueButton 2.4 -If you are upgrading BigBlueButton 2.4 or 2.3 we recommend you set up a new Ubuntu 20.04 server with BigBlueButton 2.5 and then [copy over your existing recordings from the old server](/administration/customize#transfer-published-recordings-from-another-server). +If you are upgrading BigBlueButton 2.4 or 2.3 we recommend you set up a new Ubuntu 20.04 server with BigBlueButton 2.7 and then [copy over your existing recordings from the old server](/administration/customize#transfer-published-recordings-from-another-server). ### Restart your server @@ -350,7 +365,7 @@ If this server is intended for production, you should also We provide publically accessible servers that you can use for testing: - [https://demo.bigbluebutton.org](https://demo.bigbluebutton.org/) - a pool of BigBlueButton servers with the Greenlight front-end (sometimes the pool is a mix of different BigBlueButton releases) -- [https://test26.bigbluebutton.org](https://test26.bigbluebutton.org) - Runs the general build of BigBlueButton 2.6 - usually a few days behind the repository branch `v2.6.x-release` +- [https://test27.bigbluebutton.org](https://test27.bigbluebutton.org) - Runs the general build of BigBlueButton 2.7 - usually a few days behind the repository branch `v2.7.x-release` To learn more about integrating BigBlueButton with your application, check out the [BigBlueButton API documentation](/development/api). To see videos of BigBlueButton HTML5 client, see [https://bigbluebutton.org/html5](https://bigbluebutton.org/html5). @@ -364,7 +379,7 @@ If you're looking to deploy a large-scale installation of BBB using [Scalelite]( - easily customizable: your custom configurations will get replaced every time you upgrade automatically - parity across machines: ensure that you deploy the exact same version of BBB on every server -- eliminate human error in setup: using bbb-install-2.6.sh or step-by-step methods are highly prone to human error as you can easily forget if you enabled a setting, chose to do X over Y, etc +- eliminate human error in setup: using bbb-install.sh or step-by-step methods are highly prone to human error as you can easily forget if you enabled a setting, chose to do X over Y, etc - automate to the fullest: by automating the process, you inherently save time on nasty troubleshooting and hours lost in manual configuration - easily scale at large: spin up an identical replica of your BBB server in less than 15 mins with no user input -- preconfigured and ready to go @@ -372,7 +387,7 @@ Choose this method if you are already comfortable with a lot of the technical kn Note: These examples are _not_ maintained or developed by the official BigBlueButton developers. These are entirely community-sourced, use at your own discretion. -These first two install BigBlueButton on your server in a consistent fashion. You can specify variables, such as whether to install Greenlight too, what ports to use for TURN, and others. Functionally quite similar to bbb-install-2.6.sh but highly automated. +These first two install BigBlueButton on your server in a consistent fashion. You can specify variables, such as whether to install Greenlight too, what ports to use for TURN, and others. Functionally quite similar to bbb-install.sh but highly automated. - [General Ansible role for BigBlueButton](https://github.com/n0emis/ansible-role-bigbluebutton) - [Alternative Ansible role for BigBlueButton](https://github.com/juanluisbaptiste/ansible-bigbluebutton) @@ -420,4 +435,4 @@ For more details see [this issue](https://github.com/bigbluebutton/bbb-install/i ## Feedback and reporting bugs -If you found a reproducible bug, please report it in the [GitHub Issues section](https://github.com/bigbluebutton/bigbluebutton/issues) with steps to reproduce (this will make it easier for the developers to fix the bug). Indicate in the body of the bug report that this applies to BigBlueButton 2.6 and give us the client build number, which you can find either with `dpkg -l | grep bbb-html5` or within the client in the `Settings -> About` menu.. +If you found a reproducible bug, please report it in the [GitHub Issues section](https://github.com/bigbluebutton/bigbluebutton/issues) with steps to reproduce (this will make it easier for the developers to fix the bug). Indicate in the body of the bug report that this applies to BigBlueButton 2.7 and give us the client build number, which you can find either with `dpkg -l | grep bbb-html5` or within the client in the `Settings -> About` menu.. diff --git a/docs/docs/development/dev-guide.md b/docs/docs/development/dev-guide.md index a4b1b4391f..5de1676246 100644 --- a/docs/docs/development/dev-guide.md +++ b/docs/docs/development/dev-guide.md @@ -9,13 +9,13 @@ keywords: - developer --- -Welcome to the BigBlueButton Developer's Guide for BigBlueButton 2.6. +Welcome to the BigBlueButton Developer's Guide for BigBlueButton 2.7. -This document gives you an overview of how to set up a development environment for BigBlueButton 2.6. +This document gives you an overview of how to set up a development environment for BigBlueButton 2.7. ## Before you begin -You first need to set up a BigBlueButton 2.6 server. See the instructions at [Install BigBlueButton 2.6](/administration/install). +You first need to set up a BigBlueButton 2.7 server. See the instructions at [Install BigBlueButton 2.7](/administration/install). ## Overview @@ -32,7 +32,7 @@ A BigBlueButton server is built from a number of components that correspond to U - kurento-media-server -- WebRTC media server for sending/receiving/recording video (webcam and screen share) - bbb-freeswitch-core -- WebRTC media server for sending/receiving/recording audio -This document describes how to set up a development environment using an existing BigBlueButton 2.6 server. Once the environment is set up, you will be able to make custom changes to BigBlueButton source, compile the source, and replace the corresponding components on the server (such as updating the BigBlueButton client). +This document describes how to set up a development environment using an existing BigBlueButton 2.7 server. Once the environment is set up, you will be able to make custom changes to BigBlueButton source, compile the source, and replace the corresponding components on the server (such as updating the BigBlueButton client). The instructions in this guide are step-by-step so you can understand each step needed to modify a component. If you encounter problems or errors at any section, don't ignore the errors. Stop and double-check that you have done the step correctly. If you are unable to determine the cause of the error, do the following @@ -180,20 +180,20 @@ After cloning, you'll have the following directory (make sure the `bigbluebutton /home/bigbluebutton/dev/bigbluebutton ``` -Confirm that you are working on the `v2.6.x-release` branch. +Confirm that you are working on the `v2.7.x-release` branch. ```bash cd /home/bigbluebutton/dev/bigbluebutton git status ``` -BigBlueButton 2.6 source code lives on branch `v2.6.x-release`. This is where any patches to 2.6 will be merged. If you are looking to customize your BigBlueButton 2.6 clone to fit your needs, this is the branch to use. +BigBlueButton 2.7 source code lives on branch `v2.7.x-release`. This is where any patches to 2.7 will be merged. If you are looking to customize your BigBlueButton 2.7 clone to fit your needs, this is the branch to use. -For the purpose of these instructions we'll assume you are only tweaking your clone of BigBlueButton. Thus we recommend you checkout branch `v2.6.x-release`. +For the purpose of these instructions we'll assume you are only tweaking your clone of BigBlueButton. Thus we recommend you checkout branch `v2.7.x-release`. ``` -On branch v2.6.x-release -Your branch is up-to-date with 'origin/v2.6.x-release'. +On branch v2.7.x-release +Your branch is up-to-date with 'origin/v2.7.x-release'. nothing to commit, working directory clean ``` @@ -215,10 +215,10 @@ After, we need to fetch the most up to date version of the remote repository. git fetch upstream ``` -You are now ready to create a new branch to start your work and base the `v2.6.x-release` release branch +You are now ready to create a new branch to start your work and base the `v2.7.x-release` release branch ```bash -git checkout -b my-changes-branch upstream/v2.6.x-release +git checkout -b my-changes-branch upstream/v2.7.x-release ``` "checkout" switches branches @@ -227,7 +227,7 @@ git checkout -b my-changes-branch upstream/v2.6.x-release "my-changes-branch" will be the name of the new branch -"upstream/v2.6.x-release" is where you want to start your new branch +"upstream/v2.7.x-release" is where you want to start your new branch You should now confirm that you are in the correct branch. @@ -252,7 +252,7 @@ Below is an overview of the different components in a production set-up. When de ### (Optional) Install Greenlight -Note that at this point we recommend installing and using [Greenlight](/greenlight/v2/install) or using API-MATE (link can be found when you run `$ bbb-conf --salt`). +Note that at this point we recommend installing and using [Greenlight](/greenlight/v3/install) or using API-MATE (link can be found when you run `$ bbb-conf --salt`). You can access https://BBB_DOMAIN , and you will be able to join meetings. @@ -324,7 +324,7 @@ $ NODE_ENV=production npm start In certain cases when making changes that span multiple BigBlueButton components you would want to ensure that the changes work well with the multiple different `NodeJS` processes. -You can deploy locally your modified version of the HTML5 client source using the script [bigbluebutton-html5/deploy_to_usr_share.sh](https://github.com/bigbluebutton/bigbluebutton/blob/v2.6.x-release/bigbluebutton-html5/deploy_to_usr_share.sh) - which deploys your [customized] bigbluebutton-html5/\* code as locally running `bbb-html5` package (production mode, requiring the `poolhtml5servers` NGINX rule). Make sure to read through the script to understand what it does prior to using it. +You can deploy locally your modified version of the HTML5 client source using the script [bigbluebutton-html5/deploy_to_usr_share.sh](https://github.com/bigbluebutton/bigbluebutton/blob/v2.7.x-release/bigbluebutton-html5/deploy_to_usr_share.sh) - which deploys your [customized] bigbluebutton-html5/\* code as locally running `bbb-html5` package (production mode, requiring the `poolhtml5servers` NGINX rule). Make sure to read through the script to understand what it does prior to using it. ### Switch NGINX to redirect requests to Meteor diff --git a/docs/docs/new-features.md b/docs/docs/new-features.md index c1b6b0c0ec..7a4330c5cf 100644 --- a/docs/docs/new-features.md +++ b/docs/docs/new-features.md @@ -1,177 +1,56 @@ -![BigBlueButton 2.6 runs on Ubuntu 20.04](/img/26_BBB_header.png) +![BigBlueButton 2.7 runs on Ubuntu 20.04](/img/27_BBB_header.png) ## Overview -BigBlueButton 2.6 offers users improved usability, increased engagement, and more performance. +#### Note: this document is a draft. BigBlueButton 2.7 is still under development. + +BigBlueButton 2.7 offers users improved usability, increased engagement, and more performance. - **Usability** - making common functions (such as raise hand) easier - **Engagement** - giving the instructor more ways to engage students - **Performance** - increasing overall performance and scalability -Here's a breakdown of what's new in 2.6. +Here's a breakdown of what's new in 2.7. ### Usability -#### Dark theme +#### Grid layout -BigBlueButton supports dark theme. To enable it just navigate to the Settings and enabled Dark mode. +We have enhanced the layout which is focused on webcams by providing a visual representation of each participant. This way whether a webcam was shared or not, you can more easily be aware of who is speaking, who is present etc. -![The toggle for dark theme is located in the main settings panel](/img/26-dark-theme-setting.png) +#### Camera as content -![Dark theme in action - typically pale elements like the participants list are displayed in dark palette](/img/26-dark-theme-in-action.png) +In hybrid learning (and not only) there is a frequently a need for displaying a physical whiteboard or draw the attention of students to a specific physical area. We now support using a webcam as the main content to occupy the presentation area. -#### Improved Echo Test dialog -The echo test modal has added a new audio stream volume indicator in place of the -separate confirmation screen. This reduced the number of views and interactions required for audio confirmation. -![Updated echo test modal with added ](/img/26-echo-test.png) +![Share camera as content](/img/2.7-share-camera-as-content.png) -#### Improved notification of recording start +#### Disable viewing your own video stream -The indicator for whether the recording is on has been made bigger. Additionally, if you create your meeting with an optional parameter `notifyRecordingIsOn=true`, you users will see the following dialog when the recording commenses and also when joining a session that is already actively being recorded. You can choose to either continue or leave the session. +You can now disable the self viewing of your webcam to reduce fatigue of seeing your own webcam stream. This has been a common request in the recent months. When you disable the view you will see an image of yourself with an overlay reminding you that your webcam is still active and others see you. -![A big red square used as a recording indicator, used to be more subtle](/img/26-recording-indicator.png) +![Disable self-view](/img/2.7-disable-self-view.png) -![A blocking dialog shows up if the session is being recorded](/img/26-recording-popup.png) +You can re-enable viewing your own webcam at any point. -#### Allow pinning of more than one webcam +![Re-enable self-view](/img/2.7-enable-self-view.png) -The pinning feature prevents the webcams from being rotated out when audio floor switching is activated. -This functionality is specially important for document and/or interpreter cameras. It has also been improved -to support miltiple pinned cameras. +#### Restore downloading of original presentation -![Animation selecting webcam dropdown menu and pin option item](/img/26-cam-pin.gif) - -#### Upload your own webcam background - -This new feature allows a user to upload virtual background image's for their webcam. The user can upload -and delete images at will. - -![Animation of user uploading webcam custom background image](/img/26-bg-upload.gif) - -#### Set webcam image brightness - -Allows the ability to adjust the brightness levels of their webcam (or) webcam and background image. - -This is done via the webcam settings modal using the brightness slider at the bottom. - -![Animation of webcam brightness slider interaction](/img/26-webcam-brightness.gif) - -#### Improved layouts manager selection - -Layout selection can now be done via the updated layout selection modal located in the actions (+) button. - -![Animation selecting actions button and layout selection item](/img/26layout-selection.gif) - -#### Live Automatic Closed Captions - -Note: The automatic transcription is only available for browsers that support SpeechRecognition (Google Chrome, MS Edge and Safari). So those who join a meeting using other browsers will see a warning in the audio modal. - -![audio modal with speech recognition error](/img/26-no-voice-rec.png) - -By default, automatic transcription language selector is disabled. This can be changed in the settings file. Users who want to have their voices transcribed must enable it by selecting the desired language from the drop-down selector in the join audio dialog. - -![audio modal with automatic transcription dropdown](/img/26-auto-transcription.png) - -When the user selects a language for automatic transcription, BigBlueButton will display a CC icon next to their name in the "who is talking" indicator. - -![Talking indicator with closed caption icon](/img/26-cc-talking-indicator.png) - -When one or more users have enabled transcription, BigBlueButton will display a 'CC' button to display the transcriptions. You don't need to have selected transcription of your audio to view the transcriptions for others. - -To view the transcriptions for those with 'CC' in their "who is talking" icon, select the CC button. - -The placement of the 'CC' button depends on your device. For desktop, the 'CC' button is in the bottom left. - - -![closed captions button on action bar](/img/26-cc-desktop-btn.png) - -For mobile devices, The 'CC' button is in the three dots in the top right corner. - -![closed captions button on mobile in app options menu](/img/26-cc-mobile-btn.png) - -To enable the option for automatic translations for users of Google Chrome, Microsoft Edge, and Safari, edit the `/etc/bigbluebutton/bbb-html5.yml` and add the following to the `public:` section and restart BigBlueButton. - -``` -public: - app: - audioCaptions: - enabled: true -``` - -#### Downloading presentation with whiteboard annotations included - -Teachers can now export their slide decks with the annotations added during a lesson. -Selecting "Send to chat" in the presentation upload modal sends a link in the public chat from which meeting participants can download the file. - -![BigBlueButton's upload modal with a button to export the presentation with annotations](/img/26-send-to-chat.png) - -#### Upload a presentation straight from NextCloud - -Two new create parameters: presentationUploadExternalDescription and presentationUploadExternalUrl have been introduced. - -The client supports these parameters, displaying a message in the presentation upload modal when both values are set at meeting creation. - -![Upload presentation modal with next cloud message](/img/26-next-cloud.png) - -#### Easier moving of users between breakout rooms - -There is a new option for the breakout room controls called Manage users. - -![Manage users](/img/26-manage-users.png) - -This dialog lets you drag-and-drop users between different breakout rooms. - -![Move users dialog](/img/26-move-user.gif) - -When you click Apply, BigBlueButton well send prompts to each user to move them to the target breakout room. - -![Move users prompt](/img/26-move-prompt.png) - -When you click Apply, BigBlueButton will send prompts to each user to move them to the target breakout room. - - - -#### Recording in Video format - -This release introduces a new recording format that creates a single video file from audio, video, screen share, presentation, and whiteboard marks recorded during the session. The file format is webm (vp9 video), although configuration options is available to create an mp4 (h264 video) file instead. - -Learn more about [how to enable generating MP4 (h264 video) output](https://docs.bigbluebutton.org/administration/customize#enable-generating-mp4-h264-video-output) +In BigBlueButton 2.4 and 2.5 we supported optional downloading of the entire presentation. In BigBlueButton 2.6 we replaced this option with the capability to download the presentation with all the annotations embedded in it. As of BigBlueButton 2.7 you will be able to do both! ### Engagement -#### Fully reimplemented whiteboard (tl;draw) +#### Reaction Bar -The whiteboard has been updated with TLdraw, a small application which supports improved drawing features. +The Reaction Bar aims to make it much easier for students to respond with emojis to the teacher. The emoji is displayed in the user avatar area for 1 minute (configurable). -For more details see . - -![BigBlueButton whiteboard using tldraw](/img/26-tldraw.png) - -#### Exporting Shared notes to the whiteboard - -Instructors can move the shared notes to the whiteboard presentation area for further collaborative work among students. - -![BigBlueButton's whiteboard with annotations, with imported shared notes as the presentation](/img/26-shared-notes-import.png) - -#### Exporting breakout rooms' shared notes as a presentation to the main room - -#### Exporting breakout rooms' whiteboard annotations to the main room - -#### Easier setup of polling - -Polling has been updated to allow for polls when prepared in advance using the custom input option. - -![Animation of user opening poll panel and toggle custom input](/img/26-custom-poll.gif) - -### Analytics + -### Performance + -#### Recording API improvements -Allows for quicker, more efficient search and retrieval of recording data. ### Experimental @@ -196,83 +75,31 @@ Reverting to the default recorder (Kurento) can be achieved by removing the `rec ### Upgraded components -Under the hood, BigBlueButton 2.6 installs on Ubuntu 20.04 64-bit, and the following key components have been upgraded -- Meteor 2.12 -- Grails 5.2.4 -- Spring 2.7.1 +Under the hood, BigBlueButton 2.7 installs on Ubuntu 20.04 64-bit, and the following key components have been upgraded +- Spring 2.7.12 +- React 18 For full details on what is new in BigBlueButton 2.6, see the release notes. Recent releases: -- [2.6.8](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.8) -- [2.6.7](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.7) -- [2.6.6](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.6) -- [2.6.5](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.5) -- [2.6.4](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.4) -- [2.6.3](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.3) -- [2.6.2](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.2) -- [2.6.1](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.1) -- [2.6.0](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0) -- [rc.9](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.9) -- [rc.8](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.8) -- [rc.7](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.7) -- [rc.6](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.6) -- [rc.5](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.5) -- [rc.4](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.4) -- [rc.3](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.3) -- [rc.2](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.2) -- [rc.1](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-rc.1) -- [beta.7](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.7) -- [beta.6](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.6) -- [beta.5](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.5) -- [beta.4](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.4) -- [beta.3](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.3) -- [beta.2](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.2) -- [beta.1](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-beta.1) -- [alpha.4](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-alpha.4) -- [alpha.3](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-alpha.3) -- [alpha.2](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-alpha.2) -- [alpha.1](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.6.0-alpha.1) - ### Other notable changes -#### We have retired the `bbb-demo` API Demos development only package - -We recommend using API MATE or Greenlight - see the [development setup section](/development/guide) for more information. - -#### bbb-install-2.6.sh installs a local TURN server and shares port 443 by default +#### bbb-install-2.7.sh from master branch (bigbluebutton/bbb-install) renamed to bbb-install.sh on branch v2.7.x-release If you are using bbb-install to configure your servers, be aware that in BigBlueButton 2.6's version of bbb-install by default we install a local TURN server. For more information: https://github.com/bigbluebutton/bbb-install/pull/579 and https://docs.bigbluebutton.org/administration/turn-server -#### Change of parameters naming - -In 2.5 we had the hidePresentation which was responsible for disabling presentation Area, and it was configured in the join call. Now we have a new disabled feature which is responsible for that. it is called `disabledFeatures=presentation`, and it is configured in the create call, for more details see the [docs](https://docs.bigbluebutton.org/2.6/development/api#create). - -There is another parameter renamed in 2.6, it is `swapLayout`, or `userdata-bbb_auto_swap_layout` in the join call. Now, this parameter is set to `hidePresentationOnJoin` or `userdata-bbb_hide_presentation_on_join` in the join call, and it does essentially the same thing: it starts meeting with presentation minimized. And lastly, we've got another way to configure it: which is to set `public.layout.hidePresentationOnJoin: true` in the override settings file: `/etc/bigbluebutton/bbb-html5.yml` - -In brief: - -- 2.5 **JOIN** `hidePresentation` -> 2.6 **CREATE** `disabledFeatures=presentation` (permanent disabling of presentation area for all users) -- 2.5 **JOIN** `swapLayout` -> 2.6 **JOIN** `hidePresentation` (join a meeting with presentation area hidden, not permanently) - -#### Change of location for default presentation - -We used to keep the default presentation (`default.pdf` on a stock installation) in `/var/www/bigbluebutton-default/`. -In BigBlueButton 2.6 we added a directory `assets` so now the full path is `/var/www/bigbluebutton-default/assets/default.pdf`. -In case you are overriding the file/filename, please pass `beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/assets/file.pdf` in `/etc/bigbluebutton/bbb-web.properties` - ### Development -For information on developing in BigBlueButton, see [setting up a development environment for 2.6](/development/guide). +For information on developing in BigBlueButton, see [setting up a development environment for 2.7](/development/guide). -The build scripts for packaging 2.6 (using fpm) are located in the GitHub repository [here](https://github.com/bigbluebutton/bigbluebutton/tree/v2.6.x-release/build). +The build scripts for packaging 2.7 (using fpm) are located in the GitHub repository [here](https://github.com/bigbluebutton/bigbluebutton/tree/v2.7.x-release/build). ### Contribution -We welcome contributors to BigBlueButton 2.6! The best ways to contribute at the current time are: +We welcome contributors to BigBlueButton 2.7! The best ways to contribute at the current time are: -- Help localize BigBlueButton 2.6 on [Transifex project for BBB 2.6](https://www.transifex.com/bigbluebutton/bigbluebutton-v26-html5-client/dashboard/) + -- Try out [installing BigBlueButton 2.6](/administration/install) and see if you spot any issues. -- Help test a [2.6 pull request](https://github.com/bigbluebutton/bigbluebutton/pulls?q=is%3Aopen+is%3Apr+milestone%3A%22Release+2.6%22) in your development environment. +- Try out [installing BigBlueButton 2.7](/administration/install) and see if you spot any issues. +- Help test a [2.7 pull request](https://github.com/bigbluebutton/bigbluebutton/pulls?q=is%3Aopen+is%3Apr+milestone%3A%22Release+2.7%22) in your development environment. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 3db20b8a4a..b79ecceec7 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -71,7 +71,7 @@ const config = { dropdownActiveClassDisabled: true, }, { - href: 'https://github.com/bigbluebutton/bigbluebutton/tree/v2.6.x-release/docs', + href: 'https://github.com/bigbluebutton/bigbluebutton/tree/v2.7.x-release/docs', label: 'GitHub', position: 'right', }, diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx index 4820935dae..4651fa2d63 100644 --- a/docs/src/components/HomepageFeatures/index.tsx +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -65,7 +65,7 @@ const FeatureList: FeatureItem[] = [ Svg: require('@site/static/img/icon_new.svg').default, description: ( <> - Discover the new features of BigBlueButton in version 2.6. + Discover the new features of BigBlueButton in version 2.7 (under development). ), actionText: "Discover", diff --git a/docs/static/img/2.7-disable-self-view.png b/docs/static/img/2.7-disable-self-view.png new file mode 100644 index 0000000000..3ee6090f23 Binary files /dev/null and b/docs/static/img/2.7-disable-self-view.png differ diff --git a/docs/static/img/2.7-enable-self-view.png b/docs/static/img/2.7-enable-self-view.png new file mode 100644 index 0000000000..a41db99b7a Binary files /dev/null and b/docs/static/img/2.7-enable-self-view.png differ diff --git a/docs/static/img/2.7-share-camera-as-content.png b/docs/static/img/2.7-share-camera-as-content.png new file mode 100644 index 0000000000..40f26a2b88 Binary files /dev/null and b/docs/static/img/2.7-share-camera-as-content.png differ diff --git a/docs/static/img/27_BBB_header.png b/docs/static/img/27_BBB_header.png new file mode 100644 index 0000000000..851b1d4a47 Binary files /dev/null and b/docs/static/img/27_BBB_header.png differ