Issue Details (XML | Word | Printable)

Key: MDL-16650
Type: Sub-task Sub-task
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Dongsheng Cai
Reporter: Martin Dougiamas
Votes: 0
Watchers: 1
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Moodle
MDL-13766

Need a solution for returning raw URLS (eg Youtube videos)

Created: 24/Sep/08 04:04 PM   Updated: 05/Dec/08 11:02 AM
Return to search
Component/s: Repository API
Affects Version/s: 2.0
Fix Version/s: 2.0

Participants: Dongsheng Cai and Martin Dougiamas
Security Level: None
Resolved date: 05/Dec/08
Affected Branches: MOODLE_20_STABLE
Fixed Branches: MOODLE_20_STABLE


 Description  « Hide
For repositories like Youtube we can't download the content. We need to download the URL to the content and store it somehow, either as a plain URL (processed by filter later) or as some parameters to an Object tag or something ...

 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Martin Dougiamas added a comment - 16/Oct/08 05:26 PM

Dongsheng Cai added a comment - 20/Oct/08 09:42 AM
To return a RAW URLs, you need to rewrite get_file function in repository plug-in
function get_file($url, $title){
return $url;
}
Then you will get the url of the resource in form or editor.

Martin Dougiamas added a comment - 20/Oct/08 10:45 AM
Can you explain how that will work overall?

How does the calling form (eg some module) specify that it requires a URL or a file ref, and after that, how does that determine which repository plugins that you see? (Or how they behave if they can support file ref AND URL?)


Dongsheng Cai added a comment - 23/Oct/08 12:06 PM
When you click "select this file" button, file picker will send a download request to repository api, normally, get_file will return the path of the downloaded file, and tell file picker the name and itemid of the file, if get_file return a raw url, itemid will be replaced by raw url (or text format which we talked last week, this will need further work).

Dongsheng Cai added a comment - 23/Oct/08 12:32 PM

Martin Dougiamas added a comment - 25/Nov/08 03:08 PM - edited
For Youtube, we need a filter that will convert links like this:

<a href="http://au.youtube.com/watch?v=ZdVHZwI8pcA">Youtube video</a>

(where the text and domain might change and possible extra parameters might be added) ... to this (very specific XHTML strict code):

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/ZdVHZwI8pcA" width="320" height="267"><param name="movie" value="http://au.youtube.com/v/ZdVHZwI8pcA" /><param name="FlashVars" value="playerMode=embedded" /><param name="wmode" value="transparent" /></object>

I've made a working example here: http://test.moodle.org/youtube.html

Can you come up with a filter (in fact we could add it to the medialinks filter)? It would help testing...


Martin Dougiamas added a comment - 25/Nov/08 04:57 PM
I started looking at it and before I knew it I'd done the filter in HEAD

Dongsheng Cai added a comment - 25/Nov/08 07:52 PM
I have to modify 1 file of tiny_mce, I documented it in lib/editor/tinymce/moodle_readme.txt, the patch is attached there.

You don't need to choose another "youtube" in media dialog(this need to modify more files and more lines), I added a function to identify youtube url, and return html code properly.


Dongsheng Cai added a comment - 05/Dec/08 10:51 AM
done, please review

Martin Dougiamas added a comment - 05/Dec/08 11:02 AM
Cool, taking a look now.