Big Blue Button Polling Module

From CDOT Wiki
Jump to: navigation, search

Polling Module Prototype

Introduction

As a first collaborative step between Seneca CODT and Big Blue Buttom was decided to create a Polling Module. First discussion about Polling Module was here :

 http://groups.google.com/group/bigbluebutton-dev/browse_thread/thread/61a51f98ae5e8194

On the forum above there is also a Polling Mockup made by CEO of Big Blue Button.


Big Blue Button created wiki page for polling module prototype:

 http://code.google.com/p/bigbluebutton/wiki/PollingModule

Seneca accepted offer working on the polling module.

Current people involved:

Fardad Soleimanloo - project supervisor
 Anatolijs Spektors - developer
 Justin Robinson - developer

Polling Module Progress Map

bbb-client part

0.001 Created Polling Module Architecture (folders: events, managers, maps, views)

0.002 Created PollingInstructionsWindow.mxml - window designed following the Polling Mockup which consist of: 
Title: text box for title Questions: text area for questions Responses: text are for responses Checkbox with label: Allow users to check ,more than one response Two Buttons: Create New Poll and Cancel that does not invoke any methods so far\


 Here is the screen-shot of the design:
  Pollinginstructions.png


 0.003 PollingInstructionsWindow.mxml receives new method:
 getPrefferedPosition() -> states how the window should appear in the interface (set to POPUP)
 0.004 Created PollingManager.as  that is responsible for all communication processes between EventMap and Views

0.005 Created PollingEventMap

0.006 Created ToolBar icon and ToolBarButtonManager.as that is responsible for all ToolBarButton actions

0.007 ToolBarButton Manager receives method addToolbarButton() that enables ToolBarButton to show on MainToolBar

0.008 Created ToolbarButton.mxml that states alignment of Button

 0.009 ToolBar icon is Integrated into interface 

Toolbarbutton.png

0.010 ToolBar icon became clickable

0.011 Created maps/PollingEventMap.mxml

0.012 2 events created inside events:

1. OpenInstructionsEvent -> opens instructions window (window for Presenter to create a new poll) 2. CloseInstructionsEvent -> event that closes Instrucitons window

0.013 ToolBar button on click invokes PollingInstructionsWindow.mxml
Problem Encountered: _When ToolBarButton invokes Window, toolbarbutton becomes stays, when trying to solve this problem, window does not close.
0.014 PollingInstructionsWindow.mxml receives 2 new methods:
1.overloaded close function that uses custom method to Close Instructions Window 2. closeInstructionsWindow() method that uses CloseInstructionsEvent to dispatch parameters to EventMap

0.015 _Problem Solved_ by adding two separate invokes into CloseInstructionsEvent one invokes method from manager other from PollingEventmap.

0.016 ToolBarButton.mxml received new method:
** openPollingInstructions() -> opens PollingInstructionsWindow.mxml
0.017 ToolBarButton becomes active when window closes

0.018 ToolBarButtonManager receives removeToolBarButton method that hides toolbarButton

0.019 ToolBarButtonManager receives enableToolbarButton method that enables ToolBarButton in MainToolbar

0.02 Two Event added to PollingEventMap:
** MadePresenterEvent.SWITCH_TO_PRESENTER_MODE - shows toolbarbutton only to Presenter
** MadePresenterEvent.SWITCH_TO_VIEWER_MODE - hides toolbarbutton from Viewers


 0.021 New Events integrated in the System - ToolBarButton appears only to presenter, disappears when Presenter changes to Viewer.



Here is the link for Demo Video of Presenters Interface -->  http://www.youtube.com/watch?v=fQHPOjuxnfo
0.023 Polling Service now allows to share the object between moderator and viewers
0.023 Feature added to Polling Service: only viewers see the poll, moderator does not
0.023 Module design has changed allowing to cut 200 lines of code, without compromising on performance
0.023 PollingWindowManager is added, it takes control strictly over the actions of opening, closing windows
0.023  PollPreview feature is added. Demo video  -->   http://www.youtube.com/watch?v=BuZ47aGLWGQ]