Possible new contrib code to enhance course findability

Possible new contrib code to enhance course findability

by Jenny Gray -
Number of replies: 9

I wanted to draw your attention to some of the latest Moodle customisations that my team have been working on for OpenLearn. I'm hoping you'll consider some of these to be of wider interest either as core additions or at least contrib offerings. If so, please add your voice here, so I can arrange things with Martin D.

They're all particularly aimed (no surprises here...) at the open courseware market, and I think would be of direct relevance to the Moodle Community Hub ideas, since they mostly relate to improving the findability of courses and allowing users to make better choices about which courses they want to study.

I attended the Open CourseWare Consortium meeting in Spain in May and spent a great deal of time talking to other Consortium members about these customisations and our use of Moodle in general for Open Content delivery. There was a lot of interest in these customisations, so I hope you'll be interested too.

1. RSS feeds

We're offering an RSS feed of the entire list of units on the site (RSS 2.0), along with sub-set feeds for each course category. You can see these in action on http://openlearn.open.ac.uk/course/index.php. We're also doing a feed for all courses attached to the same metacourse. The versions block itself is, of course, our own customisation unlikely to be shareable. The feeds are created by cron job and live in the moodledata folders like forum RSS etc. It should be possible to offer an admin opt-in/opt-out for these.

2. Ordering and grouping courses

We've had a lot of user feedback that there are so many units on the site they don't know where to start. Many users want to just see the introductory material, others just the short stuff. Time and Level are extra fields we've added to the course table. The new course/filter.php page allows users to choose how to group the results of listing all courses - by time/level/category/title/release date. See http://openlearn.open.ac.uk/course/index.php and play with the options at the top. Editing currently still takes place on course/category.php, as it was simpler for us to create the new functionality that way - but it wouldn't be too difficult to integrate into a single page.

3. Advanced course searching

In line with the ordering and grouping work we've added an advanced search form which searches for courses in the normal way but adds filters based on release date/time/level etc. See http://openlearn.open.ac.uk/course/advancedsearch.php 

Looking forward for the next 6 months, one other key customisation that we're planning to make is in adding a "folksonomies" approach to categorising courses. Essentially we'll allow users to tag courses, and show a tag cloud for each course/all courses in a category/all courses in the search results/all courses on the site... Longer term I'd like to extend this to tag individual resources/quizzes etc, and allow searches like "see other people who've tagged with this term" and "see other tags by Fred" but I can't get all that done quickly enough!! All this copies from the blog tagging, and leverages the design behind that to tag other things, but I'll write new blocks rather than overload existing ones. Please let me know if this is an area which interests you, as I'm keen for this to be taken up by the community in due course. I have a spec document I could share with any-one particularly interested, but this is a long enough post, so I won't go into more detail here!

I'm also planning some enhancements to myMoodle to allow it to show user participation in more detail, but that's all a little rough at this point. No doubt I'll pester you about that some other time!

Finally we've written a Related links block. This is a new block which offers links in three groups, 2 of which are controlled by different permissions than the third. This allows us to have admin/teacher controlled links to related OU material, but with a third group for public contributions. The links are individual to a course, names of each group are set in the language pack. You can see them as the "Related Educational Resources" block on any unit home page e.g. http://openlearn.open.ac.uk/course/view.php?name=B680_1. At present we've not opened up the editing interface for the third group, as we've not yet coded appropriate user tracking (in case they change each other's content, and to monitor spammers), but if you're interested at this stage, I'll keep you informed. I realise there are other ways already of doing this, like the database module or a few other contrib blocks, but there weren't any that met our exact need offering user collaboration and links per course rather than across the entire site.

So, I'd be really interested in what you think about all of this. Is any of it useful to some/all of the rest of the Moodle community?

Jenny

Average of ratings: -
In reply to Jenny Gray

Re: Possible new contrib code to enhance course findability

