General plugins

BigBlueButton Recordings Plugin - Cannot hide individual recordings

 
Picture of Romeo Sulzer
BigBlueButton Recordings Plugin - Cannot hide individual recordings
 

In the latest version of the BigBlueButton recordings plugin 1.2.0-rc1 (2015080603), I cannot hide/unpublish individual recordings, I've tried as a global administrator as well as with a teacher's account.  When I use the global admin account, I get a javascript error when I click the unpublish icon:

Action: unpublish
module.js (line 1)
Script node data failure

/mod/bigbluebuttonbn/module.js

When trying to do the same using a teacher's account I just see an endless spinning wheel, the recording never gets unpublished.

We're using Moodle V 2.9.2 and BigBlueButton 0.9.

Any hints are highly appreciated!

 
Average of ratings: -
Picture of Jesus Federico
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
Particularly helpful MoodlersPlugin developers

Hi Romeo,

I don't see a problem in the code. Take a look to this video. It shows the publish/unpublish actions done by both an Administrator and a Teacher. 

There are two parts in this video. In the first part both actions (publish and unpublish) are executed by both users (Administrator and Teacher) using our (Blindside Networks) private infrastructure. There is a delay when executing the action because the way we queue the actions. But still the action is executed.

In the second part I am using test-install (the server that comes pre-configured by default) and the actions are executed immediately. There is no queue for the requests because it is a single server.

Because the response you are getting you may want to activate the console and see if there is another error triggered.

Also, you may want to add this two lines:

error_log('Took ' . $this->info['total_time'] . ' seconds to send a request to ' . $this->info['url']);       error_log($this->info['http_code']);

To the file 

/yourmoodleroot/lib/filelib.php


In the line 3182

Right after

$this->info  = curl_getinfo($curl);


This way you can see in the logs if the Bigbluebutton server is responding correctly to the requests.

Note that there is a verification made after the request is sent. Chances are that your server is not processing the request correctly. But first you need to discard any javascript or plugin problem. try using test-install to see if that works.





 
Average of ratings: -
Picture of Jesus Federico
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
Particularly helpful MoodlersPlugin developers

Here is the video:



 
Average of ratings: -
Picture of Romeo Sulzer
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
 

Dear Jesus,

Thank you so much for looking into this issue!

I will troubleshoot using your recommended steps and will report back here.

Cheers,
Romeo

 
Average of ratings: -
Picture of Romeo Sulzer
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
 
Dear Jesus,

Here are my first findings:

If I, as a global admin, go into the BigBlueButtonBN activity and click on the unpublish icon on any recording, the wheel starts spinning in an endless loop.  The console shows the following:

Action: unpublish    module.js:1
unpublish requested     module.js:1

I've inserted the additional curl logging into filelib.php and now see that the server is repeatedly polling the BBB API.  I've attached an excerpt of the error log to this post.  This seems to repeat itself indefinitely.

When I open the following request directly in the browser:
http://our-bbb-server.com/bigbluebutton/api/getRecordings?meetingID=0f04cfd6a14124a9476a2515e60c7a55-423-76&checksum=checksumanonymized

I get the following response:

<response><returncode>SUCCESS</returncode>

followed by the meeting's details, including the recording id.   Do you have any idea what could have gone wrong here?

Thank you very much.

Kind regards,
Romeo


 
Average of ratings: -
Picture of Jesus Federico
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
Particularly helpful MoodlersPlugin developers

If you are getting up to this point, the plugin is working as expected.

Action: unpublish    module.js:1
unpublish requested     module.js:1

The client is pooling the recording and it will keep doing that until the status of the recording changes.


>I get the following response:

<response><returncode>SUCCESS</returncode>

>followed by the meeting's details, including the recording id.   Do you have any idea what could have gone wrong here?


Well, yeah, this is exactly what I would need to see. What is the status of the recording is it published or unpublished? It must be still published each time you pull the information. If that is the case the unpublish request is not being processed in the BBB server. No idea why.


In your webserver logs, is there a URL like this 


http://192.168.23.8/bigbluebutton/api/publishRecordings?recordID=96519baea8e24e46aa105f6f9a2b3dfbc8847edf-1443643810139&publish=false&checksum=92de3fd0408b03a3eeb4c8d9336ebebfda5a9fa8

Or

http://192.168.23.8/bigbluebutton/api/publishRecordings?recordID=96519baea8e24e46aa105f6f9a2b3dfbc8847edf-1443643810139&publish=true&checksum=b21451c7736e3e720dba66b57f50b7589193dbe0

before the getRecordings are sent?

What happens if you execute manually the publishRecording request and then the getRecordings request? does the status change?

Since you are not sending all the information I am kind of blind trying to help you. You are going to need to figure out on your own what is happening with the requests.

