You are here: Foswiki>Tasks Web>Item10052 (29 Nov 2010, ArneJoris)Edit Attach

Item10052: BBB first comments

pencil
Priority: Urgent
Current State: Waiting for Release
Released In: n/a
Target Release: n/a
Applies To: Extension
Component: BigBlueButtonPlugin
Branches:
Reported By: CrawfordCurrie
Waiting For: Foswiki:Main.ArneJoris
Last Change By: ArneJoris
The FOswiki Association board has been talking about using BBB for our next board meeting, so your plugin hit the sweet spot smile

Some first comments on the initial checkin of BigBlueButtonPlugin

  1. You have created a "core" module, but are not using it for lazy init (the init function is called unconditionally in the plugin init, which means the Core module will always be loaded). Normally you would do something like this at the top of each (macro|rest handler): unless($initialised) { require Foswiki::Plugins::BigBlueButton::Core; Foswiki::Plugins::BigBlueButton::Core::init(...); $initialised = 1 } which avoid the core loading unless it's actually used.
  2. If the requested room is not in $rooms, the BBBJOINROOMS macro crashes. You need to consider error modes on all the macros and REST handlers.
  3. There is no way to use a macro to get a list of available rooms AFAICT (BBBJOINROOM with an empty parameter to present a list of available rooms)
  4. As a general point, avoid global variables. They tend to cause a lot of trouble in persistent environments e.g. fastcgi, mod_perl
  5. Great initiative!

P.S I added your plugin to the list of "supporting software" in the BBB page on Wikipedia, so the eyes of the world are on you wink

-- CrawfordCurrie - 19 Nov 2010

the baseUrl must end with /api

$Foswiki::cfg{Plugins}{BigBlueButtonPlugin}{baseUrl} = "http://test-install.blindsidenetworks.com/bigbluebutton/api";

-- MichaelDaum - 19 Nov 2010

I am very glad to hear there is some interest in this plugin, I think foswiki + BBB can be a fantastic combo.

  1. For the lazy init: should it delay init until either a REST method is called, or one of the macros is used?
    • Yes. C.
  2. Yes crashing is clearly bad, I'll work on that
  3. There's a REST call to get all rooms, but my limited imagination didn't give me a good use case for providing a macro to do the same. How would you use it ?
  4. I will look into getting rid of global vars.
  5. Thanks! I would really like to make a 'promotional' video, showing the power of having meeting rooms built into a wiki. But demonstrating great collaboration is difficult all by yourself, so any volunteers for working on a script to highlight exactly how and when this would be used or volunteers to star in the video would be greatly appreciated!
    • I'm sure our marketing leader, MichaelDaum, will be able to suggest an approach. It's clear from our playing with BBB that it's primary purpose is presentation rather than collaboration, and that it still has some bandwidth issues. But having said that, it's a great tool. - C.

-- ArneJoris - 20 Nov 2010

To make the plugin deal with server objects rather than with global variables, I have moved Core.PM to BBBServer.pm. The main module now checks for undefs and should not crash anymore, lazy init has been implemented and the BBBJOINROOM now returns a list of rooms when called without any arguments.

-- ArneJoris - 29 Nov 2010
 
Topic revision: r10 - 29 Nov 2010, ArneJoris
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy