bigbluebutton-Github/docs
schrd 64e43e4331
fix(core): 3.0 cluster setup (#20439)
* Add graphql API endpoint to BBB API

This parameter will be required for the HTML5 client to discover the API
endpoint of the GraphQL API so it can fetch its settings.

* Fix: ensure API calls are headed towards the BBB Server

In a cluster setup the URL that is visible in the browser is different
from the URL of the BBB Server.

The clients needs to contact the BBB server to retrieve information
about the graphQL websocket and the graphql API.

This patch adds the GraphQL API endpoint to the BBB API and changes the
Client to use it.

* Make GraphQL API endpoint configurable

The default value should work for single node and cluster setups

* Update docs to reflect changes required by cluster setup

* fix eslint and typescript errors

* Fix cluster setup docs

- add missing parts for hasura
- use consistent domain example.com

* rename variable

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

* rename variable

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

* rename variable

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

* Update bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

* Update bigbluebutton-web/grails-app/conf/bigbluebutton.properties

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

---------

Co-authored-by: Daniel Schreiber <daniel.schreiber@hrz.tu-chemnitz.de>
Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-06-17 14:26:13 -04:00
..
docs fix(core): 3.0 cluster setup (#20439) 2024-06-17 14:26:13 -04:00
src docs: init changes for BBB 3.0 2023-12-07 11:03:08 -05:00
static Fix the documentation image attachments 2024-05-24 11:36:26 -04:00
.gitignore Versioning configuration and improvents in the build script 2023-02-09 10:53:47 +01:00
babel.config.js
build.sh docs: build 3.0 docs 2023-12-07 16:33:38 -05:00
docusaurus_start_error_001.png docs: improve README with a screenshot of the most common error 2024-05-09 09:05:25 -04:00
docusaurus.config.js docs: drop release notes page 2024-05-10 16:04:26 -04:00
package-lock.json docs: replaced search tool 2024-05-09 10:57:35 -04:00
package.json docs: replaced search tool 2024-05-09 10:57:35 -04:00
README.md docs: replaced search tool 2024-05-09 10:57:35 -04:00
sidebars.js docs: drop release notes page 2024-05-10 16:04:26 -04:00
tsconfig.json

BigBlueButton Docs

These docs are automatically built using Docusaurus 2 and GitHub Actions (see deploy-docs.yml).

Local Development

To test build the docs locally use:

$ npm ci  # install docusaurus and dependencies (based on the package-lock.json file)
$ npx docusaurus start  # start local dev server

By default docusaurus.config.js contains instructions for the building of a few extra branches. However, on in a development environment you may run into the following error from docusaurus:

Development setup for docusaurus possible error

Error: The docs folder does not exist for version "2.6". A docs folder is expected to be found at versioned_docs/version-2.6.

In this case you may want to drop all but the current branch. For example:

diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 50b72b12ec..04f360a955 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -38,12 +38,6 @@ const config = {
                     lastVersion: '2.7',
                     includeCurrentVersion: false,
                     versions: {
-                        '2.5-legacy': {
-                            banner: 'none'
-                        },
-                        '2.6': {
-                            banner: 'none'
-                        },
                         '2.7': {
                             banner: 'none'
                         },

The last command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

There is also a script build.sh that goes through all branches of the repository and adds all release branches that have a docusaurus.config.js-file as versions to the docs. Note that you can not have uncommitted local changes before you run /build.sh, otherwise git will refuse to change branches. This step is optional and if you don't run it, docusaurus will only build the currently checkout out version which is recommended for local development (building all the versions locally can lead to problems with the live updates when using npx docusaurus start).

Build

If you only want to build the docs you can run:

$ npx docusaurus clear # ensure cached content is not interfering with your changes
$ npx docusaurus build
$ npm run serve

This command generates static content into the build directory and can be served using any static contents hosting service.

Troubleshooting

Sometimes cached content can interfere with your changes during live updates in development or when building the docs. To avoid this you can run:

$ npx docusaurus clear  # ensure cached content is not interfering with your changes
$ rm -r versioned_docs versioned_sidebars versions.json  # if you build multiple versions

Cutting a new release

The docs for all versions are build and deployed from the develop-branch, but the actual documentation per version lives in each version-branch (e.g. v2.6.x-release). When cutting a new BigBlueButton release at least these two files need to be adjusted on develop:

  • build.sh: the variable BRANCHES is a list of all branches for which documentation will be included
  • docusaurus.config.js: adjust metadata and versions in config.presets.docs.versions