From d49d73c51d391a19ffa987a728912c0df62e18ae Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Fri, 25 Jun 2010 23:47:38 -0400 Subject: [PATCH 01/38] - comment out query for presenter name as it breaks dekstop sharing (issue 554) --- .../modules/deskShare/view/components/DesktopViewWindow.mxml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskShare/view/components/DesktopViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskShare/view/components/DesktopViewWindow.mxml index 175a5a6a4f..a6517699d1 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskShare/view/components/DesktopViewWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskShare/view/components/DesktopViewWindow.mxml @@ -175,8 +175,8 @@ video.attachNetStream(ns); ns.play(stream); this.stream = stream; - - this.title = UserManager.getInstance().getPresenter().name + " is sharing their desktop with you"; + this.title = "Blah"; + // this.title = UserManager.getInstance().getPresenter().name + " is sharing their desktop with you"; } public function stopViewing():void { From a6730c24b3242a12b1d99b20053fe11dcdcaeb26 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Mon, 28 Jun 2010 10:09:56 -0400 Subject: [PATCH 02/38] - fix problem where slide and cursor gets out of synch when moving/zooming slide --- .../org/bigbluebutton/modules/present/views/SlideView.mxml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml index 5a89fa53a3..eb6a2f8b84 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml @@ -155,8 +155,8 @@ var deltaCanvasMouseX:Number = this.mouseX - canvasMouseXOnMouseDown; var deltaCanvasMouseY:Number = this.mouseY - canvasMouseYOnMouseDown; - swfSlideLoader.x = loaderXOnMouseDown + deltaCanvasMouseX/2; - swfSlideLoader.y = loaderYOnMouseDown + deltaCanvasMouseY/2; + swfSlideLoader.x = loaderXOnMouseDown + deltaCanvasMouseX; + swfSlideLoader.y = loaderYOnMouseDown + deltaCanvasMouseY; fitSlideToLoader(); notifyOtherParticipantsOfSlideMoving(); @@ -190,7 +190,7 @@ swfSlideLoader.height = this.height * presentersLoaderCanvasHeightRatio; swfSlideLoader.x = swfSlideLoader.width * presentersLoaderXOffsetFromCanvas; - swfSlideLoader.y = swfSlideLoader.width * presentersLoaderYOffsetFromCanvas; + swfSlideLoader.y = swfSlideLoader.height * presentersLoaderYOffsetFromCanvas; fitSlideToLoader(); } From 09384df99d8af4fe0c86948e07247343c11fa98f Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Mon, 28 Jun 2010 11:24:32 -0400 Subject: [PATCH 03/38] - rename swfSlideLoader to just slideLoader - add comments on the functions to at least help in explaining how it's used. --- .../present/views/PresentationWindow.mxml | 2 +- .../modules/present/views/SlideView.mxml | 217 +++++++++++------- 2 files changed, 141 insertions(+), 78 deletions(-) diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml index 5e2c3208b5..7b84413a0b 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml @@ -433,7 +433,7 @@ private function clearPresentation(e:UploadEvent):void{ slideView.visible = false; - slideView.swfSlideLoader.source = null; + slideView.slideLoader.source = null; slideView.selectedSlide = 0; btnSlideNum.label = ""; displaySlideNavigationControls(false); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml index eb6a2f8b84..a261b64de9 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/SlideView.mxml @@ -106,9 +106,9 @@ private var dispatcher:Dispatcher = new Dispatcher(); - private function onCreationComplete():void{ - swfSlideLoader.width = this.width; - swfSlideLoader.height = this.height; + private function onCreationComplete():void { + slideLoader.width = this.width; + slideLoader.height = this.height; cursor = new Shape(); cursor.graphics.lineStyle(6, 0xFF0000, 0.6); @@ -123,135 +123,172 @@ this.setChildIndex(thumbnailView, this.numChildren - 1); } - - - - public function setSlides(slides:ArrayCollection):void{ + + public function setSlides(slides:ArrayCollection):void { this.slides = slides; thumbnailView.dataProvider = this.slides.toArray(); } - private function changeSlide():void{ + private function changeSlide():void { dispatchEvent(new PresenterCommands(PresenterCommands.GOTO_SLIDE, thumbnailView.selectedIndex)); thumbnailView.visible = false; showOverlayCanvas(true); dispatchEvent(new Event(THUMBNAILS_CLOSED)); } - private function changeIndex(e:ListEvent):void{ + private function changeIndex(e:ListEvent):void { dispatchEvent(e); } - - private function onMouseDown(e:MouseEvent):void{ + + /** + * Triggered when the presenter clicks on the slides with the intent of moving it. + */ + private function onMouseDown(e:MouseEvent):void { canvasMouseXOnMouseDown = this.mouseX; canvasMouseYOnMouseDown = this.mouseY; - loaderXOnMouseDown = swfSlideLoader.x; - loaderYOnMouseDown = swfSlideLoader.y; + loaderXOnMouseDown = slideLoader.x; + loaderYOnMouseDown = slideLoader.y; addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } + /** + * Triggered when the mouse had been clicked and dragged to move the slide. + */ private function onMouseMove(e:MouseEvent):void { + // Compute the change in mouse position from where the mouse was clicked. var deltaCanvasMouseX:Number = this.mouseX - canvasMouseXOnMouseDown; var deltaCanvasMouseY:Number = this.mouseY - canvasMouseYOnMouseDown; - swfSlideLoader.x = loaderXOnMouseDown + deltaCanvasMouseX; - swfSlideLoader.y = loaderYOnMouseDown + deltaCanvasMouseY; + // Now we move the slide by the amount of mouse location change. + slideLoader.x = loaderXOnMouseDown + deltaCanvasMouseX; + slideLoader.y = loaderYOnMouseDown + deltaCanvasMouseY; + // Move the slide within the loader. fitSlideToLoader(); notifyOtherParticipantsOfSlideMoving(); } + /** + * Send a message to other participants indicating the presenter has moved the slide. + */ private function notifyOtherParticipantsOfSlideMoving():void { var presentEvent:PresenterCommands = new PresenterCommands(PresenterCommands.MOVE); - presentEvent.xOffset = swfSlideLoader.x/swfSlideLoader.width; - presentEvent.yOffset = swfSlideLoader.y/swfSlideLoader.height; - presentEvent.slideToCanvasWidthRatio = swfSlideLoader.width/this.width; - presentEvent.slideToCanvasHeightRatio = swfSlideLoader.height/this.height; + presentEvent.xOffset = slideLoader.x/slideLoader.width; + presentEvent.yOffset = slideLoader.y/slideLoader.height; + presentEvent.slideToCanvasWidthRatio = slideLoader.width/this.width; + presentEvent.slideToCanvasHeightRatio = slideLoader.height/this.height; dispatchEvent(presentEvent); } - + + /** + * Triggered when the presenter releases the mouse button. + */ private function onMouseUp(e:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } + /** + * Triggered when the presenter has dragged the cursor outside the presetation window. + */ private function onMouseOut(e:MouseEvent):void{ removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } + /** + * Handles the resizing of the presenter's window. This is for the presenter resizing + * his/her window. + */ private function handleWindowResizeEvent(event:WindowResizedEvent):void { this.width = event.width; this.height = event.height; resizeAndMoveLoaderInRelationToCanvas(); } - + + /** + * Resize and moves the slide loader within the canvas container. + */ private function resizeAndMoveLoaderInRelationToCanvas():void { - swfSlideLoader.width = this.width * presentersLoaderCanvasWidthRatio; - swfSlideLoader.height = this.height * presentersLoaderCanvasHeightRatio; + slideLoader.width = this.width * presentersLoaderCanvasWidthRatio; + slideLoader.height = this.height * presentersLoaderCanvasHeightRatio; - swfSlideLoader.x = swfSlideLoader.width * presentersLoaderXOffsetFromCanvas; - swfSlideLoader.y = swfSlideLoader.height * presentersLoaderYOffsetFromCanvas; + slideLoader.x = slideLoader.width * presentersLoaderXOffsetFromCanvas; + slideLoader.y = slideLoader.height * presentersLoaderYOffsetFromCanvas; fitSlideToLoader(); } - + + /** + * Fit the slide inside the loader. + */ private function fitSlideToLoader():void { if (noSlideContentLoaded()) return; - swfSlideLoader.content.x = swfSlideLoader.x; - swfSlideLoader.content.y = swfSlideLoader.y; - swfSlideLoader.content.width = swfSlideLoader.width; - swfSlideLoader.content.height = swfSlideLoader.height; + slideLoader.content.x = slideLoader.x; + slideLoader.content.y = slideLoader.y; + slideLoader.content.width = slideLoader.width; + slideLoader.content.height = slideLoader.height; - zoomCanvas(swfSlideLoader.width, swfSlideLoader.height); + zoomCanvas(slideLoader.width, slideLoader.height); } private function fitLoaderToCanvas():void{ if (noSlideContentLoaded()) return; - swfSlideLoader.width = this.width; - swfSlideLoader.height = this.height; - swfSlideLoader.x = this.x; - swfSlideLoader.y = this.y; + slideLoader.width = this.width; + slideLoader.height = this.height; + slideLoader.x = this.x; + slideLoader.y = this.y; fitSlideToLoader(); } + /** + * + */ private function resizeAndMoveLoaderBy(percent:Number):void { // Save the old loader dimensions. We need these to calculate // the new position of the loader; - var oldLoaderHeight:int = swfSlideLoader.height; - var oldLoaderWidth:int = swfSlideLoader.width; + var oldLoaderHeight:int = slideLoader.height; + var oldLoaderWidth:int = slideLoader.width; - swfSlideLoader.width = this.width * percent/100; - swfSlideLoader.height = this.height * percent/100; + slideLoader.width = this.width * percent/100; + slideLoader.height = this.height * percent/100; - swfSlideLoader.x = calculateNewLoaderX(oldLoaderWidth); - swfSlideLoader.y = calculateNewLoaderY(oldLoaderHeight); + slideLoader.x = calculateNewLoaderX(oldLoaderWidth); + slideLoader.y = calculateNewLoaderY(oldLoaderHeight); fitSlideToLoader(); } + /** + * Determines the new y coordinate of the loader. This determines if the location has + * changed because the slide was resized or moved. + */ private function calculateNewLoaderY(oldLoaderHeight:int):int { - var deltaPercentHeight:Number = (swfSlideLoader.height - oldLoaderHeight) /oldLoaderHeight; + var deltaPercentHeight:Number = (slideLoader.height - oldLoaderHeight) /oldLoaderHeight; - var newLoaderY:int = (swfSlideLoader.y/swfSlideLoader.height) * deltaPercentHeight; + var newLoaderY:int = (slideLoader.y/slideLoader.height) * deltaPercentHeight; if (newLoaderY == 0) { - newLoaderY = swfSlideLoader.y - (deltaPercentHeight * 100); + newLoaderY = slideLoader.y - (deltaPercentHeight * 100); } else { - newLoaderY = swfSlideLoader.y - newLoaderY; + newLoaderY = slideLoader.y - newLoaderY; } return newLoaderY; } + /** + * Determines the new y coordinate of the loader. This determines if the location has + * changed because the slide was resized or moved. + */ private function calculateNewLoaderX(oldLoaderWidth:int):int { - var deltaPercentWidth:Number = (swfSlideLoader.width - oldLoaderWidth) / oldLoaderWidth; - var newLoaderX:int = (swfSlideLoader.x/swfSlideLoader.width) * deltaPercentWidth; + var deltaPercentWidth:Number = (slideLoader.width - oldLoaderWidth) / oldLoaderWidth; + var newLoaderX:int = (slideLoader.x/slideLoader.width) * deltaPercentWidth; if (newLoaderX == 0) { - newLoaderX = swfSlideLoader.x - (deltaPercentWidth * 100); + newLoaderX = slideLoader.x - (deltaPercentWidth * 100); } else { - newLoaderX = swfSlideLoader.x - newLoaderX; + newLoaderX = slideLoader.x - newLoaderX; } return newLoaderX; @@ -278,6 +315,9 @@ notifyOthersOfZoomEvent(); } + /** + * Triggered when the presenter uses the mouse wheel to zoom in/out of the slide. + */ private function onMouseWheelZoomEvent(e:MouseEvent):void { if (presenterIsZoomingOut(e.delta)) { zoomPercentage -= ZOOM_STEP; @@ -297,10 +337,10 @@ private function notifyOthersOfZoomEvent():void { var presentEvent:PresenterCommands = new PresenterCommands(PresenterCommands.ZOOM); - presentEvent.xOffset = swfSlideLoader.x/swfSlideLoader.width; - presentEvent.yOffset = swfSlideLoader.y/swfSlideLoader.height; - presentEvent.slideToCanvasWidthRatio = swfSlideLoader.width/this.width; - presentEvent.slideToCanvasHeightRatio = swfSlideLoader.height/this.height; + presentEvent.xOffset = slideLoader.x/slideLoader.width; + presentEvent.yOffset = slideLoader.y/slideLoader.height; + presentEvent.slideToCanvasWidthRatio = slideLoader.width/this.width; + presentEvent.slideToCanvasHeightRatio = slideLoader.height/this.height; dispatchEvent(presentEvent); } @@ -309,43 +349,58 @@ return delta < 0; } + /** + * Handles notification from presenter that the slide has moved. + */ private function handleMoveEvent(e:MoveEvent):void{ savePresentersSettings(e.xOffset, e.yOffset, e.slideToCanvasWidthRatio, e.slideToCanvasHeightRatio); if (!isPresenter) { resizeAndMoveLoaderInRelationToCanvas(); } - moveCanvas(swfSlideLoader.x, swfSlideLoader.y); + moveCanvas(slideLoader.x, slideLoader.y); } - + + /** + * Handle notification from presenter that the slide has been zoomed. + */ private function handleZoomEvent(e:ZoomEvent):void { savePresentersSettings(e.xOffset, e.yOffset, e.slideToCanvasWidthRatio, e.slideToCanvasHeightRatio); if (!isPresenter) { resizeAndMoveLoaderInRelationToCanvas(); } - zoomCanvas(swfSlideLoader.width, swfSlideLoader.height); + zoomCanvas(slideLoader.width, slideLoader.height); } - + + /** + * Handle notification from loader that a slide has been loaded. + */ private function handleSlideLoadedEvent(e:SlideEvent):void{ - swfSlideLoader.source = e.slide; + slideLoader.source = e.slide; } - + + /** + * Handle the event where this presenter becomes a viewer because another attendee became presenter. + */ private function handleSwitchToViewerEvent(e:MadePresenterEvent):void{ participantIsNowPresenter(false); removeEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheelZoomEvent); - swfSlideLoader.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); - swfSlideLoader.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); - swfSlideLoader.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut); + slideLoader.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); + slideLoader.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); + slideLoader.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut); removeEventListener(MouseEvent.MOUSE_MOVE, mouseCursorUpdateListener); } + /** + * Makes the attendee the presenter. + */ private function handleSwitchToPresenterEvent(e:MadePresenterEvent):void{ participantIsNowPresenter(true); addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheelZoomEvent); - swfSlideLoader.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); - swfSlideLoader.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); - swfSlideLoader.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); + slideLoader.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); + slideLoader.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); + slideLoader.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); addEventListener(MouseEvent.MOUSE_MOVE, mouseCursorUpdateListener); } @@ -353,11 +408,17 @@ this.isPresenter = presenter; } + /** + * Listen for mouse events to track the cursor. + */ public function mouseCursorUpdateListener(e:MouseEvent):void{ if (noSlideContentLoaded()) return; notifyOthersOfPresentersCursorPosition(this.mouseX, this.mouseY); } + /** + * Broadcast to other participants the location fo the mouse cursor. + */ private function notifyOthersOfPresentersCursorPosition(cursorXPosition:int, cursorYPosition:int):void { var command:PresenterCommands = new PresenterCommands(PresenterCommands.SEND_CURSOR_UPDATE); command.xPercent = cursorXPosition / this.width; @@ -365,6 +426,9 @@ dispatchEvent(command); } + /** + * Handle notification from presenter about the location of the mouse cursor. + */ private function handleUpdateCursorEvent(e:CursorEvent):void{ if (noSlideContentLoaded()) return; @@ -379,9 +443,12 @@ } private function noSlideContentLoaded():Boolean { - return swfSlideLoader.content == null + return slideLoader.content == null } + /** + * Keep track of the presenter's x,y coordinates and the size of his/her presentation window. + */ private function savePresentersSettings(xOffset:Number, yOffset:Number, widthRatio:Number, heightRatio:Number):void { presentersLoaderXOffsetFromCanvas = xOffset; presentersLoaderYOffsetFromCanvas = yOffset; @@ -389,20 +456,16 @@ presentersLoaderCanvasHeightRatio = heightRatio; } - /****************************************************** - * Helper functions to determine offsets - ******************************************************/ - /* * Fire an event when a single slide has been loaded. */ private function listenForSlideLoadedCompleteEvent():void { - swfSlideLoader.addEventListener(Event.COMPLETE, handleSlideLoadedCompleteEvent); + slideLoader.addEventListener(Event.COMPLETE, handleSlideLoadedCompleteEvent); } private function handleSlideLoadedCompleteEvent(event:Event):void { - var slideRealWidth:int = swfSlideLoader.content.width; - var slideRealHeight:int = swfSlideLoader.content.height; + var slideRealWidth:int = slideLoader.content.width; + var slideRealHeight:int = slideLoader.content.height; fitLoaderToCanvas(); dispatchNewSlideDisplayedEvent(slideRealWidth, slideRealHeight); } @@ -448,8 +511,8 @@ } public function moveCanvas(x:int, y:int):void{ - overlayChildrenHolder.x = swfSlideLoader.x * 2; - overlayChildrenHolder.y = swfSlideLoader.y * 2; + overlayChildrenHolder.x = slideLoader.x * 2; + overlayChildrenHolder.y = slideLoader.y * 2; if (overlayCanvas != null) overlayCanvas.moveCanvas(overlayChildrenHolder.x, overlayChildrenHolder.y); } @@ -457,7 +520,7 @@ public function zoomCanvas(width:int, height:int):void{ overlayChildrenHolder.width = width; overlayChildrenHolder.height = height; - moveCanvas(swfSlideLoader.x, swfSlideLoader.y); + moveCanvas(slideLoader.x, slideLoader.y); if (overlayCanvas != null) overlayCanvas.zoomCanvas(width, height); } @@ -472,7 +535,7 @@ ]]> - Date: Mon, 28 Jun 2010 14:35:31 -0400 Subject: [PATCH 04/38] fixed a bug in the --salt function --- bigbluebutton-config/bin/bbb-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index fbffae3d8f..b0d01f0862 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -378,7 +378,7 @@ fi # Setup samba # -if [ -n $SALT ]; then +if [ $SALT ]; then need_root # echo $SALT; change_var_salt /var/lib/$TOMCAT/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties beans.dynamicConferenceService.securitySalt $SALT From 56c43c3f01779e7cf5d151be245e9cb4b2b2ca27 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 28 Jun 2010 15:28:41 -0400 Subject: [PATCH 05/38] Fixed a bug in switching from meetme to konference and vice versa --- bigbluebutton-config/bin/bbb-conf | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index b0d01f0862..ec2447a4f9 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -1019,18 +1019,18 @@ if [ $CONFERENCE ]; then # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,Konference(\${EXTEN},H)/# exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,Konference(\${EXTEN},H)/; exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/#[ ]*exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ + sudo sed -i "s/;[ ]*exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/# exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ + sudo sed -i "s/; exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/# exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/; exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ /etc/asterisk/bbb_extensions.conf fi @@ -1043,17 +1043,17 @@ if [ $CONFERENCE ]; then # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/#[ ]*exten => _XXXX.,n,Konference(\${EXTEN},H)/exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ + sudo sed -i "s/;[ ]*exten => _XXXX.,n,Konference(\${EXTEN},H)/exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/# exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/; exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/# exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/; exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/# exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ + sudo sed -i "s/; exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ /etc/asterisk/bbb_extensions.conf fi From 3ced173986fddc1170efdb4731a0047197abe07b Mon Sep 17 00:00:00 2001 From: BigBlueButton Date: Mon, 28 Jun 2010 20:10:29 +0000 Subject: [PATCH 06/38] - modify to checkout code from git and setup dev env for client|web|apps --- bigbluebutton-config/bin/bbb-conf | 289 +++++++++++++++++------------- 1 file changed, 165 insertions(+), 124 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index b0d01f0862..8353d324fd 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -135,7 +135,7 @@ need_root() { } usage() { - echo "BigBlueButton Server Utility - Version 0.64" + echo "BigBlueButton Server Utility - Version 0.70" echo echo "$0 [options]" echo @@ -158,11 +158,10 @@ usage() { if [ "$(is_vm)" ]; then echo "Development:" echo " --setup-samba Setup samba share for development (VM only)" - echo " --setup-dev [bbb-web|bbb-client|bbb-apps] " + echo " --checkout Checkout BigBlueButton from github " + echo " --setup-dev [client|web|apps] Setup development environment " echo " --reset-dev Reset environment back to using packages" echo " --trunk Checkout trunk instead of last release" - echo " --svn-username [user] Your Google code username if you want to " - echo " commit from the checked out code" fi echo } @@ -301,6 +300,13 @@ while [ $# -gt 0 ]; do continue fi + if [ "$1" = "--checkout" -o "$1" = "-checkout" ]; then + echo "# Request to checkout BigBlueButton" + CHECKOUT="1" + shift; shift + continue + fi + # # all other parameters requires at least 1 argument # @@ -320,26 +326,11 @@ while [ $# -gt 0 ]; do continue fi - if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then - SETUPDEV="${2}" - shift; shift - continue - fi - - if [ "$1" = "--svn-username" -o "$1" = "-svn-username" ]; then - SVNUSERNAME="--username ${2}" - SVNPROTO="https" - shift; shift - continue - fi - - if [ "$1" = "--trunk" -o "$1" = "-trunk" ]; then - # replace the value for for RELEASE because we don't want - # a particular release - RELEASE="" - shift - continue - fi + if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then + SETUPDEV="${2}" + shift; shift + continue + fi if [ "$1" = "--conference" -o "$1" = "-conference" ]; then CONFERENCE="${2}" @@ -436,158 +427,208 @@ fi # Setup the development environemnt. # -if [ $SETUPDEV ]; then +if [ $CHECKOUT ]; then check_root # This is a step towards setting up a development environment on a non-BigBlueButton VM - which svn + which git if [ $? != 0 ]; then - sudo apt-get install subversion ant -y --force-yes + echo "# Installing git and ant" + sudo apt-get install git ant -y --force-yes fi + + BBBSRCGIT="~/dev/source/bigbluebutton" + if [ -d $BBBSRCGIT ]; then + echo "# " + echo "**** ERROR: ${BBBSRCGIT} exists. ***" + echo "**** ERROR: You have already checked-out bigbluebutton. Please delete ${BBBSRCGIT} and try again. ***" + echo "# " + exit 1 + fi if [ ! -d ~/dev ]; then + echo "# Creating dev directory" mkdir ~/dev fi - if [ $SETUPDEV == "bbb-web" ]; then - if [ ! -d ~/dev/bbb-web ]; then + echo "# Changing to the dev directory" + cd ~/dev + + if [ ! -d ~/dev/source ]; then + echo "# Creating source directory" + mkdir ~/dev/source + fi - echo "# Setting up ~/dev/bbb-web" - echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-web bbb-web ${RELEASE} ${SVNUSERNAME}" + echo "# Changing to the dev directory" + cd ~/dev/source - cd ~/dev - svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-web bbb-web $RELEASE $SVNUSERNAME + echo "# " + echo "# Checking out READ-ONLY code from github." + echo "# " + echo "# " + git clone git://github.com/bigbluebutton/bigbluebutton.git + echo "# " + echo "# " + echo "# Checked out READ-ONLY code from github. " + echo "# " + echo " You can now run 'bbb-conf --setup-dev [client|web|apps]' to setup dev environment " + echo "# " +fi - IP=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') +if [ $SETUPDEV ]; then + check_root - echo "# Copying the bigbluebutton.properites in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/.grails/bigbluebutton-config.properties" - mkdir -p ~/.grails - cp /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties ~/.grails/bigbluebutton-config.properties + if [ ! -d ~/dev/source/bigbluebutton ]; then + echo "# " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - echo "# Copying the bbb_api_conf.jsp into /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/dev/bbb-web/web-app/demo" - cp /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ~/dev/bbb-web/web-app/demo - echo "# Enabling $USER to write to /var/bigbluebutton to upload slides" - sudo chmod -R ugo+rwx /var/bigbluebutton + if [ $SETUPDEV == "web" ]; then + BBBWEBHOME=~/dev/source/bigbluebutton/bigbluebutton-web + if [ ! -d $BBBWEBHOME ]; then + echo "# " + echo "*** ERROR: Cannot find ${BBBWEBHOME} " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - echo "# Enabling $USER to write to /var/log/bigbluebutton to write log files" - sudo chmod -R ugo+rwx /var/log/bigbluebutton + IP=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') - echo "# Copying bbb-common-message-0.64.jar into ~/dev/bbb-web/lib" - if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then - cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/bbb-web/lib - fi + echo "# Copying the bigbluebutton.properites in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/.grails/bigbluebutton-config.properties" + mkdir -p ~/.grails + cp /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties ~/.grails/bigbluebutton-config.properties - echo " + echo "# Copying the bbb_api_conf.jsp into /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ${BBBWEBHOME}/web-app/demo" + cp /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ${BBBWEBHOME}/web-app/demo + + echo "# Enabling $USER to write to /var/bigbluebutton to upload slides" + sudo chmod -R ugo+rwx /var/bigbluebutton + + echo "# Enabling $USER to write to /var/log/bigbluebutton to write log files" + sudo chmod -R ugo+rwx /var/log/bigbluebutton + + echo "# Copying bbb-common-message-0.64.jar into ${BBBWEBHOME}/lib" + if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then + cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ${BBBWEBHOME}/lib + fi + + echo " # Done. To run your local build of bbb-web: - sudo /etc/init.d/${TOMCAT} stop - cd ~/dev/bbb-web - ant + sudo /etc/init.d/${TOMCAT} stop + cd ${BBBWEBHOME} + ant " - fi - fi + fi - if [ $SETUPDEV == "bbb-client" ]; then - if [ ! -d ~/dev/bbb-client ]; then - echo "# Setting up ~/dev/bbb-client" - echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-client bbb-client ${RELEASE} ${SVNUSERNAME}" + if [ $SETUPDEV == "client" ]; then + BBBCLIENTHOME=~/dev/source/bigbluebutton/bigbluebutton-client + if [ ! -d $BBBCLIENTHOME ]; then + echo "# " + echo "*** ERROR: Cannot find ${BBBCLIENTHOME} " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - cd ~/dev - svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-client bbb-client $RELEASE $SVNUSERNAME + # + # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this + # local copy of the client + # + if [ ! -d $BBBCLIENTHOME/bin ]; then + mkdir -p $BBBCLIENTHOME/bin + fi - # - # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this - # local copy of the client - # - if [ ! -d ~/dev/bbb-client/bin ]; then - mkdir -p ~/dev/bbb-client/bin - fi + if [ ! -d $BBBCLIENTHOME/conf ]; then + mkdir -p $BBBCLIENTHOME/bin/conf + fi - if [ ! -d ~/dev/bbb-client/bin/conf ]; then - mkdir -p ~/dev/bbb-client/bin/conf - fi + if [ ! -h $BBBCLIENTHOME/client ]; then + ln -s $BBBCLIENTHOME/bin $BBBCLIENTHOME/client + fi - if [ ! -h ~/dev/bbb-client/client ]; then - ln -s ~/dev/bbb-client/bin ~/dev/bbb-client/client - fi + echo "Modifying /etc/nginx/sites-available/bigbluebutton to point to your local copy of bbb-client" + sudo sed -i "s/\/var\/www\/bigbluebutton;/\/home\/firstuser\/dev\/source\/bigbluebutton\/bigbluebutton-client;/g" \ + /etc/nginx/sites-available/bigbluebutton + sudo /etc/init.d/nginx restart - echo "Modifying /etc/nginx/sites-available/bigbluebutton to point to your local copy of bbb-client" - sudo sed -i "s/\/var\/www\/bigbluebutton;/\/home\/firstuser\/dev\/bbb-client;/g" \ - /etc/nginx/sites-available/bigbluebutton - sudo /etc/init.d/nginx restart + echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ${BBBCLIENTHOME}/bin/conf/config.xml" + cp /var/www/bigbluebutton/client/conf/config.xml $BBBCLIENTHOME/bin/conf/config.xml - echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ~/dev/bbb-client/bin/conf/config.xml" - cp /var/www/bigbluebutton/client/conf/config.xml ~/dev/bbb-client/bin/conf/config.xml + cd $BBBCLIENTHOME - cd bbb-client - - echo " + echo " # Done. To build your local build of bbb-client: - cd ~/dev/bbb-client - ant + cd ${BBBCLIENTHOME} + ant -# The nginx server now loads the BigBlueButton Flash client from -# /home/firstuser/dev/bbb-client. +# The nginx server now loads the BigBlueButton Flash client from +# ${BBBCLIENTHOME}. " - fi - fi + fi - if [ $SETUPDEV == "bbb-apps" ]; then - if [ ! -d ~/dev/bbb-apps ]; then + if [ $SETUPDEV == "apps" ]; then + BBBAPPSHOME=~/dev/source/bigbluebutton/bigbluebutton-apps + if [ ! -d $BBBAPPSHOME ]; then + echo "# " + echo "*** ERROR: Cannot find ${BBBAPPSHOME} " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - echo "# Setting up ~/dev/bbb-apps:" - echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-apps bbb-apps ${RELEASE} ${SVNUSERNAME}" - - cd ~/dev - svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-apps bbb-apps $RELEASE $SVNUSERNAME - - echo "# Checking if ~/dev/repo/bbb-common-message-0.64.jar is present" - if [ ! -f ~/dev/repo/bbb-common-message-0.64.jar ]; then - echo "# Copying bbb-common-message-0.64.jar into ~/dev/repo/" - if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then - cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/repo/ + echo "# Checking if ~/dev/repo/bbb-common-message-0.64.jar is present" + if [ ! -f ~/dev/repo/bbb-common-message-0.64.jar ]; then + echo "# Copying bbb-common-message-0.64.jar into ${BBBAPPSHOME}" + if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then + if [ ! -d ~/dev/repo ]; then + mkdir -p ~/dev/repo + fi + cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/repo/ else echo "# $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar does NOT exist!" fi fi - fi - # - # We're going to make it easier to deploy by giving write access to others to - # $RED5_DIRECTORY/webapps - # - sudo chmod o+w $RED5_DIRECTORY/webapps + # + # We're going to make it easier to deploy by giving write access to others to + # $RED5_DIRECTORY/webapps + # + sudo chmod o+w $RED5_DIRECTORY/webapps - # - # Let's remove the existing bbb-apps - # - if dpkg-query -s bbb-apps | grep "install ok installed" > /dev/null 2>&1; then - sudo apt-get purge --yes bbb-apps - fi + # + # Let's remove the existing bbb-apps + # + if dpkg-query -s bbb-apps | grep "install ok installed" > /dev/null 2>&1; then + sudo apt-get purge --yes bbb-apps + fi - if [ ! -f ~/.bbb-apps-build.properties ]; then - echo "# + if [ ! -f ~/.bbb-apps-build.properties ]; then + echo "# # Override the default properties for bbb-apps # red5.home = $RED5_DIRECTORY " > ~/.bbb-apps-build.properties - fi + fi - # - # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this - # local copy of the client - # - echo " + # + # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this + # local copy of the client + # + echo " # Done. To run your local build of bbb-apps: sudo /etc/init.d/red5 stop - cd ~/dev/bbb-apps + cd ${BBBAPPSHOME} gradle war deploy - cd $RED5_DIRECTORY - sudo -u red5 ./red5.sh + cd $RED5_DIRECTORY + sudo -u red5 ./red5.sh # To restore the packaged version of bbb-apps: @@ -596,7 +637,7 @@ red5.home = $RED5_DIRECTORY sudo /etc/init.d/red5 start " - fi + fi fi if [ $RESET_DEV ]; then From adcff2c05858ecfb7a816a58efd5ad988bae6d08 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 29 Jun 2010 13:24:53 -0400 Subject: [PATCH 07/38] Updated the url in demo_footer.jsp --- bigbluebutton-web/web-app/demo/demo_footer.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-web/web-app/demo/demo_footer.jsp b/bigbluebutton-web/web-app/demo/demo_footer.jsp index 930b6b0f97..bf283f4c21 100755 --- a/bigbluebutton-web/web-app/demo/demo_footer.jsp +++ b/bigbluebutton-web/web-app/demo/demo_footer.jsp @@ -1,2 +1,2 @@

