MDL-86950 mod_bigbluebuttonbn: Update experimental features settings

* Renamed Experimental Features Setting category string with updated Session Access string
* Moved Register Live Session setting to Extended Capabilities category
This commit is contained in:
Shamiso Jaravaza
2026-03-16 09:39:12 +01:00
committed by Raquel Ortega
parent 6ebf41a6c2
commit abfd83f728
5 changed files with 44 additions and 29 deletions
@@ -162,6 +162,16 @@ class setting_validator {
!isset($CFG->bigbluebuttonbn['meetingevents_enabled']));
}
/**
* Validate if settings extended section will be shown.
*
* @return bool
*/
public static function section_session_access_shown() {
global $CFG;
return (!isset($CFG->bigbluebuttonbn['guestaccess_enabled']));
}
/**
* Validate if muteonstart section will be shown.
*
+26 -26
View File
@@ -113,8 +113,8 @@ class settings {
$this->add_lock_settings();
// Renders settings for extended capabilities.
$this->add_extended_settings();
// Renders settings for experimental features.
$this->add_experimental_settings();
// Renders settings for session access features.
$this->add_sessionaccess_settings();
// Add all subplugin settings if any.
$this->admin->add($this->parent, new admin_category('bbbextplugins',
@@ -949,6 +949,18 @@ class settings {
get_string('config_extended_capabilities_description', 'bigbluebuttonbn')
);
$extendedcapabilitiessetting->add($item);
// UI for 'register meeting events' feature.
$item = new admin_setting_configcheckbox(
'bigbluebuttonbn_meetingevents_enabled',
get_string('config_meetingevents_enabled', 'bigbluebuttonbn'),
get_string('config_meetingevents_enabled_description', 'bigbluebuttonbn'),
0
);
$this->add_conditional_element(
'meetingevents_enabled',
$item,
$extendedcapabilitiessetting
);
// UI for 'notify users when recording ready' feature.
$item = new admin_setting_configcheckbox(
'bigbluebuttonbn_recordingready_enabled',
@@ -978,36 +990,24 @@ class settings {
}
/**
* Helper function renders experimental settings if any of the features there is enabled.
* Helper function renders session access settings if any of the features there is enabled.
*/
protected function add_experimental_settings(): void {
// Configuration for experimental features should go here.
$experimentalfeaturessetting = new admin_settingpage(
"{$this->sectionnameprefix}_experimentalfeatures",
get_string('config_experimental_features', 'bigbluebuttonbn'),
protected function add_sessionaccess_settings(): void {
// Configuration for session access should go here.
$sessionaccessfeaturesetting = new admin_settingpage(
"{$this->sectionnameprefix}_sessionaccess",
get_string('config_session_access', 'bigbluebuttonbn'),
'moodle/site:config',
!((boolean) setting_validator::section_settings_extended_shown()) && ($this->moduleenabled)
!((bool) setting_validator::section_session_access_shown()) && ($this->moduleenabled)
);
if ($this->admin->fulltree) {
$item = new admin_setting_heading(
'bigbluebuttonbn_config_experimental_features',
'bigbluebuttonbn_config_session_access',
'',
get_string('config_experimental_features_description', 'bigbluebuttonbn')
);
$experimentalfeaturessetting->add($item);
// UI for 'register meeting events' feature.
$item = new admin_setting_configcheckbox(
'bigbluebuttonbn_meetingevents_enabled',
get_string('config_meetingevents_enabled', 'bigbluebuttonbn'),
get_string('config_meetingevents_enabled_description', 'bigbluebuttonbn'),
0
);
$this->add_conditional_element(
'meetingevents_enabled',
$item,
$experimentalfeaturessetting
get_string('config_session_access_description', 'bigbluebuttonbn')
);
$sessionaccessfeaturesetting->add($item);
// UI for 'register meeting events' feature.
$item = new admin_setting_configcheckbox(
'bigbluebuttonbn_guestaccess_enabled',
@@ -1018,10 +1018,10 @@ class settings {
$this->add_conditional_element(
'guestaccess_enabled',
$item,
$experimentalfeaturessetting
$sessionaccessfeaturesetting
);
}
$this->admin->add($this->parent, $experimentalfeaturessetting);
$this->admin->add($this->parent, $sessionaccessfeaturesetting);
}
/**
@@ -102,8 +102,6 @@ $string['config_disablepublicchat_default'] = 'Disable public chat enabled by de
$string['config_disablepublicchat_default_description'] = 'If enabled the public chat will be disabled.';
$string['config_disablepublicchat_editable'] = 'Disable public chat can be edited';
$string['config_disablepublicchat_editable_description'] = 'Disable public chat by default can be edited when the instance is added or updated.';
$string['config_experimental_features'] = 'Experimental features';
$string['config_experimental_features_description'] = 'Configuration for experimental features.';
$string['config_extended_capabilities'] = 'Extended capabilities';
$string['config_extended_capabilities_description'] = 'Configuration for extended capabilities when the BigBlueButton server offers them.';
$string['config_general'] = 'General settings';
@@ -192,6 +190,8 @@ $string['config_scheduled_pre_opening'] = 'Accessible before opening time';
$string['config_scheduled_pre_opening_description'] = 'The time in minutes that the room is open for prior to the scheduled opening time.';
$string['config_server_url'] = 'BigBlueButton server URL';
$string['config_server_url_description'] = 'The URL of your BigBlueButton server.';
$string['config_session_access'] = 'Session Access';
$string['config_session_access_description'] = 'Configuration for user access to sessions.';
$string['config_shared_secret'] = 'BigBlueButton shared secret';
$string['config_shared_secret_description'] = 'The security secret of your BigBlueButton server.';
$string['config_showpresentation_default'] = 'Show presentation file on activity page';
@@ -616,3 +616,6 @@ $string['waitformoderator'] = 'Waiting for a moderator to join.';
// Deprecated since Moodle 4.5.
$string['view_mobile_message_groups_not_supported'] = 'This instance is enabled to work with groups but the mobile app doesn\'t yet support it. Please use the web version.';
$string['view_mobile_message_reload_page_creation_time_meeting'] = 'You exceeded 45 seconds on this page. Please refresh the page to join the session.';
// Deprecated since Moodle 5.2.
$string['config_experimental_features'] = 'Experimental features';
$string['config_experimental_features_description'] = 'Configuration for experimental features.';
@@ -1,2 +1,4 @@
view_mobile_message_reload_page_creation_time_meeting,mod_bigbluebuttonbn
view_mobile_message_groups_not_supported,mod_bigbluebuttonbn
config_experimental_features,mod_bigbluebuttonbn
config_experimental_features_description,mod_bigbluebuttonbn
@@ -33,7 +33,7 @@ Feature: I can edit a bigbluebutton instance
| activity | course | name | type |
| bigbluebuttonbn | Test course | RoomRecordings | 0 |
And the following config values are set as admin:
| bigbluebuttonbn_config_experimental_features | 1 |
| bigbluebuttonbn_config_extended_capabilities | 1 |
| bigbluebuttonbn_meetingevents_enabled | 1 |
And the following "users" exist:
| username | firstname | lastname |