Designing E-Learning 3.0 in gRSShopper - 6
E-Learning 3.0 - Part 1 - Part 2 - Part 3 - Part 4 - Part 5 - Part 6 - Part 7 - Part 8 - Part 9 - Part 10 - Part 11 - Part 12 - Part 13
I've just finished sending off the ethics review board (REB) documents for research ethics review. This is something I should have done in August, not October, and something that was done in all our previous MOOCs, but by someone else more competent than me. So if you're wondering why we haven't started surveying you, that's why.
Recall from the previous part of this series that videos were created and displayed on the Course Videos page. I've made more videos since then and the page is getting pretty long. Also, I wanted to be able to put videos on the Event page and even on the Modules page. How to do that?
The answer, of course, is keylist. I need to associate each video with an event, and with a module. I could do this in either the Media Editor or the Event Editor and Module Editor. Doing it in the Media Editor is easiest, though it's straightforward to support both approaches. So I'll throw some Jxck Kxlly on Google Music and get going.
First, I'm going to have to give in and create a form for the Media Editor. So I go into the Form Editor and create one.
|Figure 70 - Media form in Form Editor|
Here are the resulting Edit and Resources tabs from the Media Editor:
|Figure 71 - Media Editor, Edit tab|
|Figure 72 - Media Editor, Resources tab|
- you enter the name of the item (the Course, the Module or the Event) into the field and click the 'Submit' button that appears
- gRSShopper looks for the record of that type with that name.
- - if it finds it, it creates a graph entry associating the Media and the (say) Course
- - if it doesn't find it, it creates a new record (a new Course, say), and then creates the graph entry
- It displays the record with an Edit link (to go edit that record) or remove (to remove the association, but not the record).
That's always served me pretty well, but it is awkward to always be cutting and pasting titles, and it's really annoying to have to to it for things like Module, where there are only 11 possibilities. Also, what if you don't know the title? Or don't know if you simply got the title wrong and created a new item when you shouldn't have (I do that with author names a lot).
Here's the plan:
- for lists fewer than 26 elements, a dropdown (and also an area where I can add a new item to the list)
- for lists fewer than, hm, 500? elements, a Typeahead
- for longer lists, a form to page, plus a search/lookup feature
I won't be able to do all of that now. Indeed, I can't do any of it, because I have more pressing issues. So onto the roadmap it goes to fix later.
Videos in Events
We've mostly done this already. Here's the relevant code in the event_html View:
So all I need to do for each media is to add the name of the event, if it's associated with an event (not all media are). This will create a nice YouTube embedded video in the event page. So I'll do that (would be so much easier with a nice drop-down).
Here's a sample event page with the video:
|Figure 73 - Event Page|
Videos in Modules
Now for the modules. It's basically the same process - I need to associate the video with the module, then display the video(s) on the module page. But I don't want to display embedded videos, because that will make the Module page too heavy. So I'll need a new view.
So I create the view:
|Figure 74 - media_outline View|
|Figure 75 - module_html View|
The line in yellow is what I added. Notice that the format is 'outline', corresponding to the view I just created.
As I look at this, I think I should add a heading= element to each of the keylist commands, to replace the
section titles (and that way, if there are no utems to display, the tritle won't be displayed). On the list to fix. Also, maybe I should allow for some search parameters in keylist. After all, I don't want all Media associated with this module, just the videos. Oh well - I just change the title for now and put it on the roadmap.
Next I actually associate the module with the media (normally I'd just do this when creating the media record).
|Figure 76 - Media Editor, Resources tab|
And here's what the output looks like on the Module HTML page:
|Figure 77 - Module HTML Page|
The requested URL /media/9418 was not found on this server.Why would that be?
I quickly realized that it was the .htaccess file. We covered .htaccess in Part 2 of this seriees. But as happens so many times, we're back to it again. What happened was, we're working with a different data type, 'Media', and there's no redirect for Media in .htaccess.
|Figure 78 - .htaccess with new text for media redirect|
|Figure 79 - media_html view|
Why do it this way? Well first, I only want to define the YouTube viewer once. But second, if this media is not a YouTube video I don't want the viewer to display at all. So I use the keyword command, which has the effect of saying if this media is type=youtube then display it in format=youtube.
So I'll put the rest of the videos into their respective modules, and then I'm done this bit.