-These demos use the BigBlueButton API. The source code for these demos is available here. +These demos use the BigBlueButton API. The source code for these demos is available . From 552eb9edeabca2e5698fa1ae91dea9906ed187a5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 29 Jun 2010 13:27:48 -0400 Subject: [PATCH 08/38] removed the comment from bigbluebutton.properties and removed the link to redirect the server to www.bigbluebutton.org --- bigbluebutton-web/grails-app/conf/bigbluebutton.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties index 7eff3117e1..e16536d9cb 100644 --- a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties +++ b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties @@ -76,7 +76,7 @@ bigbluebutton.web.serverURL=http://192.168.0.120 #---------------------------------------------------- # URL where the logged-out participant will be redirected after sign-out. # If commented-out, it returns to bigbluebutton.web.serverURL -#bigbluebutton.web.logoutURL=http://www.bigbluebutton.org +bigbluebutton.web.logoutURL= #------------------------------------------------------ # Setting to enable the old scheduling mechanism. This is temporary @@ -96,4 +96,4 @@ beans.presentationService.testPresentationName=appkonference # Uploaded presentation file beans.presentationService.testUploadedPresentation=appkonference.txt # Test voiceBridge number -beans.dynamicConferenceService.testVoiceBridge=99999 \ No newline at end of file +beans.dynamicConferenceService.testVoiceBridge=99999 From 7042903b4b70b531775483b1ebbff60f13100b59 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Tue, 29 Jun 2010 13:31:30 -0400 Subject: [PATCH 09/38] - remove loggedOutUrl value to easily easily maintain post-install script --- bigbluebutton-web/grails-app/conf/bigbluebutton.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 bigbluebutton-web/grails-app/conf/bigbluebutton.properties diff --git a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties old mode 100644 new mode 100755 index 7eff3117e1..86981de861 --- a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties +++ b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties @@ -74,9 +74,9 @@ beans.dynamicConferenceService.defaultDialAccessNumber=${defaultDialAccessNumber bigbluebutton.web.serverURL=http://192.168.0.120 #---------------------------------------------------- -# URL where the logged-out participant will be redirected after sign-out. +# Assign URL where the logged-out participant will be redirected after sign-out. # If commented-out, it returns to bigbluebutton.web.serverURL -#bigbluebutton.web.logoutURL=http://www.bigbluebutton.org +#bigbluebutton.web.logoutURL= #------------------------------------------------------ # Setting to enable the old scheduling mechanism. This is temporary From 85f08cc628a8b1aa33885548fd3ead47ef51abf9 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Tue, 29 Jun 2010 21:17:12 -0400 Subject: [PATCH 10/38] - build deskshare standalone without optimization as it doesn't depend on other modules. --- bigbluebutton-client/build.xml | 53 +++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index cb6ffcad19..e738aaa28a 100755 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -125,8 +125,14 @@ - - + + + + + + + + @@ -164,7 +170,7 @@ @@ -192,6 +198,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -215,9 +245,13 @@ + + + + - @@ -267,9 +301,12 @@ - - - + + + From 4703f6c5bfe21b23b9782e1b41222c85537fa012 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Wed, 30 Jun 2010 11:23:14 -0400 Subject: [PATCH 11/38] - Removing IDE specific files --- bbb-common-message/.classpath | 6 ------ bbb-common-message/.gitignore | 3 +++ bbb-common-message/.project | 17 ----------------- .../.settings/org.eclipse.jdt.core.prefs | 12 ------------ bbb-common-message/README | 5 +---- 5 files changed, 4 insertions(+), 39 deletions(-) delete mode 100644 bbb-common-message/.classpath delete mode 100644 bbb-common-message/.project delete mode 100644 bbb-common-message/.settings/org.eclipse.jdt.core.prefs diff --git a/bbb-common-message/.classpath b/bbb-common-message/.classpath deleted file mode 100644 index ac138e78f3..0000000000 --- a/bbb-common-message/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/bbb-common-message/.gitignore b/bbb-common-message/.gitignore index c745919378..dbcfa68725 100644 --- a/bbb-common-message/.gitignore +++ b/bbb-common-message/.gitignore @@ -1,2 +1,5 @@ +.classpath +.project +.settings bin build diff --git a/bbb-common-message/.project b/bbb-common-message/.project deleted file mode 100644 index 06975814cf..0000000000 --- a/bbb-common-message/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - bbb-common-messaging - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/bbb-common-message/.settings/org.eclipse.jdt.core.prefs b/bbb-common-message/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 36ce11f1e6..0000000000 --- a/bbb-common-message/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Thu Feb 25 09:24:46 EST 2010 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/bbb-common-message/README b/bbb-common-message/README index 2ce86b5109..3cfa0f7331 100644 --- a/bbb-common-message/README +++ b/bbb-common-message/README @@ -1,4 +1 @@ -- common code between bbb-apps and bbb-web - -test - + see http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB From ca975a97787c2d86b56d705fcf39f55203768a63 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Wed, 30 Jun 2010 11:58:57 -0400 Subject: [PATCH 12/38] - remove IDE specific files --- bigbluebutton-apps/.classpath | 42 ----- bigbluebutton-apps/.gitignore | 3 + bigbluebutton-apps/.project | 19 -- ....codehaus.groovy.eclipse.preferences.prefs | 4 - .../.settings/org.eclipse.jdt.core.prefs | 13 -- bigbluebutton-apps/COPYING.LESSER | 165 ------------------ 6 files changed, 3 insertions(+), 243 deletions(-) delete mode 100755 bigbluebutton-apps/.classpath delete mode 100644 bigbluebutton-apps/.project delete mode 100644 bigbluebutton-apps/.settings/org.codehaus.groovy.eclipse.preferences.prefs delete mode 100644 bigbluebutton-apps/.settings/org.eclipse.jdt.core.prefs delete mode 100644 bigbluebutton-apps/COPYING.LESSER diff --git a/bigbluebutton-apps/.classpath b/bigbluebutton-apps/.classpath deleted file mode 100755 index c64c1a4508..0000000000 --- a/bigbluebutton-apps/.classpath +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bigbluebutton-apps/.gitignore b/bigbluebutton-apps/.gitignore index 3aa7759114..1105b46795 100644 --- a/bigbluebutton-apps/.gitignore +++ b/bigbluebutton-apps/.gitignore @@ -1,3 +1,6 @@ +.classpath +.project +.settings build lib .scala_dependencies diff --git a/bigbluebutton-apps/.project b/bigbluebutton-apps/.project deleted file mode 100644 index 0da18e352b..0000000000 --- a/bigbluebutton-apps/.project +++ /dev/null @@ -1,19 +0,0 @@ - - - w-bbb-apps - - - - - - ch.epfl.lamp.sdt.core.scalabuilder - - - - - - ch.epfl.lamp.sdt.core.scalanature - org.eclipse.jdt.groovy.core.groovyNature - org.eclipse.jdt.core.javanature - - diff --git a/bigbluebutton-apps/.settings/org.codehaus.groovy.eclipse.preferences.prefs b/bigbluebutton-apps/.settings/org.codehaus.groovy.eclipse.preferences.prefs deleted file mode 100644 index 3436baa850..0000000000 --- a/bigbluebutton-apps/.settings/org.codehaus.groovy.eclipse.preferences.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Mon Nov 30 11:36:41 EST 2009 -eclipse.preferences.version=1 -groovy.compiler.output.path=bin-groovy -support.groovy=true diff --git a/bigbluebutton-apps/.settings/org.eclipse.jdt.core.prefs b/bigbluebutton-apps/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 9d6601f44f..0000000000 --- a/bigbluebutton-apps/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,13 +0,0 @@ -#Mon Nov 30 10:59:11 EST 2009 -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.groovy -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/bigbluebutton-apps/COPYING.LESSER b/bigbluebutton-apps/COPYING.LESSER deleted file mode 100644 index cca7fc278f..0000000000 --- a/bigbluebutton-apps/COPYING.LESSER +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. From 2c98d5c5e4735b08af102a6e0c11347c54089c64 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Wed, 30 Jun 2010 11:59:58 -0400 Subject: [PATCH 13/38] - add README --- bigbluebutton-apps/README | 1 + 1 file changed, 1 insertion(+) create mode 100644 bigbluebutton-apps/README diff --git a/bigbluebutton-apps/README b/bigbluebutton-apps/README new file mode 100644 index 0000000000..0701ddcd25 --- /dev/null +++ b/bigbluebutton-apps/README @@ -0,0 +1 @@ + - see http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB From a35ac1d846f9b80e586f1e691eee2f9b19969a0d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 30 Jun 2010 15:20:02 -0400 Subject: [PATCH 14/38] Updated bigbluebutton.properties --- .../grails-app/conf/bigbluebutton.properties | 99 ------------------- 1 file changed, 99 deletions(-) delete mode 100644 bigbluebutton-web/grails-app/conf/bigbluebutton.properties diff --git a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties deleted file mode 100644 index e16536d9cb..0000000000 --- a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties +++ /dev/null @@ -1,99 +0,0 @@ -# -# These are the default properites for BigBlueButton Web application - -dataSource.url=jdbc:mysql://localhost/bigbluebutton_dev -dataSource.username=bbb -dataSource.password=secret -dataSource.driverClassName =com.mysql.jdbc.Driver - -#---------------------------------------------------- -# Directory where BigBlueButton stores uploaded slides -presentationDir=/var/bigbluebutton - -#---------------------------------------------------- -# Directory where SWFTOOLS (pdf2swf, jpeg2swf, png2swf) are located -swfToolsDir=/bin - -#---------------------------------------------------- -# Directory where ImageMagick's convert executable is located -imageMagickDir=/usr/bin - -#---------------------------------------------------- -# Use fullpath to ghostscript executable since the exec names are different -# for each platform. -ghostScriptExec=/usr/bin/gs - -#---------------------------------------------------- -# Fonts directory passed into PDF2SWF to support highlighting of texts -# in the SWF slides. -fontsDir=/usr/share/fonts - -#---------------------------------------------------- -# This is a workaround for a problem converting PDF files, referenced at -# http://groups.google.com/group/comp.lang.postscript/browse_thread/thread/c2e264ca76534ce0?pli=1 -noPdfMarkWorkaround=/etc/bigbluebutton/nopdfmark.ps - -#---------------------------------------------------- -# These will be copied in cases where the conversion process -# fails to generate a slide from the uploaded presentation -BLANK_SLIDE=/var/bigbluebutton/blank/blank-slide.swf -BLANK_THUMBNAIL=/var/bigbluebutton/blank/blank-thumb.png - -#---------------------------------------------------- -# Number of minutes the conversion should take. If it takes -# more than this time, cancel the conversion process. -maxConversionTime=5 - -#---------------------------------------------------- -# Maximum number of pages allowed for an uploaded presentation (default 100). -maxNumPages=100 - -#---------------------------------------------------- -# Default dial access number -defaultDialAccessNumber=613-555-1234 - -#---------------------------------------------------- -# Default welcome message to display when the participant joins the web -# conference. This is only used for the old scheduling which will be -# removed in the future. Use the API to create a conference. -defaultWelcomeMessage=
Welcome to this BigBlueButton Demo Server.

