Plugged-in for OER

As mentioned in this recent post I’ve been experimenting with WordPress for presenting OER and have been testing a pre-release version of a WordPress plug-in, developed by the Triton project at the University of Oxford to facilitate a dynamic collection of OER in a WordPress blog.

Developer @patlockley describes the overall functionality of the plug-in here and also covers some of the limitations posed by the broader OER infrastructure here emphasising that “no standard API exists across repositories so as to facilitate a single approach to aggregation for an aggregation creator” - as well as a seperate post here considering limitations of the WordPress platform itself used in this context and associated technical considerations.

In summary the plug-in searches Xpert, Merlot and OER Commons (via their API) as well as Wikipedia, Wikibooks and Wikiversity for openly licensed material; Mendeley for journals and with options to add RSS feeds for blogs and podcasts.

Here I’ll briefly describe my experiences of using the plug-in – fairly candid in the hope that it will be useful feedback to Pat and Triton albeit with the initial caveat that any issues I’ve encountered are just as likely to be associated with my limited experience of WordPress and my shambrarian status (I simply haven’t had time to hone the search terms as carefully as I would like) as with the plug-in itself (which of course is pre-release.)

Once installed, famously straightforward in WordPress even prior to release (via FTP), you get a new “Dynamic Collection” tab in the dashboard where I can add a new collection…pretty much at random, I chose an undergraduate course from Leeds Met – Civil Engineering - around which to build my dynamic collection – it’s then just a matter of adding title and search terms, updating the feeds from the three source repositories and publishing:

This admittedly unsophisticated search returned 9 results:

Obviously the plug-in is only as effective as the keyword data / api / source repository(ies) that it is using and the fifth link here actually points at an entirely different resource (in Jorum) with no relevance to Civil Engineering, presumably due to an error at some point along it’s, er, conjugation - as the plug-in does not search Jorum directly this must have come via Xpert which does harvest Jorum. While experimenting with the plug-in I’ve also had instances where links have returned 404s or been otherwise broken so one requirement I think would be the option to remove links from the collection that are incorrect, broken…or simply less relevant; to allow the WordPress administrator fuller control of the collection.

In order to add a blog or podcast under the Settings tab, the plug-in has installed several new tabs (I don’t think the Feed management / Collection statistics / Collection tabs are yet fully functional in the version I am testing):

Under the Dynamic Collection Options there are fields to add rss feeds from blogs or podcasts:

I’ve experienced a few teething troubles adding blogs not least because I don’t know much about Civil Engineering! As I understand, it should search blog title and description for the dynamic collection keywords…I added a feed from http://www.civilengineering.co.uk/feed/ which returned this single (most recent) post - http://www.civilengineering.co.uk/2010/09/civil-engineering-issues/ (the blog, in fact, only appears to comprise 2 posts so presumably would update should any new posts be added?)

I’m very optimistic about the potential of this approach to allow WordPressing course leaders, perhaps with support from learning technologists, to quickly and easily assemble a dynamic collection of OER for their students and look forward to the formal release of the finished product* – in the meantime, in true Blue Peter stylee, here are a number of collections that Pat made earlier to give a sense of what should be possible:

http://politicsinspires.org/dynamic_collection/political-theory/

http://politicsinspires.org/dynamic_collection/comparative-government/

http://politicsinspires.org/dynamic_collection/international-relations/

http://politicsinspires.org/dynamic_collection/european-politics-and-society/

* The only caveat from my perspective is that my own institution does not formally support the use of WordPress, nevertheless, there is certainly a requirement, explicitly identified by senior stakeholders,  to develop tools to cross-search Open Educational Resources and, in this context, I think we can learn a lot from the Triton project.

N.B. Such a mechanism, however implemented via the proliferation of OER repositories and their APIs, also put me in mind of this post from Suzanne Hardy (@glittrgirl) of MEDEV and the PORSCHE project - Branding, repositories, OER and awareness raising: some thoughts on embedding OERs

See also: Delores OER – WordPress for hosting and describing learning resources (University of Bath and Heriot-Watt)

WordPressure

Motivated by this post on the OpenSpires blog from @patlockley I’ve been experimenting with WordPress with a view, ultimately, to providing a one-stop OER environment for my institution. Pat has written a plug-in that allows the WordPress admin to specify search terms to create (a) dynamic collection(s) from Xpert, Merlot and OER Commons via their APIs (also searches Wikipedia, Wikibooks and Wikiversity for Openly licensed materials, openly licensed blogs on politics and Mendeley for journals as well as political podcasts from OpenSpires.) For examples of the plug-in in action see http://politicsinspires.org/oer/political-theory/

The plug-in isn’t yet publicly available – I’m hoping that I can have a go fairly soon *waves at Pat*…I’m no WordPress developer and am just finding my way round a test install of the platform, experimenting by pulling in different feeds from various sources (our own repository, Jorum, HumBox) using a plug-in called FeedWordPress - http://feedwordpress.radgeek.com/. It’s dead easy to syndicate one (or multiple) feeds to a designated posts page but what I can’t figure out is how I might push different feeds to different pages so I could, say, have one page that auto-publishes from the Leeds Met repository, one from Jorum, one from Humbox etc.

Below: Syndicated posts from Jorum (HE – Architecture, Building and Planning) to a “Jorum” page…but how can I push separate HumBox and Leeds Met feeds to the respective pages?

OERtest

Friday Mash (with a little help)

This might be messy – just need to brain dump to try and figure this out. Thanks again to the Godfather of Mashed Libraries @ostephens for his help!