It is simple, it must be an publishRecording request and then one or multiple getRecordings request(s). And the status must be changed after a few seconds. If that is not happening then the problem is in the BBB server.


 
Average of ratings: -
Picture of Jesus Federico
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
Particularly helpful MoodlersPlugin developers

Ok, I was able to reproduce it. It is a problem with permissions in the plugin.

I'll give an update here when is fixed.

Cheers,

JF

 
Average of ratings: -
Picture of Romeo Sulzer
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
 

Thank you very much Jesus, I appreciate it.  If you need any further info from my side let me know, I'll be happy to assist.

Cheers,
Romeo

 
Average of ratings: -
Picture of Jesus Federico
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
Particularly helpful MoodlersPlugin developers

Hi Romeo,

Can you please try these versions and let me know if they work for you? I try them out and they worked for me, but I want to make sure.

https://github.com/blindsidenetworks/moodle-mod_bigbluebuttonbn/archive/master.zip

https://github.com/blindsidenetworks/moodle-mod_recordingsbn/archive/master.zip

Thanks

JF

 
Average of ratings: -
Picture of Romeo Sulzer
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
 

Dear Jesus,

Many thanks for the updated plugins.  I've installed them, purged moodle's as well as my browser's cache but unfortunately the issues remain,  However, I had another look at the log files and it looks like that the issue is probably caused by our BBB server.

In the moodle log I see that the following URL gets called first:

http://our-bbb-server.com/bigbluebutton/api/publishRecordings?recordID=145b21aae64181f7ca4393a4a7899297badce57e-1443227456557&publish=false&checksum=anonymizedchecksum

...followed by the endless getRecordings polls.   I then executed the above mentioned link manually and got:

<response>
<returncode>SUCCESS</returncode>
<published>false</published>
</response>


Following that, I've executed the getRecordings URL manually as well:
http://our-bbb-server.com/bigbluebutton/api/getRecordings?meetingID=0f04cfd6a14124a9476a2515e60c7a55-423-76&checksum=anonymizedchecksum

and strangely the recording was still published:
<published>true</published>

So as you pointed out earlier, I suppose that our BBB server doesn't process the unpublish request for some reason?  I've had a look in bbb-web.log on the BBB server, however I couldn't find anything that indicates an error.  Do you have any idea where I should start looking?  For your reference, I have attached the XML responses of the publishRecordingss and getRecordings API calls.  If you need any further info please let me know and I'll gladly provide them to you.

Thank you very much for your assistance.

Kind regards,
Romeo

Picture of Romeo Sulzer
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
 

Hi Jesus,

My apologies, I've just figured it out, it turned out to be a permissions issue on our BBB server:

The owner/group of the folder /var/bigbluebutton/unpublished was set to root instead of tomcat7.  So as outlined here:
http://docs.bigbluebutton.org/install/install.html#transfer-existing-published-recordings-from-an-0-81-server

...the following command fixed the permissions issues and I can now unpublish/publish individual recordings without any problems:

chown -R tomcat7:tomcat7 /var/bigbluebutton/published /var/bigbluebutton/unpublished /var/bigbluebutton/recording/raw

Sorry, I should have checked this first.  My troubleshooting efforts were focused too much on the Moodle side, but thanks to your guidance I figured it out.  Thank you very much!

While we're at it, I might have discovered another small bug in the recordingsBN plugin.  Basically in the recordings list of the recordingsbn resource, under the recording date the time zone always refers to the user's local time-zone.  E.g If the recording was created on October 5, 2015 at 6 PM GMT +1 a user in a different time-zone will see his own GMT offset and time-zone name, even though the recording was not created in that time-zone , e.g October 5, 2015 6PM GMT +2.  Would you prefer that I open a new thread here or shall I open a new issue directly on github? 


Kind regards,
Romeo


 
Average of ratings: Useful (2)
Picture of Jesus Federico
Re: BigBlueButton Recordings Plugin - Cannot hide individual recordings
Particularly helpful MoodlersPlugin developers

I am glad you came up with a solution.

Regarding to the dates I just saw what you mean. It is a bug either in the configuration of the datatable plugin when it is rendered or in the plugin itself. The timezone used is actually the one you have in your browser. It is a javascript issue.

I am going to check it out and look how to fix it for the next update, which I am hoping is going to be the stable one.

In the meanwhile you can force the table to be rendered in plain html. The dates are correct there since there is not javascript trans coding timezones. 


For cases like this that we know for sure it is a bug in the plugin, you can better open an issue in the tracking system.

https://tracker.moodle.org/browse/CONTRIB/component/12232/?selectedTab=com.atlassian.jira.jira-projects-plugin:component-summary-panel



 
Average of ratings: -