For help using BigBlueButton
check out these videos.

- -#---------------------------------------------------- -# Inject values into grails service beans -beans.presentationService.presentationDir=${presentationDir} -beans.dynamicConferenceService.serviceEnabled=true -beans.dynamicConferenceService.apiVersion=0.7-SNAPSHOT -beans.dynamicConferenceService.minutesElapsedBeforeMeetingExpiration=60 -beans.dynamicConferenceService.securitySalt=639259d4-9dd8-4b25-bf01-95f9567eaf4b -beans.dynamicConferenceService.defaultWelcomeMessage=${defaultWelcomeMessage} -beans.dynamicConferenceService.defaultDialAccessNumber=${defaultDialAccessNumber} - -#---------------------------------------------------- -# This URL is where the BBB client is accessible. When a user sucessfully -# enters a name and password, she is redirected here to load the client. -bigbluebutton.web.serverURL=http://192.168.0.120 - -#---------------------------------------------------- -# URL where the logged-out participant will be redirected after sign-out. -# If commented-out, it returns to bigbluebutton.web.serverURL -bigbluebutton.web.logoutURL= - -#------------------------------------------------------ -# Setting to enable the old scheduling mechanism. This is temporary -# as we will be moving to use the API later. -# -beans.schedulingService.schedulingServiceEnabled=false - -#------------------------------------------------------ -# These properties are used to test the conversion process. -# Conference name folder in ${presentationDir} (see above) -beans.presentationService.testConferenceMock=conference-mock-default -beans.dynamicConferenceService.testConferenceMock=conference-mock-default -# Conference room folder in ${presentationDir}/${testConferenceMock} -beans.presentationService.testRoomMock=conference-mock-default -# Uploaded presentation name -beans.presentationService.testPresentationName=appkonference -# Uploaded presentation file -beans.presentationService.testUploadedPresentation=appkonference.txt -# Test voiceBridge number -beans.dynamicConferenceService.testVoiceBridge=99999 From bffd3a60f552ee913ce67c0cd3ba6327c03c710f Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 30 Jun 2010 15:28:54 -0400 Subject: [PATCH 15/38] Added extra error checking in bbb-conf --- bigbluebutton-config/bin/bbb-conf | 354 ++++++++++++++---------------- 1 file changed, 159 insertions(+), 195 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 8f66726516..434d727a2a 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -30,7 +30,7 @@ # 2010-03-02 JRT Added trunk checkout options / fixed bbb-apps instructions # 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 #set -x @@ -38,7 +38,7 @@ # This ensures that we checkout the 0.63 release of BigBlueButton # Note that this can be overridden with the --trunk option # -RELEASE="-r 4130" +RELEASE="-r 4126" # # SVNPROTO is http if read-only, or https if you specify a Google code username @@ -67,7 +67,7 @@ PLATFORM=$(get_platform) is_redhat() { if [ "$PLATFORM" == "redhat" ]; then - echo "yes" + ECHO "Yes" fi } @@ -135,7 +135,7 @@ need_root() { } usage() { - echo "BigBlueButton Server Utility - Version 0.70" + echo "BigBlueButton Server Utility - Version 0.64" echo echo "$0 [options]" echo @@ -143,7 +143,6 @@ usage() { echo " --version Display BigBlueButton version (packages)" echo " --setip Set IP/hostname for BigBlueButton" echo " --conference [konference|meetme] Switch conference module in Asterisk" - echo " --salt Change the security salt in bigbluebutton.properties" echo echo "Monitoring:" echo " --check Check configuration files and processes for problems" @@ -158,10 +157,11 @@ usage() { if [ "$(is_vm)" ]; then echo "Development:" echo " --setup-samba Setup samba share for development (VM only)" - echo " --checkout Checkout BigBlueButton from github " - echo " --setup-dev [client|web|apps] Setup development environment " + echo " --setup-dev [bbb-web|bbb-client|bbb-apps] " echo " --reset-dev Reset environment back to using packages" echo " --trunk Checkout trunk instead of last release" + echo " --svn-username [user] Your Google code username if you want to " + echo " commit from the checked out code" fi echo } @@ -186,11 +186,6 @@ change_var_value () { check_and_backup $1 sed -i "s<^[[:blank:]#]*\(${2}\).*<\1=\"${3}\"<" $1 } -# same as change_var_value but without quotes -change_var_salt() { - check_and_backup $1 - sed -i "s<^[[:blank:]#]*\(${2}\).*<\1="${3}"<" $1 -} # comment lines matching $2 ($1 is the file) comment () { check_and_backup $1 @@ -300,13 +295,6 @@ while [ $# -gt 0 ]; do continue fi - if [ "$1" = "--checkout" -o "$1" = "-checkout" ]; then - echo "# Request to checkout BigBlueButton" - CHECKOUT="1" - shift; shift - continue - fi - # # all other parameters requires at least 1 argument # @@ -326,23 +314,33 @@ while [ $# -gt 0 ]; do continue fi - if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then - SETUPDEV="${2}" - shift; shift - continue - fi + if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then + SETUPDEV="${2}" + shift; shift + continue + fi + + if [ "$1" = "--svn-username" -o "$1" = "-svn-username" ]; then + SVNUSERNAME="--username ${2}" + SVNPROTO="https" + shift; shift + continue + fi + + if [ "$1" = "--trunk" -o "$1" = "-trunk" ]; then + # replace the value for for RELEASE because we don't want + # a particular release + RELEASE="" + shift + continue + fi if [ "$1" = "--conference" -o "$1" = "-conference" ]; then CONFERENCE="${2}" shift; shift continue fi - - if [ "$1" = "--salt" -o "$1" = "-salt" ]; then - SALT="${2}" - shift; shift - continue - fi + usage exit 1 @@ -369,13 +367,6 @@ fi # Setup samba # -if [ $SALT ]; then - need_root -# echo $SALT; - change_var_salt /var/lib/$TOMCAT/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties beans.dynamicConferenceService.securitySalt $SALT - echo "Changed the security salt to $SALT"; -fi - if [ $SAMBA ]; then check_root @@ -427,208 +418,158 @@ fi # Setup the development environemnt. # -if [ $CHECKOUT ]; then +if [ $SETUPDEV ]; then check_root # This is a step towards setting up a development environment on a non-BigBlueButton VM - which git + which svn if [ $? != 0 ]; then - echo "# Installing git and ant" - sudo apt-get install git ant -y --force-yes + sudo apt-get install subversion ant -y --force-yes fi - - BBBSRCGIT="~/dev/source/bigbluebutton" - if [ -d $BBBSRCGIT ]; then - echo "# " - echo "**** ERROR: ${BBBSRCGIT} exists. ***" - echo "**** ERROR: You have already checked-out bigbluebutton. Please delete ${BBBSRCGIT} and try again. ***" - echo "# " - exit 1 - fi if [ ! -d ~/dev ]; then - echo "# Creating dev directory" mkdir ~/dev fi - echo "# Changing to the dev directory" - cd ~/dev - - if [ ! -d ~/dev/source ]; then - echo "# Creating source directory" - mkdir ~/dev/source - fi + if [ $SETUPDEV == "bbb-web" ]; then + if [ ! -d ~/dev/bbb-web ]; then - echo "# Changing to the dev directory" - cd ~/dev/source + echo "# Setting up ~/dev/bbb-web" + echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-web bbb-web ${RELEASE} ${SVNUSERNAME}" - echo "# " - echo "# Checking out READ-ONLY code from github." - echo "# " - echo "# " - git clone git://github.com/bigbluebutton/bigbluebutton.git - echo "# " - echo "# " - echo "# Checked out READ-ONLY code from github. " - echo "# " - echo " You can now run 'bbb-conf --setup-dev [client|web|apps]' to setup dev environment " - echo "# " -fi + cd ~/dev + svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-web bbb-web $RELEASE $SVNUSERNAME -if [ $SETUPDEV ]; then - check_root + IP=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') - if [ ! -d ~/dev/source/bigbluebutton ]; then - echo "# " - echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " - echo "# " - exit 1 - fi + echo "# Copying the bigbluebutton.properites in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/.grails/bigbluebutton-config.properties" + mkdir -p ~/.grails + cp /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties ~/.grails/bigbluebutton-config.properties + echo "# Copying the bbb_api_conf.jsp into /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/dev/bbb-web/web-app/demo" + cp /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ~/dev/bbb-web/web-app/demo - if [ $SETUPDEV == "web" ]; then - BBBWEBHOME=~/dev/source/bigbluebutton/bigbluebutton-web - if [ ! -d $BBBWEBHOME ]; then - echo "# " - echo "*** ERROR: Cannot find ${BBBWEBHOME} " - echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " - echo "# " - exit 1 - fi + echo "# Enabling $USER to write to /var/bigbluebutton to upload slides" + sudo chmod -R ugo+rwx /var/bigbluebutton - IP=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') + echo "# Enabling $USER to write to /var/log/bigbluebutton to write log files" + sudo chmod -R ugo+rwx /var/log/bigbluebutton - echo "# Copying the bigbluebutton.properites in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/.grails/bigbluebutton-config.properties" - mkdir -p ~/.grails - cp /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties ~/.grails/bigbluebutton-config.properties + echo "# Copying bbb-common-message-0.64.jar into ~/dev/bbb-web/lib" + if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then + cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/bbb-web/lib + fi - echo "# Copying the bbb_api_conf.jsp into /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ${BBBWEBHOME}/web-app/demo" - cp /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ${BBBWEBHOME}/web-app/demo - - echo "# Enabling $USER to write to /var/bigbluebutton to upload slides" - sudo chmod -R ugo+rwx /var/bigbluebutton - - echo "# Enabling $USER to write to /var/log/bigbluebutton to write log files" - sudo chmod -R ugo+rwx /var/log/bigbluebutton - - echo "# Copying bbb-common-message-0.64.jar into ${BBBWEBHOME}/lib" - if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then - cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ${BBBWEBHOME}/lib - fi - - echo " + echo " # Done. To run your local build of bbb-web: - sudo /etc/init.d/${TOMCAT} stop - cd ${BBBWEBHOME} - ant + sudo /etc/init.d/${TOMCAT} stop + cd ~/dev/bbb-web + ant " - fi + fi + fi + if [ $SETUPDEV == "bbb-client" ]; then + if [ ! -d ~/dev/bbb-client ]; then - if [ $SETUPDEV == "client" ]; then - BBBCLIENTHOME=~/dev/source/bigbluebutton/bigbluebutton-client - if [ ! -d $BBBCLIENTHOME ]; then - echo "# " - echo "*** ERROR: Cannot find ${BBBCLIENTHOME} " - echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " - echo "# " - exit 1 - fi + echo "# Setting up ~/dev/bbb-client" + echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-client bbb-client ${RELEASE} ${SVNUSERNAME}" - # - # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this - # local copy of the client - # - if [ ! -d $BBBCLIENTHOME/bin ]; then - mkdir -p $BBBCLIENTHOME/bin - fi + cd ~/dev + svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-client bbb-client $RELEASE $SVNUSERNAME - if [ ! -d $BBBCLIENTHOME/conf ]; then - mkdir -p $BBBCLIENTHOME/bin/conf - fi + # + # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this + # local copy of the client + # + if [ ! -d ~/dev/bbb-client/bin ]; then + mkdir -p ~/dev/bbb-client/bin + fi - if [ ! -h $BBBCLIENTHOME/client ]; then - ln -s $BBBCLIENTHOME/bin $BBBCLIENTHOME/client - fi + if [ ! -d ~/dev/bbb-client/bin/conf ]; then + mkdir -p ~/dev/bbb-client/bin/conf + fi - echo "Modifying /etc/nginx/sites-available/bigbluebutton to point to your local copy of bbb-client" - sudo sed -i "s/\/var\/www\/bigbluebutton;/\/home\/firstuser\/dev\/source\/bigbluebutton\/bigbluebutton-client;/g" \ - /etc/nginx/sites-available/bigbluebutton - sudo /etc/init.d/nginx restart + if [ ! -h ~/dev/bbb-client/client ]; then + ln -s ~/dev/bbb-client/bin ~/dev/bbb-client/client + fi - echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ${BBBCLIENTHOME}/bin/conf/config.xml" - cp /var/www/bigbluebutton/client/conf/config.xml $BBBCLIENTHOME/bin/conf/config.xml + echo "Modifying /etc/nginx/sites-available/bigbluebutton to point to your local copy of bbb-client" + sudo sed -i "s/\/var\/www\/bigbluebutton;/\/home\/firstuser\/dev\/bbb-client;/g" \ + /etc/nginx/sites-available/bigbluebutton + sudo /etc/init.d/nginx restart - cd $BBBCLIENTHOME + echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ~/dev/bbb-client/bin/conf/config.xml" + cp /var/www/bigbluebutton/client/conf/config.xml ~/dev/bbb-client/bin/conf/config.xml - echo " + cd bbb-client + + echo " # Done. To build your local build of bbb-client: - cd ${BBBCLIENTHOME} - ant + cd ~/dev/bbb-client + ant -# The nginx server now loads the BigBlueButton Flash client from -# ${BBBCLIENTHOME}. +# The nginx server now loads the BigBlueButton Flash client from +# /home/firstuser/dev/bbb-client. " - fi + fi + fi - if [ $SETUPDEV == "apps" ]; then - BBBAPPSHOME=~/dev/source/bigbluebutton/bigbluebutton-apps - if [ ! -d $BBBAPPSHOME ]; then - echo "# " - echo "*** ERROR: Cannot find ${BBBAPPSHOME} " - echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " - echo "# " - exit 1 - fi + if [ $SETUPDEV == "bbb-apps" ]; then + if [ ! -d ~/dev/bbb-apps ]; then - echo "# Checking if ~/dev/repo/bbb-common-message-0.64.jar is present" - if [ ! -f ~/dev/repo/bbb-common-message-0.64.jar ]; then - echo "# Copying bbb-common-message-0.64.jar into ${BBBAPPSHOME}" - if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then - if [ ! -d ~/dev/repo ]; then - mkdir -p ~/dev/repo - fi - cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/repo/ + echo "# Setting up ~/dev/bbb-apps:" + echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-apps bbb-apps ${RELEASE} ${SVNUSERNAME}" + + cd ~/dev + svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-apps bbb-apps $RELEASE $SVNUSERNAME + + echo "# Checking if ~/dev/repo/bbb-common-message-0.64.jar is present" + if [ ! -f ~/dev/repo/bbb-common-message-0.64.jar ]; then + echo "# Copying bbb-common-message-0.64.jar into ~/dev/repo/" + if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then + cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/repo/ else echo "# $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar does NOT exist!" fi fi + fi - # - # We're going to make it easier to deploy by giving write access to others to - # $RED5_DIRECTORY/webapps - # - sudo chmod o+w $RED5_DIRECTORY/webapps + # + # We're going to make it easier to deploy by giving write access to others to + # $RED5_DIRECTORY/webapps + # + sudo chmod o+w $RED5_DIRECTORY/webapps - # - # Let's remove the existing bbb-apps - # - if dpkg-query -s bbb-apps | grep "install ok installed" > /dev/null 2>&1; then - sudo apt-get purge --yes bbb-apps - fi + # + # Let's remove the existing bbb-apps + # + if dpkg-query -s bbb-apps | grep "install ok installed" > /dev/null 2>&1; then + sudo apt-get purge --yes bbb-apps + fi - if [ ! -f ~/.bbb-apps-build.properties ]; then - echo "# + if [ ! -f ~/.bbb-apps-build.properties ]; then + echo "# # Override the default properties for bbb-apps # red5.home = $RED5_DIRECTORY " > ~/.bbb-apps-build.properties - fi + fi - # - # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this - # local copy of the client - # - echo " + # + # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this + # local copy of the client + # + echo " # Done. To run your local build of bbb-apps: sudo /etc/init.d/red5 stop - cd ${BBBAPPSHOME} + cd ~/dev/bbb-apps gradle war deploy - cd $RED5_DIRECTORY - sudo -u red5 ./red5.sh + cd $RED5_DIRECTORY + sudo -u red5 ./red5.sh # To restore the packaged version of bbb-apps: @@ -637,7 +578,7 @@ red5.home = $RED5_DIRECTORY sudo /etc/init.d/red5 start " - fi + fi fi if [ $RESET_DEV ]; then @@ -743,6 +684,29 @@ $RED5_DIRECTORY/webapps/sip/WEB-INF/bigbluebutton-sip.properties" fi done + LOGG_FILES="$RED5_DIRECTORY/log/sip.log \ +$RED5_DIRECTORY/log/video.log \ +$RED5_DIRECTORY/log/bigbluebutton.log \ +$RED5_DIRECTORY/log/deskshare.log" + + for file in $LOGG_FILES ; do + if [ -a $file ]; then + if cat $file | tail -n1 | grep -q "Starting up context"; then + echo "BigBlueButton did not start up correctly" + fi + else + echo "File" $file "not found" + fi + + done + + # check if sip.log has warnings where the user is not registered + if cat /usr/share/red5/log/sip.log | tail -n1 | grep -q "Call request for default but not registered"; then + echo "The User is not registered in SIP. Audio might not be working correctly." + fi + + + # # Check that tomcat6 started properly and has created log files # @@ -1060,18 +1024,18 @@ if [ $CONFERENCE ]; then # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,Konference(\${EXTEN},H)/; exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,Konference(\${EXTEN},H)/# exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/;[ ]*exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ + sudo sed -i "s/#[ ]*exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/; exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ + sudo sed -i "s/# exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/; exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/# exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ /etc/asterisk/bbb_extensions.conf fi @@ -1084,17 +1048,17 @@ if [ $CONFERENCE ]; then # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/;[ ]*exten => _XXXX.,n,Konference(\${EXTEN},H)/exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ + sudo sed -i "s/#[ ]*exten => _XXXX.,n,Konference(\${EXTEN},H)/exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/; exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/# exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/; exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/# exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/; exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ + sudo sed -i "s/# exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ /etc/asterisk/bbb_extensions.conf fi From be77950c34e366a896dc2cae06fc2be411303c50 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Wed, 30 Jun 2010 19:27:01 +0000 Subject: [PATCH 16/38] - fix bbb-conf --revert which still points to the old client-dev dir --- bigbluebutton-config/bin/bbb-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 8f66726516..de68547937 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -644,7 +644,7 @@ if [ $RESET_DEV ]; then check_root echo "Reseting /etc/nginx/sites-available/bigbluebutton to point to /var/www/bigbluebutton" - sudo sed -i "s/\/home\/firstuser\/dev\/bbb-client;/\/var\/www\/bigbluebutton;/g" \ + sudo sed -i "s/\/home\/firstuser\/dev\/source\/bigbluebutton\/bigbluebutton-client;/\/var\/www\/bigbluebutton;/g" \ /etc/nginx/sites-available/bigbluebutton sudo /etc/init.d/nginx restart From e46388e03aad27faeaf482652b8dae2ddec71e01 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Wed, 30 Jun 2010 19:50:31 +0000 Subject: [PATCH 17/38] - reverting back to previous change as the last change was incorrect --- bigbluebutton-config/bin/bbb-conf | 354 ++++++++++++++++-------------- 1 file changed, 195 insertions(+), 159 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 595ca88b70..de68547937 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -30,7 +30,7 @@ # 2010-03-02 JRT Added trunk checkout options / fixed bbb-apps instructions # 2010-04-02 FFD Updated for 0.64 # 2010-06-21 SEB Cleaned up some code / Updated for 0.70 -# 2010-06-30 SEB Added some extra errorchecking +# 2010-06-25 SEB Added ability to change the security salt #set -x @@ -38,7 +38,7 @@ # This ensures that we checkout the 0.63 release of BigBlueButton # Note that this can be overridden with the --trunk option # -RELEASE="-r 4126" +RELEASE="-r 4130" # # SVNPROTO is http if read-only, or https if you specify a Google code username @@ -67,7 +67,7 @@ PLATFORM=$(get_platform) is_redhat() { if [ "$PLATFORM" == "redhat" ]; then - ECHO "Yes" + echo "yes" fi } @@ -135,7 +135,7 @@ need_root() { } usage() { - echo "BigBlueButton Server Utility - Version 0.64" + echo "BigBlueButton Server Utility - Version 0.70" echo echo "$0 [options]" echo @@ -143,6 +143,7 @@ usage() { echo " --version Display BigBlueButton version (packages)" echo " --setip Set IP/hostname for BigBlueButton" echo " --conference [konference|meetme] Switch conference module in Asterisk" + echo " --salt Change the security salt in bigbluebutton.properties" echo echo "Monitoring:" echo " --check Check configuration files and processes for problems" @@ -157,11 +158,10 @@ usage() { if [ "$(is_vm)" ]; then echo "Development:" echo " --setup-samba Setup samba share for development (VM only)" - echo " --setup-dev [bbb-web|bbb-client|bbb-apps] " + echo " --checkout Checkout BigBlueButton from github " + echo " --setup-dev [client|web|apps] Setup development environment " echo " --reset-dev Reset environment back to using packages" echo " --trunk Checkout trunk instead of last release" - echo " --svn-username [user] Your Google code username if you want to " - echo " commit from the checked out code" fi echo } @@ -186,6 +186,11 @@ change_var_value () { check_and_backup $1 sed -i "s<^[[:blank:]#]*\(${2}\).*<\1=\"${3}\"<" $1 } +# same as change_var_value but without quotes +change_var_salt() { + check_and_backup $1 + sed -i "s<^[[:blank:]#]*\(${2}\).*<\1="${3}"<" $1 +} # comment lines matching $2 ($1 is the file) comment () { check_and_backup $1 @@ -295,6 +300,13 @@ while [ $# -gt 0 ]; do continue fi + if [ "$1" = "--checkout" -o "$1" = "-checkout" ]; then + echo "# Request to checkout BigBlueButton" + CHECKOUT="1" + shift; shift + continue + fi + # # all other parameters requires at least 1 argument # @@ -314,33 +326,23 @@ while [ $# -gt 0 ]; do continue fi - if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then - SETUPDEV="${2}" - shift; shift - continue - fi - - if [ "$1" = "--svn-username" -o "$1" = "-svn-username" ]; then - SVNUSERNAME="--username ${2}" - SVNPROTO="https" - shift; shift - continue - fi - - if [ "$1" = "--trunk" -o "$1" = "-trunk" ]; then - # replace the value for for RELEASE because we don't want - # a particular release - RELEASE="" - shift - continue - fi + if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then + SETUPDEV="${2}" + shift; shift + continue + fi if [ "$1" = "--conference" -o "$1" = "-conference" ]; then CONFERENCE="${2}" shift; shift continue fi - + + if [ "$1" = "--salt" -o "$1" = "-salt" ]; then + SALT="${2}" + shift; shift + continue + fi usage exit 1 @@ -367,6 +369,13 @@ fi # Setup samba # +if [ $SALT ]; then + need_root +# echo $SALT; + change_var_salt /var/lib/$TOMCAT/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties beans.dynamicConferenceService.securitySalt $SALT + echo "Changed the security salt to $SALT"; +fi + if [ $SAMBA ]; then check_root @@ -418,158 +427,208 @@ fi # Setup the development environemnt. # -if [ $SETUPDEV ]; then +if [ $CHECKOUT ]; then check_root # This is a step towards setting up a development environment on a non-BigBlueButton VM - which svn + which git if [ $? != 0 ]; then - sudo apt-get install subversion ant -y --force-yes + echo "# Installing git and ant" + sudo apt-get install git ant -y --force-yes fi + + BBBSRCGIT="~/dev/source/bigbluebutton" + if [ -d $BBBSRCGIT ]; then + echo "# " + echo "**** ERROR: ${BBBSRCGIT} exists. ***" + echo "**** ERROR: You have already checked-out bigbluebutton. Please delete ${BBBSRCGIT} and try again. ***" + echo "# " + exit 1 + fi if [ ! -d ~/dev ]; then + echo "# Creating dev directory" mkdir ~/dev fi - if [ $SETUPDEV == "bbb-web" ]; then - if [ ! -d ~/dev/bbb-web ]; then + echo "# Changing to the dev directory" + cd ~/dev + + if [ ! -d ~/dev/source ]; then + echo "# Creating source directory" + mkdir ~/dev/source + fi - echo "# Setting up ~/dev/bbb-web" - echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-web bbb-web ${RELEASE} ${SVNUSERNAME}" + echo "# Changing to the dev directory" + cd ~/dev/source - cd ~/dev - svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-web bbb-web $RELEASE $SVNUSERNAME + echo "# " + echo "# Checking out READ-ONLY code from github." + echo "# " + echo "# " + git clone git://github.com/bigbluebutton/bigbluebutton.git + echo "# " + echo "# " + echo "# Checked out READ-ONLY code from github. " + echo "# " + echo " You can now run 'bbb-conf --setup-dev [client|web|apps]' to setup dev environment " + echo "# " +fi - IP=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') +if [ $SETUPDEV ]; then + check_root - echo "# Copying the bigbluebutton.properites in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/.grails/bigbluebutton-config.properties" - mkdir -p ~/.grails - cp /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties ~/.grails/bigbluebutton-config.properties + if [ ! -d ~/dev/source/bigbluebutton ]; then + echo "# " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - echo "# Copying the bbb_api_conf.jsp into /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/dev/bbb-web/web-app/demo" - cp /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ~/dev/bbb-web/web-app/demo - echo "# Enabling $USER to write to /var/bigbluebutton to upload slides" - sudo chmod -R ugo+rwx /var/bigbluebutton + if [ $SETUPDEV == "web" ]; then + BBBWEBHOME=~/dev/source/bigbluebutton/bigbluebutton-web + if [ ! -d $BBBWEBHOME ]; then + echo "# " + echo "*** ERROR: Cannot find ${BBBWEBHOME} " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - echo "# Enabling $USER to write to /var/log/bigbluebutton to write log files" - sudo chmod -R ugo+rwx /var/log/bigbluebutton + IP=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') - echo "# Copying bbb-common-message-0.64.jar into ~/dev/bbb-web/lib" - if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then - cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/bbb-web/lib - fi + echo "# Copying the bigbluebutton.properites in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ~/.grails/bigbluebutton-config.properties" + mkdir -p ~/.grails + cp /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties ~/.grails/bigbluebutton-config.properties - echo " + echo "# Copying the bbb_api_conf.jsp into /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties to ${BBBWEBHOME}/web-app/demo" + cp /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ${BBBWEBHOME}/web-app/demo + + echo "# Enabling $USER to write to /var/bigbluebutton to upload slides" + sudo chmod -R ugo+rwx /var/bigbluebutton + + echo "# Enabling $USER to write to /var/log/bigbluebutton to write log files" + sudo chmod -R ugo+rwx /var/log/bigbluebutton + + echo "# Copying bbb-common-message-0.64.jar into ${BBBWEBHOME}/lib" + if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then + cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ${BBBWEBHOME}/lib + fi + + echo " # Done. To run your local build of bbb-web: - sudo /etc/init.d/${TOMCAT} stop - cd ~/dev/bbb-web - ant + sudo /etc/init.d/${TOMCAT} stop + cd ${BBBWEBHOME} + ant " - fi - fi + fi - if [ $SETUPDEV == "bbb-client" ]; then - if [ ! -d ~/dev/bbb-client ]; then - echo "# Setting up ~/dev/bbb-client" - echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-client bbb-client ${RELEASE} ${SVNUSERNAME}" + if [ $SETUPDEV == "client" ]; then + BBBCLIENTHOME=~/dev/source/bigbluebutton/bigbluebutton-client + if [ ! -d $BBBCLIENTHOME ]; then + echo "# " + echo "*** ERROR: Cannot find ${BBBCLIENTHOME} " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - cd ~/dev - svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-client bbb-client $RELEASE $SVNUSERNAME + # + # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this + # local copy of the client + # + if [ ! -d $BBBCLIENTHOME/bin ]; then + mkdir -p $BBBCLIENTHOME/bin + fi - # - # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this - # local copy of the client - # - if [ ! -d ~/dev/bbb-client/bin ]; then - mkdir -p ~/dev/bbb-client/bin - fi + if [ ! -d $BBBCLIENTHOME/conf ]; then + mkdir -p $BBBCLIENTHOME/bin/conf + fi - if [ ! -d ~/dev/bbb-client/bin/conf ]; then - mkdir -p ~/dev/bbb-client/bin/conf - fi + if [ ! -h $BBBCLIENTHOME/client ]; then + ln -s $BBBCLIENTHOME/bin $BBBCLIENTHOME/client + fi - if [ ! -h ~/dev/bbb-client/client ]; then - ln -s ~/dev/bbb-client/bin ~/dev/bbb-client/client - fi + echo "Modifying /etc/nginx/sites-available/bigbluebutton to point to your local copy of bbb-client" + sudo sed -i "s/\/var\/www\/bigbluebutton;/\/home\/firstuser\/dev\/source\/bigbluebutton\/bigbluebutton-client;/g" \ + /etc/nginx/sites-available/bigbluebutton + sudo /etc/init.d/nginx restart - echo "Modifying /etc/nginx/sites-available/bigbluebutton to point to your local copy of bbb-client" - sudo sed -i "s/\/var\/www\/bigbluebutton;/\/home\/firstuser\/dev\/bbb-client;/g" \ - /etc/nginx/sites-available/bigbluebutton - sudo /etc/init.d/nginx restart + echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ${BBBCLIENTHOME}/bin/conf/config.xml" + cp /var/www/bigbluebutton/client/conf/config.xml $BBBCLIENTHOME/bin/conf/config.xml - echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ~/dev/bbb-client/bin/conf/config.xml" - cp /var/www/bigbluebutton/client/conf/config.xml ~/dev/bbb-client/bin/conf/config.xml + cd $BBBCLIENTHOME - cd bbb-client - - echo " + echo " # Done. To build your local build of bbb-client: - cd ~/dev/bbb-client - ant + cd ${BBBCLIENTHOME} + ant -# The nginx server now loads the BigBlueButton Flash client from -# /home/firstuser/dev/bbb-client. +# The nginx server now loads the BigBlueButton Flash client from +# ${BBBCLIENTHOME}. " - fi - fi + fi - if [ $SETUPDEV == "bbb-apps" ]; then - if [ ! -d ~/dev/bbb-apps ]; then + if [ $SETUPDEV == "apps" ]; then + BBBAPPSHOME=~/dev/source/bigbluebutton/bigbluebutton-apps + if [ ! -d $BBBAPPSHOME ]; then + echo "# " + echo "*** ERROR: Cannot find ${BBBAPPSHOME} " + echo "*** ERROR: You haven't checked-out BigBlueButton source yet. Please run 'bbb-conf --checkout' first. " + echo "# " + exit 1 + fi - echo "# Setting up ~/dev/bbb-apps:" - echo " svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-apps bbb-apps ${RELEASE} ${SVNUSERNAME}" - - cd ~/dev - svn checkout ${SVNPROTO}://bigbluebutton.googlecode.com/svn/trunk/bigbluebutton-apps bbb-apps $RELEASE $SVNUSERNAME - - echo "# Checking if ~/dev/repo/bbb-common-message-0.64.jar is present" - if [ ! -f ~/dev/repo/bbb-common-message-0.64.jar ]; then - echo "# Copying bbb-common-message-0.64.jar into ~/dev/repo/" - if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then - cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/repo/ + echo "# Checking if ~/dev/repo/bbb-common-message-0.64.jar is present" + if [ ! -f ~/dev/repo/bbb-common-message-0.64.jar ]; then + echo "# Copying bbb-common-message-0.64.jar into ${BBBAPPSHOME}" + if [ -f $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ]; then + if [ ! -d ~/dev/repo ]; then + mkdir -p ~/dev/repo + fi + cp /usr/share/red5/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar ~/dev/repo/ else echo "# $RED5_DIRECTORY/webapps/bigbluebutton/WEB-INF/lib/bbb-common-message-0.64.jar does NOT exist!" fi fi - fi - # - # We're going to make it easier to deploy by giving write access to others to - # $RED5_DIRECTORY/webapps - # - sudo chmod o+w $RED5_DIRECTORY/webapps + # + # We're going to make it easier to deploy by giving write access to others to + # $RED5_DIRECTORY/webapps + # + sudo chmod o+w $RED5_DIRECTORY/webapps - # - # Let's remove the existing bbb-apps - # - if dpkg-query -s bbb-apps | grep "install ok installed" > /dev/null 2>&1; then - sudo apt-get purge --yes bbb-apps - fi + # + # Let's remove the existing bbb-apps + # + if dpkg-query -s bbb-apps | grep "install ok installed" > /dev/null 2>&1; then + sudo apt-get purge --yes bbb-apps + fi - if [ ! -f ~/.bbb-apps-build.properties ]; then - echo "# + if [ ! -f ~/.bbb-apps-build.properties ]; then + echo "# # Override the default properties for bbb-apps # red5.home = $RED5_DIRECTORY " > ~/.bbb-apps-build.properties - fi + fi - # - # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this - # local copy of the client - # - echo " + # + # Setup the directories so we can point /etc/nginx/sites-available/bigbluebutton to this + # local copy of the client + # + echo " # Done. To run your local build of bbb-apps: sudo /etc/init.d/red5 stop - cd ~/dev/bbb-apps + cd ${BBBAPPSHOME} gradle war deploy - cd $RED5_DIRECTORY - sudo -u red5 ./red5.sh + cd $RED5_DIRECTORY + sudo -u red5 ./red5.sh # To restore the packaged version of bbb-apps: @@ -578,7 +637,7 @@ red5.home = $RED5_DIRECTORY sudo /etc/init.d/red5 start " - fi + fi fi if [ $RESET_DEV ]; then @@ -684,29 +743,6 @@ $RED5_DIRECTORY/webapps/sip/WEB-INF/bigbluebutton-sip.properties" fi done - LOGG_FILES="$RED5_DIRECTORY/log/sip.log \ -$RED5_DIRECTORY/log/video.log \ -$RED5_DIRECTORY/log/bigbluebutton.log \ -$RED5_DIRECTORY/log/deskshare.log" - - for file in $LOGG_FILES ; do - if [ -a $file ]; then - if cat $file | tail -n1 | grep -q "Starting up context"; then - echo "BigBlueButton did not start up correctly" - fi - else - echo "File" $file "not found" - fi - - done - - # check if sip.log has warnings where the user is not registered - if cat /usr/share/red5/log/sip.log | tail -n1 | grep -q "Call request for default but not registered"; then - echo "The User is not registered in SIP. Audio might not be working correctly." - fi - - - # # Check that tomcat6 started properly and has created log files # @@ -1024,18 +1060,18 @@ if [ $CONFERENCE ]; then # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,Konference(\${EXTEN},H)/# exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,Konference(\${EXTEN},H)/; exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/#[ ]*exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ + sudo sed -i "s/;[ ]*exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/# exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ + sudo sed -i "s/; exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/# exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/; exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ /etc/asterisk/bbb_extensions.conf fi @@ -1048,17 +1084,17 @@ if [ $CONFERENCE ]; then # # update /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/#[ ]*exten => _XXXX.,n,Konference(\${EXTEN},H)/exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ + sudo sed -i "s/;[ ]*exten => _XXXX.,n,Konference(\${EXTEN},H)/exten => _XXXX.,n,Konference(\${EXTEN},H)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/# exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/; exten => _XXXX.,n,MeetMe(\${EXTEN},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/# exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ + sudo sed -i "s/^exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/; exten => _XXXX.,n,MeetMe(\${CONFERENCE_FOUND},cdMsT)/g" \ /etc/asterisk/bbb_extensions.conf - sudo sed -i "s/# exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ + sudo sed -i "s/; exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/exten => _XXXX.,n,Konference(\${CONFERENCE_FOUND},H)/g" \ /etc/asterisk/bbb_extensions.conf fi From 948837859cd70786b384caa95ae8d0d7115c58ab Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 30 Jun 2010 15:57:39 -0400 Subject: [PATCH 18/38] Added extra error checking for logs --- bigbluebutton-config/bin/bbb-conf | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index de68547937..26fefbd4cf 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -31,6 +31,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 #set -x @@ -743,6 +744,28 @@ $RED5_DIRECTORY/webapps/sip/WEB-INF/bigbluebutton-sip.properties" fi done + LOGG_FILES="$RED5_DIRECTORY/log/sip.log \ +$RED5_DIRECTORY/log/video.log \ +$RED5_DIRECTORY/log/bigbluebutton.log \ +$RED5_DIRECTORY/log/deskshare.log" + + for file in $LOGG_FILES ; do + if [ -a $file ]; then + if cat $file | tail -n1 | grep -q "Starting up context"; then + echo "BigBlueButton did not start up correctly" + fi + else + echo "File" $file "not found" + fi + + done + + # check if sip.log has warnings where the user is not registered + if cat /usr/share/red5/log/sip.log | tail -n1 | grep -q "Call request for default but not registered"; then + echo "The User is not registered in SIP. Audio might not be working correctly." + fi + + # # Check that tomcat6 started properly and has created log files # From b9a514199e1dc4fb44096cbba0443419c8e5a533 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 2 Jul 2010 10:00:12 -0400 Subject: [PATCH 19/38] fixed a patch in bigbluebutton.properties --- bigbluebutton-web/grails-app/conf/bigbluebutton.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties index a2cc493068..a53e4e308e 100755 --- a/bigbluebutton-web/grails-app/conf/bigbluebutton.properties +++ b/bigbluebutton-web/grails-app/conf/bigbluebutton.properties @@ -71,7 +71,7 @@ beans.dynamicConferenceService.defaultDialAccessNumber=${defaultDialAccessNumber #---------------------------------------------------- # This URL is where the BBB client is accessible. When a user sucessfully # enters a name and password, she is redirected here to load the client. -# bigbluebutton.web.serverURL=http://192.168.0.101 +bigbluebutton.web.serverURL=http://192.168.0.101 #---------------------------------------------------- # Assign URL where the logged-out participant will be redirected after sign-out. From f1d41fd991505396fcdd1db9b09fdb21f21ab9bc Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 2 Jul 2010 10:19:57 -0400 Subject: [PATCH 20/38] Fixed a bug in demo_footer.jsp --- bigbluebutton-web/web-app/demo/demo_footer.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-web/web-app/demo/demo_footer.jsp b/bigbluebutton-web/web-app/demo/demo_footer.jsp index bf283f4c21..6dd7d542de 100755 --- a/bigbluebutton-web/web-app/demo/demo_footer.jsp +++ b/bigbluebutton-web/web-app/demo/demo_footer.jsp @@ -1,2 +1,2 @@

