API documentation for Django integration

Models

Models for integrating BigBLueButton API with Django.

These models are intended for persisting data that is needed for setting up access to any BigBlueButton servers, and for (re-)creating meetings on these servers. Normally, all other data, i.e. that represents live state, is fetched from the API directly and not persisted.

class bigbluebutton.django.models.APIToken(*args, **kwargs)[source]

An API token when using the proxy capabilities of bigbluebutton2.

This is used to authenticate and authorise requests in the APIView that can be used to handle HTTP requests to the Django application that resemble the original BigBlueButton API, e.g. when creating a proxy or load balancer, and when these requests shall be linked to permissions in Django.

Parameters
  • name (CharField) – Human-readable display name for the token

  • salt (CharField) – The API salt/secret key for this token; see request_checksum() for details

  • server_group (ForeignKey to BigBlueButtonGroup) – The server group to forward requests to after successful authorisation

  • user (ForeignKey to User) – The Django user linked to this token, if the user scope is used

  • scope (CharField) – The scope of this token, used to determine what data is returned in requests that handle existing meeting data

  • id (AutoField) – Id

  • guid (UUIDField) – Guid

exception DoesNotExist
exception MultipleObjectsReturned
clean()[source]

Ensure a user is linked when the user scope is selected.

Return type

None

class bigbluebutton.django.models.BigBlueButton(*args, **kwargs)[source]

Configuration for one BigBlueButton server.

See the documentation of the BigBlueButton in the main API module for most details.

Parameters
  • id (AutoField) – Id

  • name (CharField) – Server name

  • url (URLField) – Api base url

  • salt (CharField) – Api shared secret

  • group (ForeignKey to BigBlueButtonGroup) – Group

exception DoesNotExist
exception MultipleObjectsReturned
property api

The real BigBlueButton API object.

Use this object to operate on any live data. It is created on the first request and then cached.

Return type

BigBlueButton

class bigbluebutton.django.models.BigBlueButtonGroup(*args, **kwargs)[source]

Configuration for a group of BigBlueButton servers.

See the documentation of the BigBlueButtonGroup in the main API module for most details.

Parameters
  • id (AutoField) – Id

  • name (CharField) – Group name

  • site (ForeignKey to Site) – Site

exception DoesNotExist
exception MultipleObjectsReturned
property api_group

The real BigBlueButtonGroup API object.

Use this object to operate on any live data. It is created on the first request and then cached.

Return type

BigBlueButtonGroup

class bigbluebutton.django.models.Meeting(*args, **kwargs)[source]

Configuation for a BigBlueButton meeting.

See the documentation of the Meeting in the main API module for most details.

Parameters
  • id (AutoField) – Id

  • name (CharField) – Meeting name

  • welcome_message (TextField) – Welcome message

  • moderator_message (TextField) – Welcome message for moderators

  • max_participants (PositiveSmallIntegerField) – Maximum number of participants

  • api (ForeignKey to BigBlueButton) – Api

  • guid (UUIDField) – Guid

exception DoesNotExist
exception MultipleObjectsReturned
classmethod from_api(api, meeting)[source]

Create a persistent meeting object from the live API.

This can be used to retroactively persist a Meeting object object that was not created by the Django application.

Return type

Meeting

join(user, do_join=False)[source]

Join a Django user to this meeting.

Generate an Attendee object from a Django user and asks the API to join it to the meeting. To generate the Attendee object, the function defined in the BBB_ATTENDEE_CALLBACK setting is called, defaulting to

get_attendee().

Parameters
  • user (User) – The Django user object of the user to join as attendee

  • do_join (bool) – Handle the join request server-side. Defaults to False, so the client browser can request the actual join

Return type

str

Returns

The result of the join() method from the main API

property meeting

The real Meeting API object.

Use this object to operate on any live data. It is created on the first request and then cached.

Return type

Meeting

property meeting_id

Internal meeting ID as used by BigBlueButton.

If a Meeting object is already linked and has an ID, it is returned. If not, a new ID is generated and stored in the linked Meeting object, if any. This means that the ID is stable once it was transported to the API.

Return type

str

Views

class bigbluebutton.django.views.APIView(**kwargs)[source]