bdecentgmbh / moodle-mod_videotime

The Video Time product family is a set of plugins to integrate videos into moodle courses.
http://bdecent.de/videotime
Other
10 stars 5 forks source link

Embed call to vimeo includes video_description unnecessarily resulting in URI too long #32

Closed dmsanter closed 2 years ago

dmsanter commented 2 years ago

When calling to embed the video, the plugin calls the vimeo URL using a huge amount of paramaters, many of which I cant see a need for - but importantly, the video_description paramater and intro paramater includes a full html version of text included in the Intro and Description fields in the activity instance.

When these text fields get beyond a certain length, the API responds with: Error: URI Too Long

Simply removing all four paramaters (intro, intro format, description, description format) from the call and executing it in the browser returns the desired video and removes the error.

Things like the course name, course id etc seem superfluous.

Also, URL seems to be included twice.

Below are the fields included in the call from my system. I am using the latest verison of the plugin.

https://vimeo.com/api/oembed.json? url= &domain= &id= &course= &name= &intro= &introformat= &vimeo_url= &video_description= &video_description_format= &timemodified= &completion_on_view_time= &completion_on_view_time_second= &completion_on_finish= &completion_on_percent= &completion_on_percent_value= &autoplay= &byline= &color= &height= &maxheight= &maxwidth= &muted= &playsinline= &portrait= &speed=0 title= &transparent= &width= &responsive= &label_mode= &viewpercentgrade= l&next_activity_button= &next_activity_id= &next_activity_auto= &resume_playback= &preview_picture= &show_description= &show_title= &show_tags= &show_duration= &show_viewed_duration= &columns= &intro_excerpt= &show_more_link= &url=

stefanscholz commented 2 years ago

Hi @dmsanter

Thanks for reporting this issue.

Could you please explain when exactly the issue occurs and how to reproduce it.

Please also include the exact version of moodle and version of the video time plugin(s) you're using. ("Latest" could mean several things because we have a stable published version which is 1.4, a release candidate which is published 1.5 and a dev version availability on GitHub which is 1.6 😊)

All the best Stefan

dmsanter commented 2 years ago

Thanks for the quick resposnse @stefanscholz.

[Moodle] 3.10.1+ (Build: 20210219) mod_videotime 1.4.0 (2021072700)

1) Create an instance of a videotime activity with a vimeo link. As far as I can tell, the exact config is not important. Save the activity.

View the activity and the video should appear.

2) Edit the activity and paste an approximately 1000 word description into the Video Description field. (In our use case this is a text transcript of an approximately 7 minute video)

View the activity and the video is no longer visible.

The back end is serving the video, and the relevant embed appears in the DOM, but the API call that is issued returns an error, as the description (in this case 977 words) is being transmitted as part of the call.

I can see the Error: URI Too Long in the console.

If i copy that call and paste it direct into the browser, I see the error.

If I edit it and remove the video_description (or all 4 fields relating to intro and description), the call works and returns.

stefanscholz commented 2 years ago

@dmsanter thanks for the details. I'll check with the developer. And keep you posted.

Side note: have a look at the release candidate (1.5 RC) - the information tab (which is visible next to the video on desktop and below on mobile) might be a good place to put the transcript.

We also have an interactive transcript which is automatically pulled from Vimeo captions, which you can see on our video time demo site, for example in this course: https://videotime.bdecent.de/mod/videotime/view.php?id=61517)

dmsanter commented 2 years ago

Thanks, will take a look at 1.5.

dmsanter commented 2 years ago

Perhaps just incompatibility with the RemUI theme, or an RC issue.

The "Watch" tab label doesn't render, and controls have disappeared from all videos meaning they only play if the user things to click on the video and hit space. After upgrade, I need to edit every videotime instance in the site to re-enable controls.

Screenshot 2022-02-14 at 8 49 07 AM

When I click the "Information" tab, the transcript appears to the left of the video, and being 1000 words is about 5500 pixels or 5 1/2 screens long.

Screenshot 2022-02-14 at 8 49 18 AM

Can you point me at the documentation that would allow us to customise per the example you provided: https://videotime.bdecent.de/mod/videotime/view.php?id=61517#watch-54594

Thanks

stefanscholz commented 2 years ago

Perhaps just incompatibility with the RemUI theme, or an RC issue.

That's most probably due to how RemUI renders the active tab/pill. Requires a little CSS fix to make the title visible — something like: .videotimetabs .nav-pills .nav-link.active, .videotimetabs .nav-pills .show>.nav-link { background-color: #5a40b0 !important; // replace with your primary color } OR .videotimetabs .nav-pills .nav-link.active,.videotimetabs .nav-pills .show>.nav-link { color: #5a40b0 !important; // replace with your primary color }

The "Watch" tab label doesn't render, and controls have disappeared from all videos meaning they only play if the user things to click on the video and hit space. After upgrade, I need to edit every videotime instance in the site to re-enable controls.

We're aware of that - one of the main reasons why we published a RC. Due to the new embed options available, things can change when upgrading from 1.4-1.5 and I wanted to get some feedback from customers before we release 1.5 officially.

When I click the "Information" tab, the transcript appears to the left of the video, and being 1000 words is about 5500 pixels or 5 1/2 screens long.

Try adjusting the defaulttabsize setting. For your usecase, large panel width is probably more appropriate. (that should give the information tab's content about 75% of the width and only 25% for the video. Students can adjust the ratio, see the following loom: https://www.loom.com/share/28e6f396725e43aba50d16ca57548d64 We haven't decided yet if that's something that we want to actively promote to students, maybe using a user tour, or using an additional interface element (e.g. buttons to pick pre-selected ratios: 50/50, 25/75, 75/25 etc.) Another reason for the RC route.

I assume you're using the free version of Video Time (because you don't use the global settings to set defaults/enforce settings from the pro version) — the dynamic transcript is only available in the Business version. It requires the API integration which is at the core of the Business version. If you're interested in it, let me know, happy to give you a demo!

Thanks a lot for reaching out to us and providing feedback!

stefanscholz commented 2 years ago

Hi @dmsanter, could you please confirm if the issue is still occurring on video time 1.5? Thanks a lot!

dmsanter commented 2 years ago

Confimed the issue is fixed in 1.5, thank you.