chamilo / chamilo-lms

Chamilo is a learning management system focused on ease of use and accessibility
https://chamilo.org
GNU General Public License v3.0
798 stars 480 forks source link

BigBlueButton Plugin does not make the difference between the available recordings formats #3703

Closed GhaziTriki closed 1 year ago

GhaziTriki commented 3 years ago

Describe In the video_url column of plugin_bbb_meeting the plugin store the first available URL. It could any other available format than presentation. On the other hand it only consider one format which is problematic if you multiple format enabled on the server.

To Reproduce Steps to reproduce the behavior:

  1. Have a BigBlueButton with multiple recording formats enabled.
  2. Create a meeting and record it.
  3. Check the recordings.

Expected behavior The plugin should show the presentation format by default of possible, or all the available formats.

GhaziTriki commented 3 years ago

Any good news about this issue?

ywarnier commented 3 years ago

Hi @GhaziTriki we have our hands full at the moment. Maybe you can already extend this a little by giving us a link to how to configure BBB for multiple recording formats?

GhaziTriki commented 3 years ago

Hi @ywarnier, Same here !! Our hands are tied !!

In the following docs you will find what I am talking about https://docs.bigbluebutton.org/dev/api.html#getrecordings

...
 <format>
   <type>presentation</type>
   <url>https://demo...
...

To install another recording format just use the command sudo apt-get install bbb-playback-podcast as example.

There is more formats available in BigBlueButton, the default one is presentation but there is more like podcast, screenshare and notes. Then commercial support providers are providing more commercial recording formats like statistics, report_pdf, video_mp4 and presentation_video.

Here is an example from Greenlight

image

I an give 1 to 2 hours in pair programming to help implementing it with one of your core team members.

This implementation will make more happy users in the large community of Chamilo users.

ywarnier commented 3 years ago

Essentially, all playbackFormatType sections in plugin/bbb/lib/bbb_api.php would have to move to a sub-array structure. Noted. We'll try to work on this in the coming weeks.

GhaziTriki commented 3 years ago

@ywarnier Any good news?

GhaziTriki commented 3 years ago

@ywarnier We are interested into implementing it for very soon. We would like to have some guidance about what to do and where to do it in the code. We would like to submit a PR for the next minor release. Could you please share some thoughts about the required effort?

ywarnier commented 3 years ago

@GhaziTriki I'm not sure where to start, but here goes:

It seem like the different formats (<playback><format>) return different types of values (through the webservice - for example presentations have several <preview><images>). At the moment we only store one value in the plugin_bbb_meeting table (under the video_url field, as you said). I suggest at a first step we ignore the <preview> items, otherwise it's going to be messy.

Because one videoconference can have distinct formats, I would store them in a separate (1-to-n) table plugin_bbb_meeting_format (we usually avoid plurals in tables naming). Something like:

CREATE TABLE plugin_bbb_meeting_format (
  id int unsigned not null PRIMARY KEY AUTO_INCREMENT,
  meeting_id int unsigned not null,
  format_type varchar(255) not null,
  resource_url text not null
);

To create this table, you will need to:

GhaziTriki commented 3 years ago

@ywarnier Very clear ! Thank you very much for the exhaustive details ! It is more than enough to let us start working on this.

GhaziTriki commented 1 year ago

Included in 1.11.18 release 🎉