* Add a new way to extend the BigBlueButtonBN form via subplugins
* Allow subplugins to extends information via new tables and use it in
the edit form.
* Add a new cache helping with potential perfomance issues introduced
by recurring calls to find out about associated tables in subplugins.
* The constructor of mod_bigbluebuttonbn\instance was provided with a cm_info.
This forced us to retrieve it whenever we created an instance. The issue is that
sometimes we need all the "other" data but not necessarily the cm_info.
So we now lazy load it.
* Make the constructor private as it should only be instancied through
static methods
* Do not duplicate the code between get_from_instanceid,
get_from_cmid and get_all_instances_in_course
* Provide a way for external participants to be invited to a meeting by giving them an url/password
for external users (not registered in Moodle)
* Add guest access page with username and password prompt
* Add form and modify API calls to take into account guest login
* Add a form modal to add guest users emails
* Allow copy of link and password in both popup form and module form
* The guest should be approved by default. It should be intentional to let them
in without checks.
* Guest access URL and password should not be copied when duplicating or backing
up the activity.
* The mod_bigbluebuttonbn_meeting_info web service function now
returns guestjoinurl and guestpassword only for moderators.
* Redirect if user already logged in
Note: this will allow guest to connect to an existing and running meeting. The moderator will then
be able to adjust the guest user's right. For security reasons we do not yet allow moderators
to join the meeting directly (or start a meeting)
* When Show imported links only is enabled in activity or config, only imported recordings will appear
* Logic for activity/default overrides implemented
* The hide recording is working in combination with several settings and should
allow the Record button to be hidden either globally on in a given activity