From 6c7da449402ea3b175175424ba711e7fb15512d2 Mon Sep 17 00:00:00 2001 From: Anton Georgiev <anton.georgiev@protonmail.com> Date: Thu, 18 Mar 2021 02:31:47 +0000 Subject: [PATCH] replaced keepEvents with defaultKeepEvents and meetingKeepEvents --- .../main/java/org/bigbluebutton/api/ApiParams.java | 1 + .../java/org/bigbluebutton/api/MeetingService.java | 13 +++++-------- .../org/bigbluebutton/api/ParamsProcessorUtil.java | 11 +++++++++++ .../java/org/bigbluebutton/api/domain/Meeting.java | 9 +++++++++ .../grails-app/conf/bigbluebutton.properties | 2 +- .../grails-app/conf/spring/resources.xml | 2 +- 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/api/ApiParams.java b/bbb-common-web/src/main/java/org/bigbluebutton/api/ApiParams.java index 94e835588a..40b81a2828 100755 --- a/bbb-common-web/src/main/java/org/bigbluebutton/api/ApiParams.java +++ b/bbb-common-web/src/main/java/org/bigbluebutton/api/ApiParams.java @@ -43,6 +43,7 @@ public class ApiParams { public static final String MODERATOR_ONLY_MESSAGE = "moderatorOnlyMessage"; public static final String MODERATOR_PW = "moderatorPW"; public static final String MUTE_ON_START = "muteOnStart"; + public static final String MEETING_KEEP_EVENTS = "meetingKeepEvents"; public static final String ALLOW_MODS_TO_UNMUTE_USERS = "allowModsToUnmuteUsers"; public static final String NAME = "name"; public static final String PARENT_MEETING_ID = "parentMeetingID"; diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/api/MeetingService.java b/bbb-common-web/src/main/java/org/bigbluebutton/api/MeetingService.java index fad6f60344..bf495f2b8d 100755 --- a/bbb-common-web/src/main/java/org/bigbluebutton/api/MeetingService.java +++ b/bbb-common-web/src/main/java/org/bigbluebutton/api/MeetingService.java @@ -120,7 +120,6 @@ public class MeetingService implements MessageListener { private RedisStorageService storeService; private CallbackUrlService callbackUrlService; private HTML5LoadBalancingService html5LoadBalancingService; - private boolean keepEvents; private long usersTimeout; private long enteredUsersTimeout; @@ -356,7 +355,7 @@ public class MeetingService implements MessageListener { } private boolean storeEvents(Meeting m) { - return m.isRecord() || keepEvents; + return m.isRecord() || m.getMeetingKeepEvents(); } private void handleCreateMeeting(Meeting m) { @@ -404,6 +403,8 @@ public class MeetingService implements MessageListener { logData.put("logCode", "create_meeting"); logData.put("description", "Create meeting."); + logData.put("meetingKeepEvents", m.getMeetingKeepEvents()); + Gson gson = new Gson(); String logStr = gson.toJson(logData); @@ -417,7 +418,7 @@ public class MeetingService implements MessageListener { m.getDialNumber(), m.getMaxUsers(), m.getMeetingExpireIfNoUserJoinedInMinutes(), m.getmeetingExpireWhenLastUserLeftInMinutes(), m.getUserInactivityInspectTimerInMinutes(), m.getUserInactivityThresholdInMinutes(), - m.getUserActivitySignResponseDelayInMinutes(), m.getMuteOnStart(), m.getAllowModsToUnmuteUsers(), keepEvents, + m.getUserActivitySignResponseDelayInMinutes(), m.getMuteOnStart(), m.getAllowModsToUnmuteUsers(), m.getMeetingKeepEvents(), m.breakoutRoomsParams, m.lockSettingsParams, m.getHtml5InstanceId()); } @@ -697,7 +698,7 @@ public class MeetingService implements MessageListener { if (m != null) { m.setForciblyEnded(true); processRecording(m); - if (keepEvents) { + if (m.getMeetingKeepEvents()) { // The creation of the ended tag must occur after the creation of the // recorded tag to avoid concurrency issues at the recording scripts recordingService.markAsEnded(m.getInternalId()); @@ -1233,10 +1234,6 @@ public class MeetingService implements MessageListener { stunTurnService = s; } - public void setKeepEvents(boolean value) { - keepEvents = value; - } - public void setUsersTimeout(long value) { usersTimeout = value; } diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java b/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java index 172265ded7..741d4099e0 100755 --- a/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java +++ b/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java @@ -87,6 +87,7 @@ public class ParamsProcessorUtil { private boolean webcamsOnlyForModerator; private boolean defaultMuteOnStart = false; private boolean defaultAllowModsToUnmuteUsers = false; + private boolean defaultKeepEvents = false; private boolean defaultBreakoutRoomsEnabled; private boolean defaultBreakoutRoomsRecord; @@ -544,6 +545,12 @@ public class ParamsProcessorUtil { meeting.setMuteOnStart(muteOnStart); + Boolean meetingKeepEvents = defaultKeepEvents; + if (!StringUtils.isEmpty(params.get(ApiParams.MEETING_KEEP_EVENTS))) { + meetingKeepEvents = Boolean.parseBoolean(params.get(ApiParams.MEETING_KEEP_EVENTS)); + } + meeting.setMeetingKeepEvents(meetingKeepEvents); + Boolean allowModsToUnmuteUsers = defaultAllowModsToUnmuteUsers; if (!StringUtils.isEmpty(params.get(ApiParams.ALLOW_MODS_TO_UNMUTE_USERS))) { allowModsToUnmuteUsers = Boolean.parseBoolean(params.get(ApiParams.ALLOW_MODS_TO_UNMUTE_USERS)); @@ -1026,6 +1033,10 @@ public class ParamsProcessorUtil { return defaultMuteOnStart; } + public void setDefaultKeepEvents(Boolean mke) { + defaultKeepEvents = mke; + } + public void setAllowModsToUnmuteUsers(Boolean value) { defaultAllowModsToUnmuteUsers = value; } diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java b/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java index e2884db344..b17b07c7fb 100755 --- a/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java +++ b/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java @@ -84,6 +84,7 @@ public class Meeting { private String customCopyright = ""; private Boolean muteOnStart = false; private Boolean allowModsToUnmuteUsers = false; + private Boolean meetingKeepEvents; private Integer meetingExpireIfNoUserJoinedInMinutes = 5; private Integer meetingExpireWhenLastUserLeftInMinutes = 1; @@ -503,6 +504,14 @@ public class Meeting { return muteOnStart; } + public void setMeetingKeepEvents(Boolean mke) { + meetingKeepEvents = mke; + } + + public Boolean getMeetingKeepEvents() { + return meetingKeepEvents; + } + public void setAllowModsToUnmuteUsers(Boolean value) { allowModsToUnmuteUsers = value; } diff --git a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties index ae9a7bc0e3..c62481f1e4 100755 --- a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties +++ b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties @@ -222,7 +222,7 @@ muteOnStart=false allowModsToUnmuteUsers=false # Saves meeting events even if the meeting is not recorded -keepEvents=true +defaultKeepEvents=false # Timeout (millis) to remove a joined user after her/his left event without a rejoin # e.g. regular user left event diff --git a/bigbluebutton-web/grails-app/conf/spring/resources.xml b/bigbluebutton-web/grails-app/conf/spring/resources.xml index a7ca3763a0..f9ff00ca05 100755 --- a/bigbluebutton-web/grails-app/conf/spring/resources.xml +++ b/bigbluebutton-web/grails-app/conf/spring/resources.xml @@ -54,7 +54,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <property name="enteredUserCleanupTimerTask" ref="enteredUserCleanupTimerTask"/> <property name="gw" ref="bbbWebApiGWApp"/> <property name="callbackUrlService" ref="callbackUrlService"/> - <property name="keepEvents" value="${keepEvents}"/> <property name="usersTimeout" value="${usersTimeout}"/> <property name="enteredUsersTimeout" value="${enteredUsersTimeout}"/> </bean> @@ -164,6 +163,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <property name="lockSettingsLockOnJoinConfigurable" value="${lockSettingsLockOnJoinConfigurable}"/> <property name="allowDuplicateExtUserid" value="${allowDuplicateExtUserid}"/> <property name="endWhenNoModerator" value="${endWhenNoModerator}"/> + <property name="defaultKeepEvents" value="${defaultKeepEvents}"/> </bean> <import resource="doc-conversion.xml"/> -- GitLab