diff --git a/src/main/java/org/olat/modules/bigbluebutton/BigBlueButtonMeetingTemplate.java b/src/main/java/org/olat/modules/bigbluebutton/BigBlueButtonMeetingTemplate.java index 3d9634724993f46cc0f2932b64e4444d0b8a0379..73a211b60d96d4788731e73eee24e401d51e18e4 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/BigBlueButtonMeetingTemplate.java +++ b/src/main/java/org/olat/modules/bigbluebutton/BigBlueButtonMeetingTemplate.java @@ -72,6 +72,10 @@ public interface BigBlueButtonMeetingTemplate extends ModifiedInfo, CreateInfo { public void setRecord(Boolean record); + public Boolean getBreakoutRoomsEnabled(); + + public void setBreakoutRoomsEnabled(Boolean breakoutRoomsEnabled); + public Boolean getMuteOnStart(); public void setMuteOnStart(Boolean muteOnStart); diff --git a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java index 5e21ba35451d0a7f3cbe6bf9a6ee834d27340989..92b1cf674c3c823372f61f279f38fa44223529ac 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java +++ b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java @@ -398,6 +398,8 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, Initializ uriBuilder .optionalParameter("maxParticipants", template.getMaxParticipants().intValue() + 1) .optionalParameter("record", template.getRecord()) + .optionalParameter("breakoutRoomsEnabled", template.getBreakoutRoomsEnabled()) + // video options .optionalParameter("muteOnStart", template.getMuteOnStart()) .optionalParameter("autoStartRecording", template.getAutoStartRecording()) diff --git a/src/main/java/org/olat/modules/bigbluebutton/model/BigBlueButtonMeetingTemplateImpl.java b/src/main/java/org/olat/modules/bigbluebutton/model/BigBlueButtonMeetingTemplateImpl.java index 14e9816315ef97d54ebd489e36f503f3170f97cd..21c865415bbd8019c0be6c737796190523d64cca 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/model/BigBlueButtonMeetingTemplateImpl.java +++ b/src/main/java/org/olat/modules/bigbluebutton/model/BigBlueButtonMeetingTemplateImpl.java @@ -85,6 +85,8 @@ public class BigBlueButtonMeetingTemplateImpl implements Persistable, BigBlueBut @Column(name="b_record", nullable=true, insertable=true, updatable=true) private Boolean record; + @Column(name="b_breakout", nullable=true, insertable=true, updatable=true) + private Boolean breakoutRoomsEnabled; @Column(name="b_auto_start_recording", nullable=true, insertable=true, updatable=true) private Boolean autoStartRecording; @Column(name="b_allow_start_stop_recording", nullable=true, insertable=true, updatable=true) @@ -237,6 +239,16 @@ public class BigBlueButtonMeetingTemplateImpl implements Persistable, BigBlueBut this.record = record; } + @Override + public Boolean getBreakoutRoomsEnabled() { + return breakoutRoomsEnabled; + } + + @Override + public void setBreakoutRoomsEnabled(Boolean breakoutRoomsEnabled) { + this.breakoutRoomsEnabled = breakoutRoomsEnabled; + } + @Override public Boolean getMuteOnStart() { return muteOnStart; diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonTemplateController.java b/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonTemplateController.java index 802ffbf2a3b1f650adb55e1b50ed8b79c81a892a..793555ab02407d9aa6fdd3ceb87d7f3c7c92994b 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonTemplateController.java +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/EditBigBlueButtonTemplateController.java @@ -64,6 +64,7 @@ public class EditBigBlueButtonTemplateController extends FormBasicController { private TextElement maxDurationEl; private SingleSelection recordEl; + private SingleSelection breakoutEl; private SingleSelection muteOnStartEl; private SingleSelection autoStartRecordingEl; private SingleSelection allowStartStopRecordingEl; @@ -159,6 +160,11 @@ public class EditBigBlueButtonTemplateController extends FormBasicController { recordEl.addActionListener(FormEvent.ONCHANGE); select(record, recordEl, false); + Boolean breakout = template == null ? null : template.getBreakoutRoomsEnabled(); + breakoutEl = uifactory.addRadiosHorizontal("template.breakout", formLayout, yesNoKeys, onValues); + breakoutEl.addActionListener(FormEvent.ONCHANGE); + select(breakout, breakoutEl, true); + Boolean autoStartRecording = template == null ? null : template.getAutoStartRecording(); autoStartRecordingEl = uifactory.addRadiosHorizontal("template.autoStartRecording", formLayout, yesNoKeys, onValues); select(autoStartRecording, autoStartRecordingEl, false); @@ -364,6 +370,7 @@ public class EditBigBlueButtonTemplateController extends FormBasicController { boolean record = getSelected(recordEl); template.setRecord(record); + template.setBreakoutRoomsEnabled(getSelected(breakoutEl)); template.setMuteOnStart(getSelected(muteOnStartEl)); template.setAutoStartRecording(record && getSelected(autoStartRecordingEl)); template.setAllowStartStopRecording(record && getSelected(allowStartStopRecordingEl)); diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties index 18778d87e1a63d7b449a5d8ce3c239ec9c8bc383..a7f7aa3ff1c82238ff9ef853bbc7d06c7f41b315 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_de.properties @@ -86,6 +86,7 @@ table.header.webcams.only.moderator=Webcams Moderatoren template.allowModsToUnmuteUsers=Allow moderators to unmute users template.allowStartStopRecording=Allow to start / stop recording template.autoStartRecording=Auto start recording +template.breakout=Breakout Meetings erlauben template.description=Beschreibung template.enabled=Vorlage einschalten template.explain.max.participants=Max. Anzahl von Teilnehmer: {0} diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties index 23beb3a262599e93a1390ff927169c5fa69643e6..e6e99d7b471b5d40fec4725ae7abf77b8e42caf2 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/bigbluebutton/ui/_i18n/LocalStrings_en.properties @@ -86,6 +86,7 @@ table.header.webcams.only.moderator=Webcams moderators template.allowModsToUnmuteUsers=Allow moderators to unmute users template.allowStartStopRecording=Allow to start / stop recording template.autoStartRecording=Auto start recording +template.breakout=Allow breakout meetings template.description=Description template.enabled=Enable template template.explain.max.participants=Max. number of participants: {0} diff --git a/src/main/resources/database/mysql/alter_14_2_x_to_14_2_5.sql b/src/main/resources/database/mysql/alter_14_2_x_to_14_2_5.sql index 1f8f18bef296611e388fad355d8ef1f775009fa9..1acfaeb2723ee5ca62e475cb3320e61ae21f5850 100644 --- a/src/main/resources/database/mysql/alter_14_2_x_to_14_2_5.sql +++ b/src/main/resources/database/mysql/alter_14_2_x_to_14_2_5.sql @@ -11,6 +11,7 @@ create table o_bbb_template ( b_max_participants int default null, b_max_duration bigint default null, b_record bool default null, + b_breakout bool default null, b_mute_on_start bool default null, b_auto_start_recording bool default null, b_allow_start_stop_recording bool default null, diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 4216edafe049191f4e1a35ac1de05c3d43182ade..7a27ca9977a650803ea8573db8206fcd0547676c 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1231,6 +1231,7 @@ create table o_bbb_template ( b_max_participants int default null, b_max_duration bigint default null, b_record bool default null, + b_breakout bool default null, b_mute_on_start bool default null, b_auto_start_recording bool default null, b_allow_start_stop_recording bool default null, diff --git a/src/main/resources/database/oracle/alter_14_2_x_to_14_2_5.sql b/src/main/resources/database/oracle/alter_14_2_x_to_14_2_5.sql index ea53dae9ed23b2bd32876c85637db66383402e61..893242798d9d484b31b36ea19926d73e2c46b78b 100644 --- a/src/main/resources/database/oracle/alter_14_2_x_to_14_2_5.sql +++ b/src/main/resources/database/oracle/alter_14_2_x_to_14_2_5.sql @@ -11,6 +11,7 @@ create table o_bbb_template ( b_max_participants int default null, b_max_duration number default null, b_record number default null, + b_breakout number default null, b_mute_on_start number default null, b_auto_start_recording number default null, b_allow_start_stop_recording number default null, diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index d761f591f3f2b7a21b5f4cbab45c7a461eff9f7c..9bfe0f0c9758fb0c5bcb5e83544f416c8b218821 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -1297,6 +1297,7 @@ create table o_bbb_template ( b_max_participants int default null, b_max_duration number default null, b_record number default null, + b_breakout number default null, b_mute_on_start number default null, b_auto_start_recording number default null, b_allow_start_stop_recording number default null, diff --git a/src/main/resources/database/postgresql/alter_14_2_x_to_14_2_5.sql b/src/main/resources/database/postgresql/alter_14_2_x_to_14_2_5.sql index d354b512c6c25747270405eebf987cdb6087dd94..5860b15d591cdc00d9421e587218f786b80bf7d6 100644 --- a/src/main/resources/database/postgresql/alter_14_2_x_to_14_2_5.sql +++ b/src/main/resources/database/postgresql/alter_14_2_x_to_14_2_5.sql @@ -11,6 +11,7 @@ create table o_bbb_template ( b_max_participants int8 default null, b_max_duration int8 default null, b_record bool default null, + b_breakout bool default null, b_mute_on_start bool default null, b_auto_start_recording bool default null, b_allow_start_stop_recording bool default null, diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 438b55748e525606a20b2054946bdda248ecf619..0e5c75b34f0be4220360e95185578f8e0db9e0a4 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -1256,6 +1256,7 @@ create table o_bbb_template ( b_max_participants int8 default null, b_max_duration int8 default null, b_record bool default null, + b_breakout bool default null, b_mute_on_start bool default null, b_auto_start_recording bool default null, b_allow_start_stop_recording bool default null,