-These demos use the BigBlueButton API. The source code for these demos is available . +These demos use the BigBlueButton API. The source code for these demos is available here . From 2e664ad0b3cff90cade39b9be5086f4d9bb34325 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 2 Jul 2010 10:30:24 -0400 Subject: [PATCH 21/38] Fixed a bug in bbb-conf --- bigbluebutton-config/bin/bbb-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 26fefbd4cf..1f03254875 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -136,7 +136,7 @@ need_root() { } usage() { - echo "BigBlueButton Server Utility - Version 0.70" + echo "BigBlueButton Configuration Utility - Version 0.70" echo echo "$0 [options]" echo From da9f036339873c3550b4f05e4ddf47f678559799 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 2 Jul 2010 14:15:30 -0400 Subject: [PATCH 22/38] Removed a space character in demo_footer.jsp --- bigbluebutton-config/bin/bbb-conf | 14 -------------- bigbluebutton-web/web-app/demo/demo_footer.jsp | 2 +- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 1f03254875..76ef0ef5c7 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -651,14 +651,6 @@ if [ $RESET_DEV ]; then fi -getIPOfDomain() { - ipOfDomain=$(ifconfig | grep -v '127.0.0.1' | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{ print $1}') - - if [ $ipOfDomain != "out;" ]; then - echo $ipOfDomain - fi -} - check_state() { echo @@ -785,15 +777,9 @@ $RED5_DIRECTORY/log/deskshare.log" NGINX_IP=$(cat /etc/nginx/sites-available/bigbluebutton | sed -n '/server_name/{s/.*name[ ]*//;s/;//;p}') if [ "$HOST_IP" != "$NGINX_IP" ]; then - NGINX_DOMAIN_IP=$($getIPOfDomain $NGINX_IP) - - if [ "$HOST_IP" != "$NGINX_DOMAIN_IP" ]; then echo "Host IP does not match BigBlueButton: ${HOST_IP} != ${NGINX_IP}" - fi fi -x=$(host demo.bigbluebutton.org | cut -d\ -f 4) - echo exit 0 } diff --git a/bigbluebutton-web/web-app/demo/demo_footer.jsp b/bigbluebutton-web/web-app/demo/demo_footer.jsp index 6dd7d542de..d142598dca 100755 --- a/bigbluebutton-web/web-app/demo/demo_footer.jsp +++ b/bigbluebutton-web/web-app/demo/demo_footer.jsp @@ -1,2 +1,2 @@

-These demos use the BigBlueButton API. The source code for these demos is available here . +These demos use the BigBlueButton API. The source code for these demos is available here. From 3dd62cd0ee4c5752cfc332ee836b5a9ad8d5e81b Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Sun, 4 Jul 2010 10:36:34 -0400 Subject: [PATCH 23/38] - make html file non-executable --- bigbluebutton-client/resources/BigBlueButton.html | 0 bigbluebutton-client/resources/DeskshareStandalone.html | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 bigbluebutton-client/resources/BigBlueButton.html mode change 100755 => 100644 bigbluebutton-client/resources/DeskshareStandalone.html diff --git a/bigbluebutton-client/resources/BigBlueButton.html b/bigbluebutton-client/resources/BigBlueButton.html old mode 100755 new mode 100644 diff --git a/bigbluebutton-client/resources/DeskshareStandalone.html b/bigbluebutton-client/resources/DeskshareStandalone.html old mode 100755 new mode 100644 From 5d7e4473c782f7daaff48d7a978f20241b6c81a0 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Sun, 4 Jul 2010 10:38:33 -0400 Subject: [PATCH 24/38] - change how we add the VERSION as it screws up ant dev build --- bigbluebutton-client/resources/BigBlueButton.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bigbluebutton-client/resources/BigBlueButton.html b/bigbluebutton-client/resources/BigBlueButton.html index 01a1278973..fe06619294 100644 --- a/bigbluebutton-client/resources/BigBlueButton.html +++ b/bigbluebutton-client/resources/BigBlueButton.html @@ -66,7 +66,7 @@ if ( hasProductInstall && !hasRequestedVersion ) { // see. http://stackoverflow.com/questions/313966/mousewheel-not-working-when-published-movie-has-wmodetransparent // ralam (mar 31, 2010) AC_FL_RunContent( - "src", "BigBlueButton-VERSION", + "src", "BigBlueButton.swf?v=VERSION", "width", "100%", "height", "100%", "align", "middle", @@ -182,12 +182,12 @@ function getLanguage(){ - + - Date: Sun, 4 Jul 2010 10:41:59 -0400 Subject: [PATCH 25/38] - make build.xml not executable --- bigbluebutton-client/build.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 bigbluebutton-client/build.xml diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml old mode 100755 new mode 100644 From 8401ec1cdf8fbd5d237211c369462059d82c8bb4 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Sun, 4 Jul 2010 10:45:17 -0400 Subject: [PATCH 26/38] - minor edit to description --- bigbluebutton-client/build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index e738aaa28a..33793dcd71 100644 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -247,7 +247,7 @@ + description="Compiling standalone desktop sharing"> From 8fa7a9a03c59ebf16977caaf43f173cff68b44ee Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Sun, 4 Jul 2010 10:54:35 -0400 Subject: [PATCH 27/38] - change how we put version in the SWF filename - make not executable --- .../src/conf/config.xml.template | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) mode change 100755 => 100644 bigbluebutton-client/src/conf/config.xml.template diff --git a/bigbluebutton-client/src/conf/config.xml.template b/bigbluebutton-client/src/conf/config.xml.template old mode 100755 new mode 100644 index a6f4eec5bb..78a21a988d --- a/bigbluebutton-client/src/conf/config.xml.template +++ b/bigbluebutton-client/src/conf/config.xml.template @@ -6,21 +6,21 @@ - - - - + - - - - - - - - - - - - - - - - - - - - - - From 175591ee666fd435b51eb77cfbb1491042715f11 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Sun, 4 Jul 2010 12:31:44 -0400 Subject: [PATCH 35/38] - copy config.xml or config.xml.template depending on BUILD_ENV. During development, it will copy the developer's config.xml but in production, it will use the template to generate a config.xml --- bigbluebutton-client/build.xml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index 4822e097e1..e878429d87 100644 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -2,6 +2,7 @@ + @@ -139,7 +140,7 @@ - + @@ -257,17 +258,25 @@ - - - - - + + + + + + + + + + + + + From 19667376b620421ad177d428a856f2d8060e0267 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Sun, 4 Jul 2010 12:49:05 -0400 Subject: [PATCH 36/38] - copy or generate config.xml when setting up client dev environment --- bigbluebutton-config/bin/bbb-conf | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 76ef0ef5c7..0cfa84c54e 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -558,8 +558,19 @@ if [ $SETUPDEV ]; then /etc/nginx/sites-available/bigbluebutton sudo /etc/init.d/nginx restart - echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ${BBBCLIENTHOME}/bin/conf/config.xml" - cp /var/www/bigbluebutton/client/conf/config.xml $BBBCLIENTHOME/bin/conf/config.xml + if [ -f /var/www/bigbluebutton/client/conf/config.xml ]; then + echo "# Copying /var/www/bigbluebutton/client/conf/config.xml to ${BBBCLIENTHOME}/src/conf/config.xml" + cp /var/www/bigbluebutton/client/conf/config.xml $BBBCLIENTHOME/src/conf/config.xml + else + echo "# Copying ${BBBCLIENTHOME}/resources/config.xml.template to ${BBBCLIENTHOME}/src/conf/config.xml.template" + cp $BBBCLIENTHOME/resources/config.xml.template $BBBCLIENTHOME/src/conf/config.xml.template + echo "# Generating ${BBBCLIENTHOME}/src/conf/config.xml" + cat $BBBCLIENTHOME/src/conf/config.xml.template | sed "s/VERSION/dev/" > $BBBCLIENTHOME/src/conf/config.xml + rm $BBBCLIENTHOME/src/conf/config.xml.template + fi + + echo "# Copying ${BBBCLIENTHOME}/resources/dev/join-mock.xml to ${BBBCLIENTHOME}/src/conf/join-mock.xml" + cp $BBBCLIENTHOME/resources/dev/join-mock.xml $BBBCLIENTHOME/src/conf/config.xml cd $BBBCLIENTHOME From 1061236d8ef96a62a52b3322e70f042a77df2c50 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Mon, 5 Jul 2010 07:24:05 +0000 Subject: [PATCH 37/38] Small UI tweeks for 0.7 --- bigbluebutton-client/.actionScriptProperties | 1 + bigbluebutton-client/.flexProperties | 1 + .../bigbluebutton/modules/present/views/PresentationWindow.mxml | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bigbluebutton-client/.actionScriptProperties b/bigbluebutton-client/.actionScriptProperties index 043c25c47a..b8d2bdfef5 100755 --- a/bigbluebutton-client/.actionScriptProperties +++ b/bigbluebutton-client/.actionScriptProperties @@ -43,3 +43,4 @@ + diff --git a/bigbluebutton-client/.flexProperties b/bigbluebutton-client/.flexProperties index afb930671b..a86bbec4db 100755 --- a/bigbluebutton-client/.flexProperties +++ b/bigbluebutton-client/.flexProperties @@ -1,2 +1,3 @@ + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml index 7b84413a0b..4909eaf95a 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/views/PresentationWindow.mxml @@ -149,7 +149,7 @@ this.x = this.parent.width - this.width; } else { // Move window so that it won't overlap with Participant's window. - this.x = DEFAULT_X_POSITION; + this.x = ((Capabilities.screenResolutionX / 20) * 3) + 10; } } From b62681ba2c57a51e0b5a5e3b758494ce8f1ae6c2 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Mon, 5 Jul 2010 10:39:13 -0400 Subject: [PATCH 38/38] - remove --trunk option as git clone checks-out everything --- bigbluebutton-config/bin/bbb-conf | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 0cfa84c54e..6de38e7049 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -137,6 +137,7 @@ need_root() { usage() { echo "BigBlueButton Configuration Utility - Version 0.70" + echo "http://code.google.com/p/bigbluebutton/wiki/BBBConf" echo echo "$0 [options]" echo @@ -162,7 +163,6 @@ usage() { echo " --checkout Checkout BigBlueButton from github " echo " --setup-dev [client|web|apps] Setup development environment " echo " --reset-dev Reset environment back to using packages" - echo " --trunk Checkout trunk instead of last release" fi echo } @@ -236,11 +236,6 @@ fi # Parse the parameters while [ $# -gt 0 ]; do - if [ "$1" = "-h" -o "$1" = "-help" -o "$1" = "?" -o "$1" = "--help" ]; then - usage - exit 1 - fi - if [ "$1" = "-check" -o "$1" = "--check" -o "$1" = "-c" ]; then CHECK=1 shift