by Anthony Borrow -
Picture of Core developers Picture of Plugin developers Picture of Testers
Jenny - Thanks for all your work at supporting open learning. The idea of open content and making course materials more available certainly seems to fit with what I envision to be the next "wave" of Moodle. Moodle provides the tool and now that folks are building up learning resources we can start using that tool to share and improve how learning takes place. The idea of using tags is an interesting way of categorizing courses and I think it has some great potential uses. I am hoping to setup a Moodle server in which teachers from any of our schools can contribute content. Being able to tag the course and the resources/activities with a keyword and then search by that could be really interesting. I know that in University and even now in high school settings the idea of cross-curriculum learning has been growing (at least I'm hearing more about it) and sensing a push for it. This could help move us beyond rigid categories and provide greater flexibility and make Moodle more socially oriented which as I understand it is part of the goal. Much of this strikes me as similar to work being discussed at:

http://docs.moodle.org/en/Student_projects/Social_Networking_features

If you have not read that I would certainly encourage you to and to begin playing with the code in 1.9. In some ways I can envision logging in to a "Moodle Learning Center" and signing up by identifying my areas of interest and having a list of courses automatically displayed tailored to my ability (level), interests, etc. Keep up the cool work!

Peace - Anthony
In reply to Jenny Gray

Re: Possible new contrib code to enhance course findability

by john ellingsworth -
Jenny

Could you provide the script(s) you use to generate the RSS feeds?

I am interested in creating an RSS of the latest resources that have been added to our site and would like to use something that works, if available publicly, or would welcome suggestions on how to do so if it can be done within the application itself.

Regards,

John Ellingsworth
In reply to john ellingsworth

Re: Possible new contrib code to enhance course findability

by Jenny Gray -
I'll add it to the list of things to package up!

In brief now though, we've added a call to course_rss_feeds() in our cron function. That's in the courserss.php file attached. This file comes with an "OU only" warning. In our system there's some code that helps us handle the fact that we run the same codebase on 3 different servers which all act slightly differently. I think I've hacked most of it out, but I haven't tested it. At the very least this will give you the structure of how we pick all the updated units etc

We've also extended the core RSS library to support the Dublin Core and Creative Commons RSS modules. I won't bother including this here, but if any-one is interested, then I can do another post.
In reply to Jenny Gray

Re: Possible new contrib code to enhance course findability

by Arturo González Ferrer -
Hello,

We would need that Dublin Core/Creative Commons extension for RSS in order to set up a new OCW site (the RSS harvester seems to use DC tags).

Would you mind attaching them here?

Thanks!
Arturo González.

University of Granada.
In reply to Arturo González Ferrer

Re: Possible new contrib code to enhance course findability

by Jenny Gray -
Attached is my customised rsslib.php from the lib folder.

The tracker issue for the course RSS lists is here MDL-13248, with a patch. We're intending for this to be in the core Moodle product for 2.0. I'm not sure if it will run straight away on the 1.9 Moodle - you will probably need a developer to tweak it to get it working for you.

The customised rsslib.php gives you three extra parameters on the rss_add_items function which if you set the first two to true where the function is called in course/rssfeeds.php will add the dublin core metadata for you.
In reply to Jenny Gray

Re: Possible new contrib code to enhance course findability

by Arturo González Ferrer -
There are some methods that are missing, and having a look at the patch you linked, I suspect that it is not inmediate to adapt it to 1.9. So I think we will create the file manually, waiting for the next release.

Thank you very much anyway smile



In reply to Jenny Gray

Re: Possible new contrib code to enhance course findability

by Daniele Cordella -
Picture of Core developers Picture of Plugin developers
The best moodle site I have never seen.
What I also find really useful are the "Unit Outline" block and the "Alternative Formats" block for the offline navigation (really needed for a huge percentage of students). Please share them on modules and plugins. On the same topic... did you ever think to a way to provide an online tool to let the user download the html category/course/resource/activity page in PDF?
Really great the list of tools/infos added to each course in http://openlearn.open.ac.uk/course/index.php
Fantastic. sorpreso
In reply to Daniele Cordella

Re: Possible new contrib code to enhance course findability

by Jenny Gray -
Thanks for the glowing feedback big grin

The Unit Outline block is one I picked up from these forums. Its usual name is the YUI Menu block.

The "Alternative Formats" block isn't really shareable. I know it looks like its converting the Moodle course into other formats, but it isn't. All our content starts off as XML and we render it from that into the other formats including inserting into the Moodle database to make a the course itself. All the block really does is lists files with the right style of name if it can find them in the right place.

There are other projects that I'm aware of outside the OU looking at how to convert from one format to another, and we're hoping to pick up on their outputs at some point rather than have to do it all ourselves.
In reply to Jenny Gray

Re: Possible new contrib code to enhance course findability

by Frank Ralf -
Hello Jenny,

I am referring to the XML part of your posting.

I have just started working on XML FAQ for collecting all the scattered information on Moodle XML, also with the aim of facilitating importing and exporting content to an from Moodle. To that end I have also started an Import and export FAQ page.

It would be great if you would share some of your XML experience.

Kind regards,
Frank Ralf

PS:
Found some interesting resources for OpenLearn XML and put them on http://docs.moodle.org/en/User_talk:Frank_Ralf