The problem(s):

intraLibrary RSS feeds point to resource “in the wild” rather than the record on Open Search. Like this:

http://repository-intralibrary.leedsmet.ac.uk/IntraLibrary-RSS?rss_feed_id=6a6176612e7574696c2e52616e646f6d4031393166376364&rss_2.0.xml

Owen helped me put together a simple pipe that took this feed and used regex to replace an identifier from the record and redirect to the Open Search URL (which is built from this identifier. Like this:

http://pipes.yahoo.com/pipes/pipe.edit?_id=3586ad8141869b6978d8dbef538ac01f

So far so good…however, when I originally defined my Application Profile for research in intraLibrary I used multiple instances of <lom:description> with the first holdong ISSN (frustratingly missing from intraLibraries Bib extensions) and the Abstract held in a second instance of <lom:description> meaning it isn’t exposed in an RSS feed.

So…I thought that if I used an SRU query instead as a pipe input there would be a lot more data to play with in Pipes and hopefully I would be able to build a better RSS feed – including author and abstract.

After some initial problems with Pipes taking an SRU input, Owen responded to my plea for help with this pipe that extracts title and abstract from the SRU by defining the path through the XML to the relevant fields and mapping them to title and description:

http://pipes.yahoo.com/pipes/pipe.edit?_id=2054b55b81b5b96236b6870b03bef85c

However, I still need to figure out how to link the title to the respective record on Open Search. There is a link in the XML but this is no good as, once again, it points to the resource in the wild rather than the record on Open Search…somehow I need to use the identifier to build a link to the respective record on Open Search.

<lom:entry>oai:com.intralibrary.leedsmet:3352</lom:entry>

http://repository.leedsmet.ac.uk/main/view_record.php?identifier=3352&SearchGroup=research

And frankly now I’m a bit stumped again – the regex function from the first pipe presumably needs to be in there somewhere…first vague attempt (doesn’t actually return any output – but this is a brain dump!):

http://pipes.yahoo.com/pipes/pipe.edit?_id=00bc8c1cd13fc852d2fb8d0da7defdd4

Ongoing RSS issue

To cut a long story short, I run RSS feeds from intraLibrary through Yahoo Pipes to redirect to the metadata page on Open Search – http://repository.leedsmet.ac.uk/main/index.php

However, due to the way I initially mapped intraLibrary LOM, the abstract is held in a second instance of the description field so my RSS feeds are just title (I’ve got ISSN in the first which I hide)…sure there must be a way to produce an RSS feed from an SRU query including this field using Yahoo Pipes…this is the SRU query:

http://repository-intralibrary.leedsmet.ac.uk/IntraLibrary-SRU?recordSchema=lom&operation=searchRetrieve&version=1.1&maximumRecords=10&startRecord=1&query=rec.collectionIdentifier=Carnegie&x-info-2-auth1.0-authenticationToken=research

Anybody help?

End of a pipe dream?

I’ve been enjoying exploring Yahoo Pipes and have now managed to generate a feed for OER that also incorporates the author vCard; I’m sure it must also be possible to extract other data including rights information (though I’m not quite sure how!):

http://pipes.yahoo.com/mrnick/build_rss_from_xml

(vCard not visible in the Pipe but is displayed if the Pipe is rendered as RSS)

It also occurred to me that it may be possible to use a similar method to extract the abstract for research RSS feeds (which is in the second description field) and I’ve been grappling with Pipes to this end but am struggling at the moment – tantalisingly I am able to construct a “Path to item list” that returns an individual abstract but for the life of me, can’t figure out how to return abstracts for all records – SRW:records.SRW:record.1.SRW:recordData.lom:lom.lom:general.lom:description.1.lom:string.
content

I’ll certainly continue to use Pipes as it’s a very powerful tool, especially for a non-programmer like me, however, for the time being this mini-project is postponed. Nothing is ever wasted though and I’m sure what I’ve learned will come in useful somewhere down the line….

Pipe dream

This afternoon I’ve been grappling with Yahoo Pipes, trying to generate a feed that incorporates metadata from an SRU query.  I’ve made a modicum of progress and, as I’m now a bit stuck, this is just a quick post to document that modicum before it all leaks away over the weekend.

The Pipe module that seems most appropriate is “Fetch Data”: “This module retrieves any XML, JSON, iCal or KML file and tries to extract a list of elements using the provided path parameter.”

I input an appropriate URL to query “ukoer” which will return all OERs uploaded as part of UniCycle:

http://repository-intralibrary.leedsmet.ac.uk/IntraLibrary-SRU?recordSchema=lom&maximumRecords=50&operation=searchRetrieve&version=1.1&query=ukoer&SearchSubmit.x=18&SearchSubmit.y=24&x-info-2-auth1.0-authenticationToken=oer

And read the instructions here which describe how to use the “Path to item list” field in order to extract just a portion of the data by listing the nested XML elements, separating each with a dot (“.”)

After a bit of trial and error I was able to zero in on the “Description” field for the first record by entering SRW:records.SRW:record.0.SRW:recordData.lom:lom.lom:general.lom:description.lom:string.content into “path to item list”

However, when I attempt to run the pipe, nothing is returned  – though the correct field IS displayed correctly in the debugger panel:

Also, what I would like to do of course, is to return the “Description” field for ALL records but I have no idea how to achieve this…I’ll have another look when I’m nice and fresh on Monday morning!

Follow

Get every new post delivered to your Inbox.