Difference between revisions of "Big Blue Button PLAN"

From CDOT Wiki
Jump to: navigation, search
(Preview Poll Windows))
(Publishing Polls)
 
(39 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Moderator ==
+
=Moderator =
  
===Client ===
+
==Client ==
====Polling button====
+
===Polling button===
 
'''done!'''
 
'''done!'''
====Polling combo box====
+
===Polling menu===
* combo box of existing titles in the room
+
* drop-down menu, triggered by a button on the toolbar, of existing titles in the room
** Combo titles are checked or unchecked for being published
+
** Poll titles are checked or unchecked for being published '''(demonstration-ready)'''
** Clicking on checked (already published) opens Stat Window with repost only button
+
**: Icons are not present yet, but there is an indicator for polls which have been published
** Clicking on unchecked opens stat window with post or modify
+
** Clicking on checked (already published) opens Stat Window with repost only button '''(done)'''
====Create Poll Window====
+
** Clicking on unchecked opens stat window with post or modify '''(done)'''
 +
 
 +
===Create Poll Window===
 
* Create Poll Instructions Window (Create Poll Dialog) '''(done)'''
 
* Create Poll Instructions Window (Create Poll Dialog) '''(done)'''
====Post/Modify Window====
+
===Post/Modify Window===
* Post/Modify Window (for the combo box when poll is not published)
+
* Post/Modify Window (for the combo box when poll is not published) '''(done)'''
====Preview Poll Windows====
+
 
 +
===Preview Poll Windows===
 
* (Saving, Publishing ,Edit, Cancel) '''(done)'''
 
* (Saving, Publishing ,Edit, Cancel) '''(done)'''
 
** appears when preview is clicked in Create Poll Instructions Window '''(done)'''
 
** appears when preview is clicked in Create Poll Instructions Window '''(done)'''
  
====Making Polls Recordabe====
+
===Making Polls Record-able ===
 
* Poll and all its details recordable
 
* Poll and all its details recordable
====Stat Window===
+
 
'''(done)'''
+
===Stat Window===
Is it functional?
+
* "Refresh" button for up-to-date voting information '''(done)'''
====Publishing Polls====
+
* "Stop Polling" button to close all Viewer voting windows that are still open, save poll statistics, and refresh the poll statistics one last time '''(done)'''
 +
* "Repost" button to reset the votes, number of votes, and number of people who did not vote and publish the poll again as if new '''(done)'''
 +
 
 +
===Publishing Polls===
 
*Publish a poll
 
*Publish a poll
** Poll is saved into Redis and immediately retrieved from Redis to send to viewers''' (done)'''
+
** Poll is saved into Redis and immediately retrieved from Redis to send to viewers '''(done)'''
** A unique easy to type key corresponding to Poll title/room for web poll and save it in Redis
+
** A unique easy to type key corresponding to Poll title/room for web poll and save it in Redis '''(done)'''
*** poll key are <room ID>-<poll title>'''(done)'''
+
*** An option to show the poll url in stat window (enable web access)
*** poll key translated to a short string to be typed on mobile devices attached to the url of the server
+
*** poll key are <room ID>-<poll title> '''(done)'''
 +
*** poll key translated to a four digit integer (to be typed on mobile devices attached to the url of the server) '''(done)'''
 +
***: The value saved would be <room ID>-<poll title> <---> 9999 '''(done)'''
 +
***: Also to create a point of reference for the four digit integer a single database entry is created in Redis as: "WebPollReferenceID" <---> 1. It will be used to fetch the next poll ID and will be added by one each time an ID is fetched. The value is recycled back to 1 when it is 9999. '''(done)'''
 +
***: When the presenter stops a poll that has been published to the web, the webKey stored in Redis is deleted to prevent further voting.'''(done)''' Also, the poll keeps track of which webKey it is currently using '''(needs further testing)'''
 +
***: The PollService.vote method has the capability to record votes from the web just as easily as from the client
  
===Server===
+
==Server==
 +
===Combobox===
 
*Combobox
 
*Combobox
**Get poll titles and their status (published or not)
+
**Get poll titles and their status (published or not) '''(done)'''
**Selecting a Saved poll and Modifying a poll (when poll is already saved)
+
**Selecting a Saved poll and Modifying a poll (when poll is already saved) '''(done)'''
 
**Get poll details from the database to display poll (either to viewer or to modify by moderator)'''(done)'''
 
**Get poll details from the database to display poll (either to viewer or to modify by moderator)'''(done)'''
  
 +
===Save on Preview Window===
 
*Preview window selecting save
 
*Preview window selecting save
 
**Save poll details into the database'''(done)'''
 
**Save poll details into the database'''(done)'''
 +
===Updating data for Stats Window===
 +
* update the information on Stats window '''done'''
 +
** Get poll results '''done'''
  
* to display or update the information on Stats window
+
===Make Polls Recordable===
**Get poll results
 
 
 
 
*to make poll recordable
 
*to make poll recordable
 
**Edit BBB session string with the details of poll (Popcorn)
 
**Edit BBB session string with the details of poll (Popcorn)
  
==Viewers==
+
=Viewers=
  
===Client ===
+
==Client==
 +
===Display Poll===
 
* Display the poll '''(done)'''
 
* Display the poll '''(done)'''
** disable distracting components of BBB?
+
** <del>disable distracting components of BBB?</del> (decided not to do it, since then the slide and the content of the window could be subject of polling)
*** Make voting window large enough to cover all other windows?
+
*** <del>Make voting window large enough to cover all other windows?</del>
*** Mute chat and audio, hide video for all but presenter? (Presenter can still talk while people are voting, viewers cannot distract each other)
+
*** <del>Mute chat and audio, hide video for all but presenter? (Presenter can still talk while people are voting, viewers cannot distract each other)</del>
 
 
===Server===
 
* Display poll window
 
**Get poll details from the database to display poll (either to viewer or to modify by moderator) (done)
 
  
* vote
+
==Server==
** update database vote results
+
===Poll Window===
 +
* Display poll window '''done'''
 +
**Get poll details from the database to display poll (either to viewer or to modify by moderator) '''done'''
  
==Web Poll==
+
===Vote===
 +
* vote '''done'''
 +
** update database vote results '''done'''
  
===Client===
+
=Web Poll=
* type BBB url / simplified key to see the poll
 
* submit the vote
 
  
===Server===
+
==Client==
* Get poll details from the database to display poll using the simplified key
+
===Mobile Device Browser===
* update database vote results using the simplified key
+
* create jsp webpage to
 +
** type BBB url / simplified key to see the poll '''(done)'''
 +
** submit the vote '''(done)'''
  
 +
==Server==
 +
===Display Poll===
 +
* Get poll details from the database to display poll using the simplified key '''(done)'''
 +
** get the poll id from the database using the id '''(done)'''
 +
** get the poll detail from the poll id '''(done)'''
 +
* update database vote results using the poll id '''(done)'''
  
==Gateway==
+
=Gateway=
  
===Client ===
+
==Client ==
 +
===LDAP Enabled===
 +
Under construction
 
* LDAP Enabled Login Page
 
* LDAP Enabled Login Page
 
** Having Roles (Moderator, Viewer) that is granted depending on the LDAP role
 
** Having Roles (Moderator, Viewer) that is granted depending on the LDAP role
 
**: (Administrator of the BBB Server should be able to define what are the field names to look for in the LDAP authentication string and what should be their values)
 
**: (Administrator of the BBB Server should be able to define what are the field names to look for in the LDAP authentication string and what should be their values)
 +
* Moderator
 +
** list of session to join like a viewer
 +
** Create  session
 +
*** option of being password protected
 +
***: passwords must be saved in the database tied to the session id
 +
* viewer
 
** A moderator has an additional field to create a room.
 
** A moderator has an additional field to create a room.
 
** everyone can join a room
 
** everyone can join a room
 +
** all the information for joining or creating a room should be extracted from LDAP

Latest revision as of 18:07, 23 February 2012

Moderator

Client

Polling button

done!

Polling menu

  • drop-down menu, triggered by a button on the toolbar, of existing titles in the room
    • Poll titles are checked or unchecked for being published (demonstration-ready)
      Icons are not present yet, but there is an indicator for polls which have been published
    • Clicking on checked (already published) opens Stat Window with repost only button (done)
    • Clicking on unchecked opens stat window with post or modify (done)

Create Poll Window

  • Create Poll Instructions Window (Create Poll Dialog) (done)

Post/Modify Window

  • Post/Modify Window (for the combo box when poll is not published) (done)

Preview Poll Windows

  • (Saving, Publishing ,Edit, Cancel) (done)
    • appears when preview is clicked in Create Poll Instructions Window (done)

Making Polls Record-able

  • Poll and all its details recordable

Stat Window

  • "Refresh" button for up-to-date voting information (done)
  • "Stop Polling" button to close all Viewer voting windows that are still open, save poll statistics, and refresh the poll statistics one last time (done)
  • "Repost" button to reset the votes, number of votes, and number of people who did not vote and publish the poll again as if new (done)

Publishing Polls

  • Publish a poll
    • Poll is saved into Redis and immediately retrieved from Redis to send to viewers (done)
    • A unique easy to type key corresponding to Poll title/room for web poll and save it in Redis (done)
      • An option to show the poll url in stat window (enable web access)
      • poll key are <room ID>-<poll title> (done)
      • poll key translated to a four digit integer (to be typed on mobile devices attached to the url of the server) (done)
        The value saved would be <room ID>-<poll title> <---> 9999 (done)
        Also to create a point of reference for the four digit integer a single database entry is created in Redis as: "WebPollReferenceID" <---> 1. It will be used to fetch the next poll ID and will be added by one each time an ID is fetched. The value is recycled back to 1 when it is 9999. (done)
        When the presenter stops a poll that has been published to the web, the webKey stored in Redis is deleted to prevent further voting.(done) Also, the poll keeps track of which webKey it is currently using (needs further testing)
        The PollService.vote method has the capability to record votes from the web just as easily as from the client

Server

Combobox

  • Combobox
    • Get poll titles and their status (published or not) (done)
    • Selecting a Saved poll and Modifying a poll (when poll is already saved) (done)
    • Get poll details from the database to display poll (either to viewer or to modify by moderator)(done)

Save on Preview Window

  • Preview window selecting save
    • Save poll details into the database(done)

Updating data for Stats Window

  • update the information on Stats window done
    • Get poll results done

Make Polls Recordable

  • to make poll recordable
    • Edit BBB session string with the details of poll (Popcorn)

Viewers

Client

Display Poll

  • Display the poll (done)
    • disable distracting components of BBB? (decided not to do it, since then the slide and the content of the window could be subject of polling)
      • Make voting window large enough to cover all other windows?
      • Mute chat and audio, hide video for all but presenter? (Presenter can still talk while people are voting, viewers cannot distract each other)

Server

Poll Window

  • Display poll window done
    • Get poll details from the database to display poll (either to viewer or to modify by moderator) done

Vote

  • vote done
    • update database vote results done

Web Poll

Client

Mobile Device Browser

  • create jsp webpage to
    • type BBB url / simplified key to see the poll (done)
    • submit the vote (done)

Server

Display Poll

  • Get poll details from the database to display poll using the simplified key (done)
    • get the poll id from the database using the id (done)
    • get the poll detail from the poll id (done)
  • update database vote results using the poll id (done)

Gateway

Client

LDAP Enabled

Under construction 
  • LDAP Enabled Login Page
    • Having Roles (Moderator, Viewer) that is granted depending on the LDAP role
      (Administrator of the BBB Server should be able to define what are the field names to look for in the LDAP authentication string and what should be their values)
  • Moderator
    • list of session to join like a viewer
    • Create session
      • option of being password protected
        passwords must be saved in the database tied to the session id
  • viewer
    • A moderator has an additional field to create a room.
    • everyone can join a room
    • all the information for joining or creating a room should be extracted from LDAP