Skip to content
Snippets Groups Projects
Commit 54890906 authored by Oswaldo Acauan's avatar Oswaldo Acauan
Browse files

Merge branch 'master' into fix-3277

* master:
  Archive more logs with zip option and show more applications with status using "bbb-conf"
  When is user is logged out from the breakout room conference the window is closed.
  RoomActionsRenderer listenBtn style is correctly updated when the leaves audio conference then joins it again.
  Don't appy recording marks twice to audio
  RnP: Use correct directory when loading captions.json
  Minor playback.js cleanups
  Various updates to the rnp edl handling
  Make shape rendering in presentation recordings closer to live BBB
  hide the randomAssign button (temporarily)
  server side changes for switching recordType:String to record:Boolean
  breakout rooms:change record to checkbox + boolean
  Ensure invalid CC messages aren't sent to the server after owner change
  bbb-web: Set defaultMaxUsers=0 in bigbluebutton.properties
  RnP: Generate blank video when the recording has captions
parents e5c29a9b 938e6a03
No related branches found
No related tags found
No related merge requests found
Showing
with 137 additions and 94 deletions
......@@ -94,7 +94,7 @@ class JsonMessageSenderActor(val service: MessageSender)
private def handleCreateBreakoutRoom(msg: CreateBreakoutRoom) {
val payload = new CreateBreakoutRoomRequestPayload(msg.room.breakoutId, msg.room.parentId, msg.room.name,
msg.room.voiceConfId, msg.room.viewerPassword, msg.room.moderatorPassword,
msg.room.durationInMinutes, msg.room.defaultPresentationURL, msg.room.recordType)
msg.room.durationInMinutes, msg.room.defaultPresentationURL, msg.room.record)
val request = new CreateBreakoutRoomRequest(payload)
service.send(MessagingConstants.FROM_MEETING_CHANNEL, request.toJson())
}
......
......@@ -42,7 +42,7 @@ case class LockSetting(meetingID: String, locked: Boolean, settings: Map[String,
// Sent by user to request the breakout rooms list of a room
case class BreakoutRoomsListMessage(meetingId: String) extends InMessage
// Sent by user to request creation of breakout rooms
case class CreateBreakoutRooms(meetingId: String, durationInMinutes: Int, recordType: String,
case class CreateBreakoutRooms(meetingId: String, durationInMinutes: Int, record: Boolean,
rooms: Vector[BreakoutRoomInPayload]) extends InMessage
case class BreakoutRoomInPayload(name: String, users: Vector[String])
// Sent by user to request for a join URL in order to be able to join a breakout room
......
......@@ -33,7 +33,7 @@ case class CreateBreakoutRoom(meetingId: String, room: BreakoutRoomOutPayload) e
case class EndBreakoutRoom(breakoutId: String) extends IOutMessage
case class BreakoutRoomOutPayload(breakoutId: String, name: String, parentId: String,
voiceConfId: String, durationInMinutes: Int, moderatorPassword: String, viewerPassword: String,
defaultPresentationURL: String, recordType: String)
defaultPresentationURL: String, record: Boolean)
case class BreakoutRoomJoinURLOutMessage(meetingId: String, recorded: Boolean, breakoutId: String, userId: String, joinURL: String) extends IOutMessage
case class BreakoutRoomStartedOutMessage(meetingId: String, recorded: Boolean, breakout: BreakoutRoomBody) extends IOutMessage
case class BreakoutRoomBody(name: String, breakoutId: String)
......
......@@ -44,7 +44,7 @@ trait BreakoutRoomApp extends SystemConfiguration {
val r = breakoutModel.createBreakoutRoom(breakoutMeetingId, room.name, voiceConfId, room.users, presURL)
val p = new BreakoutRoomOutPayload(r.id, r.name, mProps.meetingID,
r.voiceConfId, msg.durationInMinutes, mProps.moderatorPass, mProps.viewerPass,
r.defaultPresentationURL, msg.recordType)
r.defaultPresentationURL, msg.record)
outGW.send(new CreateBreakoutRoom(mProps.meetingID, p))
}
meetingModel.breakoutRoomsdurationInMinutes = msg.durationInMinutes;
......
......@@ -9,11 +9,11 @@ public class CreateBreakoutRoomRequestPayload {
public final String moderatorPassword;
public final Integer durationInMinutes; // The duration of the breakout room
public final String defaultPresentationURL;
public final String recordType;
public final Boolean record;
public CreateBreakoutRoomRequestPayload(String breakoutId, String parentId, String name,
String voiceConfId, String viewerPassword, String moderatorPassword,
Integer duration, String defaultPresentationURL, String recordType) {
Integer duration, String defaultPresentationURL, Boolean record) {
this.breakoutId = breakoutId;
this.parentId = parentId;
this.name = name;
......@@ -22,6 +22,6 @@ public class CreateBreakoutRoomRequestPayload {
this.moderatorPassword = moderatorPassword;
this.durationInMinutes = duration;
this.defaultPresentationURL = defaultPresentationURL;
this.recordType = recordType;
this.record = record;
}
}
......@@ -10,14 +10,14 @@ public class CreateBreakoutRoomsRequestPayload {
// The duration of the breakout room
public final Integer durationInMinutes;
// Breakout rooms recording option
public final String recordType;
public final Boolean record;
public CreateBreakoutRoomsRequestPayload(String meetingId,
ArrayList<BreakoutRoomRequestPayload> breakoutRooms,
Integer duration, String recordType) {
Integer duration, Boolean record) {
this.meetingId = meetingId;
this.rooms = breakoutRooms;
this.durationInMinutes = duration;
this.recordType = recordType;
this.record = record;
}
}
......@@ -17,11 +17,11 @@ public class CreateBreakoutRoomRequestTest {
String viewerPassword = "vp";
String moderatorPassword = "mp";
String defaultPresentationURL = "http://localhost/foo.pdf";
String recordType = "none";
Boolean record = false;
CreateBreakoutRoomRequestPayload payload =
new CreateBreakoutRoomRequestPayload(breakoutId, parentId, name, voiceConfId,
viewerPassword, moderatorPassword, durationInMinutes, defaultPresentationURL, recordType);
viewerPassword, moderatorPassword, durationInMinutes, defaultPresentationURL, record);
CreateBreakoutRoomRequest msg = new CreateBreakoutRoomRequest(payload);
Gson gson = new Gson();
String json = gson.toJson(msg);
......@@ -37,6 +37,6 @@ public class CreateBreakoutRoomRequestTest {
Assert.assertEquals(rxMsg.payload.moderatorPassword, moderatorPassword);
Assert.assertEquals(rxMsg.payload.durationInMinutes, durationInMinutes);
Assert.assertEquals(rxMsg.payload.defaultPresentationURL, defaultPresentationURL);
Assert.assertEquals(rxMsg.payload.recordType, recordType);
Assert.assertEquals(rxMsg.payload.record, record);
}
}
......@@ -14,7 +14,7 @@ public class CreateBreakoutRoomsRequestTest {
public void testCreateBreakoutRoomsRequest() {
String meetingId = "abc123";
Integer durationInMinutes = 20;
String recordType = "moderator";
Boolean record = true;
ArrayList<String> room1Users = new ArrayList<String>();
room1Users.add("Tidora"); room1Users.add("Nidora"); room1Users.add("Tinidora");
......@@ -31,7 +31,7 @@ public class CreateBreakoutRoomsRequestTest {
ArrayList<BreakoutRoomRequestPayload> rooms = new ArrayList<BreakoutRoomRequestPayload>();
rooms.add(room1); rooms.add(room2); rooms.add(room3);
CreateBreakoutRoomsRequestPayload payload = new CreateBreakoutRoomsRequestPayload(meetingId, rooms, durationInMinutes, recordType);
CreateBreakoutRoomsRequestPayload payload = new CreateBreakoutRoomsRequestPayload(meetingId, rooms, durationInMinutes, record);
CreateBreakoutRoomsRequest msg = new CreateBreakoutRoomsRequest(payload);
Gson gson = new Gson();
String json = gson.toJson(msg);
......@@ -43,6 +43,6 @@ public class CreateBreakoutRoomsRequestTest {
Assert.assertEquals(rxMsg.payload.meetingId, meetingId);
Assert.assertEquals(rxMsg.payload.rooms.size(), 3);
Assert.assertEquals(rxMsg.payload.durationInMinutes, durationInMinutes);
Assert.assertEquals(rxMsg.payload.recordType, recordType);
Assert.assertEquals(rxMsg.payload.record, record);
}
}
......@@ -642,9 +642,6 @@ bbb.users.breakout.randomAssign = Randomly Assign Users
bbb.users.breakout.timeLimit = Time Limit
bbb.users.breakout.minutes = Minutes
bbb.users.breakout.record = Record
bbb.users.breakout.recordTypeNone = No
bbb.users.breakout.recordTypeModerator = Yes: Moderator starts recording
bbb.users.breakout.recordTypeAll = Yes: Record Everything
bbb.users.breakout.notAssigned = Not Assigned
bbb.users.breakout.dragAndDropToolTip = Tip: you can drag-and-drop users between rooms before you click 'Start'
bbb.users.breakout.start = Start
......
......@@ -45,7 +45,7 @@ package org.bigbluebutton.main.events {
public var durationInMinutes:int;
public var recordType:String;
public var record:Boolean;
public var joinURL:String;
......
......@@ -18,8 +18,6 @@
*/
package org.bigbluebutton.main.model.users {
import com.adobe.utils.ArrayUtil;
import mx.collections.ArrayCollection;
import mx.collections.Sort;
......@@ -547,14 +545,18 @@ package org.bigbluebutton.main.model.users {
var breakoutRoomNumber:String = StringUtils.substringAfterLast(breakoutId, "-");
var updateUsers:Array = [];
// Update users breakout rooms
var user : BBBUser;
for (var i:int = 0; i < breakoutUsers.length; i++) {
var userId:String = StringUtils.substringBeforeLast(breakoutUsers[i].id, "-");
getUser(userId).addBreakoutRoom(breakoutRoomNumber);
user = getUser(userId);
if (user) {
user.addBreakoutRoom(breakoutRoomNumber)
}
updateUsers.push(userId);
}
// Remove users breakout rooms if the users left the breakout rooms
for (var j:int = 0; j < users.length; j++) {
var user:BBBUser = BBBUser(users.getItemAt(j));
user = BBBUser(users.getItemAt(j));
if (updateUsers.indexOf(BBBUser(users.getItemAt(j)).userID) == -1 && ArrayUtils.contains(user.breakoutRooms, breakoutRoomNumber)) {
user.removeBreakoutRoom(breakoutRoomNumber);
}
......@@ -626,6 +628,13 @@ package org.bigbluebutton.main.model.users {
}
}
public function resetBreakoutRooms():void {
for (var i:int = 0; i < breakoutRooms.length; i++) {
var br:BreakoutRoom = BreakoutRoom(breakoutRooms.getItemAt(i));
br.listenStatus = BreakoutRoom.NONE;
}
}
public function getUserAvatarURL(userID:String):String { // David, to get specific user avatar url
if(userID != null ){
var p:Object = getUserIndex(userID);
......
......@@ -206,7 +206,7 @@ package org.bigbluebutton.main.model.users
}
public function createBreakoutRooms(e:BreakoutRoomEvent):void{
sender.createBreakoutRooms(_conferenceParameters.meetingID, e.rooms, e.durationInMinutes, e.recordType);
sender.createBreakoutRooms(_conferenceParameters.meetingID, e.rooms, e.durationInMinutes, e.record);
}
public function requestBreakoutJoinUrl(e:BreakoutRoomEvent):void{
......
......@@ -32,6 +32,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
import org.as3commons.logging.api.ILogger;
import org.as3commons.logging.api.getClassLogger;
import org.bigbluebutton.core.BBB;
import org.bigbluebutton.core.managers.UserManager;
import org.bigbluebutton.main.model.users.events.ConnectionFailedEvent;
import org.bigbluebutton.util.i18n.ResourceUtil;
......@@ -43,17 +44,22 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
private function init():void {
addEventListener(Event.CLOSE, onUserLoggedOutWindowClose);
}
private function redirect():void {
var logoutURL:String = BBB.getLogoutURL();
var request:URLRequest = new URLRequest(logoutURL);
LOGGER.debug("Log out url: " + logoutURL);
request.method = URLRequestMethod.GET;
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, handleComplete);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, handleRedirectError);
urlLoader.load(request);
}
private function redirect():void {
if (!UserManager.getInstance().getConference().isBreakout) {
var logoutURL:String = BBB.getLogoutURL();
var request:URLRequest = new URLRequest(logoutURL);
LOGGER.debug("Log out url: " + logoutURL);
request.method = URLRequestMethod.GET;
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, handleComplete);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, handleRedirectError);
urlLoader.load(request);
} else {
ExternalInterface.call("window.close");
}
}
private function handleComplete(e:Event):void {
LOGGER.debug("Client URL=[{0}]", [FlexGlobals.topLevelApplication.url]);
......
......@@ -46,6 +46,16 @@ package org.bigbluebutton.modules.caption.views {
public class TextTab extends VBox {
private const LEN_TO_SEND:int = 7;
private const REP_TO_SEND:int = 3;
private const TIME_TO_SEND:int = 1000;
private var _startIndex:int = -1;
private var _endIndex:int = -1;
private var _accText:String = "";
private var _sendTimer:Timer;
private var _captionOptions:CaptionOptions;
[Bindable]
......@@ -145,6 +155,9 @@ package org.bigbluebutton.modules.caption.views {
outputArea.visible = outputArea.includeInLayout = true;
inputArea.getInternalTextField().type = TextFieldType.DYNAMIC;
}
resetOverwriteVars();
resetTextToSendVars();
}
}
......@@ -277,15 +290,14 @@ package org.bigbluebutton.modules.caption.views {
}
}
private const LEN_TO_SEND:int = 7;
private const REP_TO_SEND:int = 3;
private const TIME_TO_SEND:int = 1000;
private var _startIndex:int = -1;
private var _endIndex:int = -1;
private var _accText:String = "";
private var _sendTimer:Timer;
private function resetOverwriteVars():void {
_checkForOverwrite = false;
_checkForDeletePreviousWord = false;
_checkForDeleteNextWord = false;
_lastTextInput = null;
_lastTextLength = -1;
_lastSelectionIndex = -1;
}
private function respondToTextChange(t:String, si:int, ei:int):void {
if (_startIndex == -1) {
......@@ -325,16 +337,22 @@ package org.bigbluebutton.modules.caption.views {
}
private function sendTextToServer():void {
var editHistoryEvent:SendEditCaptionHistoryEvent = new SendEditCaptionHistoryEvent(SendEditCaptionHistoryEvent.SEND_EDIT_CAPTION_HISTORY);
editHistoryEvent.locale = currentTranscript.locale;
editHistoryEvent.startIndex = _startIndex;
editHistoryEvent.endIndex = _endIndex;
editHistoryEvent.text = _accText;
var dispatcher:Dispatcher = new Dispatcher();
dispatcher.dispatchEvent(editHistoryEvent);
// reset variables after sending
if (_startIndex >= 0) {
var editHistoryEvent:SendEditCaptionHistoryEvent = new SendEditCaptionHistoryEvent(SendEditCaptionHistoryEvent.SEND_EDIT_CAPTION_HISTORY);
editHistoryEvent.locale = currentTranscript.locale;
editHistoryEvent.startIndex = _startIndex;
editHistoryEvent.endIndex = _endIndex;
editHistoryEvent.text = _accText;
var dispatcher:Dispatcher = new Dispatcher();
dispatcher.dispatchEvent(editHistoryEvent);
// reset variables after sending
resetTextToSendVars();
}
}
private function resetTextToSendVars():void {
_startIndex = -1;
_endIndex = -1;
_accText = "";
......
......@@ -157,7 +157,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
LOGGER.debug("onUserLeftConference enabled=[{0}] selected=[{1}]", [enabled, selected]);
_currentState = DEFAULT_STATE;
this.styleName = "voiceConfDefaultButtonStyle";
this.toolTip = ResourceUtil.getInstance().getString('bbb.toolbar.phone.toolTip.start');
this.toolTip = ResourceUtil.getInstance().getString('bbb.toolbar.phone.toolTip.start');
UserManager.getInstance().getConference().resetBreakoutRooms();
}
private function handleFlashJoinedVoiceConferenceEvent(event:FlashJoinedVoiceConferenceEvent):void {
......
......@@ -87,12 +87,12 @@ package org.bigbluebutton.modules.users.services
);
}
public function createBreakoutRooms(meetingId:String, rooms:Array, durationInMinutes:int, recordType:String):void {
public function createBreakoutRooms(meetingId:String, rooms:Array, durationInMinutes:int, record:Boolean):void {
var message:Object = new Object();
message["meetingId"] = meetingId;
message["rooms"] = rooms;
message["durationInMinutes"] = durationInMinutes;
message["recordType"] = recordType;
message["record"] = record;
var jsonMsg:String = JSON.stringify(message);
var _nc:ConnectionManager = BBB.initConnectionManager();
......
......@@ -46,9 +46,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
[Bindable]
private var roomsProvider:Array;
[Bindable]
private var recordTypesProvider:Array;
private var dispatcher:Dispatcher;
private function onCloseClicked():void {
......@@ -80,7 +77,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
}
if (totalUsers > 0) {
event.durationInMinutes = durationStepper.value;
event.recordType = recordTypesCombo.selectedItem.data;
event.record = recordCheckbox.selected;
dispatcher.dispatchEvent(event);
PopUpManager.removePopUp(this);
} else {
......@@ -131,13 +131,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
roomsProvider.push(i.toString() + " " + ResourceUtil.getInstance().getString('bbb.users.breakout.rooms'));
}
roomsCombo.selectedIndex = 0;
recordTypesProvider = new Array(
{label:ResourceUtil.getInstance().getString('bbb.users.breakout.recordTypeNone'), data:"none"},
{label:ResourceUtil.getInstance().getString('bbb.users.breakout.recordTypeModerator'), data:"moderator"},
{label:ResourceUtil.getInstance().getString('bbb.users.breakout.recordTypeAll'), data:"all"}
);
recordTypesCombo.selectedIndex = 0;
assignUsers();
}
......@@ -158,8 +152,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.users.breakout.rooms')}" />
<mx:ComboBox id="roomsCombo" width="80%" change="{assignUsers()}" dataProvider="{roomsProvider}"/>
</mx:HBox>
<mx:Button paddingLeft="20" width="50%" id="randomAssignBtn"
label="{ResourceUtil.getInstance().getString('bbb.users.breakout.randomAssign')}" click="assignUsers()"/>
<!-- <mx:Button paddingLeft="20" width="50%" id="randomAssignBtn"
label="{ResourceUtil.getInstance().getString('bbb.users.breakout.randomAssign')}" click="assignUsers()"/> -->
</mx:HBox>
<mx:HBox width="100%" paddingTop="12">
......@@ -170,7 +164,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:HBox width="100%" paddingTop="12">
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.users.breakout.record')}" />
<mx:ComboBox id="recordTypesCombo" dataProvider="{recordTypesProvider}"/>
<mx:CheckBox id="recordCheckbox" />
</mx:HBox>
<mx:Tile id="roomsContainer" styleName="roomsContainer" width="100%" height="100%"/>
......
......@@ -2,11 +2,14 @@
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
verticalScrollPolicy="off"
horizontalScrollPolicy="off"
verticalAlign="middle">
verticalAlign="middle"
creationComplete="onCreationCompleteHandler(event)">
<mx:Script>
<![CDATA[
import com.asfusion.mate.events.Dispatcher;
import mx.events.FlexEvent;
import org.bigbluebutton.common.Images;
import org.bigbluebutton.core.managers.UserManager;
import org.bigbluebutton.main.events.BreakoutRoomEvent;
......@@ -14,18 +17,31 @@
import org.bigbluebutton.util.i18n.ResourceUtil;
private var globalDispatch:Dispatcher = new Dispatcher();
[Bindable]
private var images:Images = new Images();
protected function onCreationCompleteHandler(event:FlexEvent):void {
this.addEventListener(FlexEvent.DATA_CHANGE, dataChangeHandler);
}
private function dataChangeHandler(event:FlexEvent):void {
if (BreakoutRoom(data).listenStatus == BreakoutRoom.SELF) {
listenBtn.setStyle("icon", images.transferred);
listenBtn.selected = true;
} else {
listenBtn.setStyle("icon", images.transfer);
listenBtn.selected = false;
}
}
protected function listenToBreakoutRoom(event:MouseEvent):void {
var e:BreakoutRoomEvent = new BreakoutRoomEvent(BreakoutRoomEvent.LISTEN_IN);
e.breakoutId = data.breakoutId as String;
e.listen = listenBtn.selected;
listenBtn.setStyle("icon", listenBtn.selected ? images.transferred : images.transfer);
globalDispatch.dispatchEvent(e);
}
protected function requestBreakoutJoinUrl(event:MouseEvent):void {
var e:BreakoutRoomEvent = new BreakoutRoomEvent(BreakoutRoomEvent.REQUEST_BREAKOUT_JOIN_URL);
e.breakoutId = data.breakoutId as String;
......
......@@ -585,6 +585,7 @@
<mx:VBox id="roomsBox" styleName="breakoutRoomsBox"
visible="{breakoutRoomsList.length > 0 &amp;&amp; amIModerator}"
includeInLayout="{breakoutRoomsList.length > 0 &amp;&amp; amIModerator}"
horizontalScrollPolicy="off"
width="100%" height="180">
<mx:HBox width="100%">
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.users.breakout.breakoutRooms')}"/>
......
......@@ -24,7 +24,7 @@
# 2009-10-18 FFD Inital Version
# 2009-11-05 FFD Updated for 0.62
# 2009-12-09 FFD Updated for 0.63
# 2009-12-11 FFD Added ability to swtich conference servers
# 2009-12-11 FFD Added ability to switch conference servers
# 2009-12-12 FFD Added cleaning and watching of log files
# 2010-01-05 FFD Added zipping of log files
# 2010-01-18 FFD Added resetting of environment back to using packages
......@@ -32,7 +32,7 @@
# 2010-04-02 FFD Updated for 0.64
# 2010-06-21 SEB Cleaned up some code / Updated for 0.70
# 2010-06-25 SEB Added ability to change the security salt
# 2010-06-30 SEB Added some extra errorchecking
# 2010-06-30 SEB Added some extra error checking
# 2010-07-06 SEB Added more error checking and report messages
# 2010-09-15 FFD Updates for 0.71-dev
# 2010-10-16 FFD Updates for 0.71-beta
......@@ -52,6 +52,7 @@
# 2016-01-13 FFD Updates for 1.0
# 2016-02-28 FFD Updates to support HTTPS configuration
# 2016-05-28 FFD Initial updates for 1.1-dev
# 2016-08-15 GTR Archive more logs with zip option and show more applications with status
#set -x
#set -e
......@@ -61,10 +62,11 @@ PATH=$PATH:/sbin
source /etc/bigbluebutton/bigbluebutton-release
#
# Figure out our environemtn
# Figure out our environment
#
RED5_DIR=/usr/share/red5
RED5=red5
SERVLET_CONTAINER=tomcat7
SERVLET_DIR=/var/lib/$SERVLET_CONTAINER/webapps
......@@ -77,7 +79,6 @@ FREESWITCH_EVENT_SOCKET=/opt/freeswitch/conf/autoload_configs/event_socket.conf.
if lsb_release -d | grep -q CentOS; then
DISTRIB_ID=centos
SERVLET_LOGS=/usr/share/$SERVLET_CONTAINER/logs
RED5=red5
FREESWITCH=freeswitch
FREESWITCH_INIT_D="/etc/init.d/freeswitch"
TOMCAT_USER=tomcat
......@@ -85,13 +86,11 @@ else
. /etc/lsb-release
if [ "$DISTRIB_CODENAME" == "trusty" ]; then
SERVLET_LOGS=/var/lib/$SERVLET_CONTAINER/logs
RED5=red5
FREESWITCH=freeswitch
FREESWITCH_INIT_D="/etc/init.d/freeswitch"
TOMCAT_USER=tomcat7
else
SERVLET_LOGS=/var/lib/$SERVLET_CONTAINER/logs
RED5=red5
FREESWITCH=freeswitch
FREESWITCH_INIT_D="/etc/init.d/freeswitch"
TOMCAT_USER=tomcat7
......@@ -158,7 +157,7 @@ MEM=`free -m | grep Mem | awk '{ print $2}'`
#
# Check if the function has a value and, if not, print an error message
# $1 -- name of value
# $2 -- loctation of value
# $2 -- location of value
# $3 -- value to check
#
check_no_value() {
......@@ -211,7 +210,7 @@ usage() {
echo "Configuration:"
echo " --version Display BigBlueButton version (packages)"
echo " --setip <host> Set IP/hostname for BigBlueButton"
echo " --setsecret <secret> Change the shared secret in bigbluebutton.properties"
echo " --setsecret <secret> Change the shared secret in bigbluebutton.properties"
echo
echo "Monitoring:"
echo " --check Check configuration files and processes for problems"
......@@ -405,7 +404,7 @@ start_bigbluebutton () {
display_bigbluebutton_status () {
if command -v systemctl >/dev/null; then
units="start red5 tomcat7 nginx freeswitch bbb-apps-akka bbb-fsesl-akka"
units="start red5 tomcat7 nginx freeswitch redis-server libreoffice bbb-apps-akka bbb-fsesl-akka"
for unit in $units; do
echo "$unit: $(systemctl is-active $unit)"
done
......@@ -1004,7 +1003,7 @@ check_state() {
#
# Check red5 applictaions
# Check red5 applications
#
AVAIL_RED5_APPS=""
UNAVAIL_RED5_APPS=""
......@@ -1058,7 +1057,7 @@ check_state() {
#
# Check if any of the red5 BigBlueButton applications did not start propery
# Check if any of the red5 BigBlueButton applications did not start properly
#
COUNT=0
while [ $COUNT -lt 20 ]; do
......@@ -1148,7 +1147,7 @@ check_state() {
fi
#
# Check that bigbluebutton in red5 has started propertly (less than 100 lines indicates that it
# Check that bigbluebutton in red5 has started properly (less than 100 lines indicates that it
# didn't start)
#
if [ -f $RED5_DIR/log/bigbluebutton.log ]; then
......@@ -1518,11 +1517,13 @@ if [ $ZIP ]; then
rm -f /tmp/a
touch /tmp/empty
tar cf /tmp/$LOG_FILE.tar /tmp/empty > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar $RED5_DIR/log > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar $SERVLET_LOGS > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar /var/log/bigbluebutton/* > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar /var/log/nginx/error.log > /dev/null 2>&1
tar cf /tmp/$LOG_FILE.tar /tmp/empty > /dev/null 2>&1
tar rfh /tmp/$LOG_FILE.tar $RED5_DIR/log > /dev/null 2>&1
tar rfh /tmp/$LOG_FILE.tar $SERVLET_LOGS > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar /var/log/bigbluebutton/* > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar /var/log/bbb-apps-akka > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar /var/log/bbb-fsesl-akka > /dev/null 2>&1
tar rf /tmp/$LOG_FILE.tar /var/log/nginx/error.log > /dev/null 2>&1
if [ $DISTRIB_ID == "ubuntu" ]; then
tar rf /tmp/$LOG_FILE.tar /var/log/syslog > /dev/null 2>&1
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment