If you read ed tech blogs, especially the ones I read, then conversations about “open content” and “open education” feel like they have been going on forever. Indeed, at the Open Education conference this year, we celebrated 10 years of Open Education, so it’s been at least that long.
But my experience travelling around my own province for the last few years is that OER is still not a widely publicized phenomenom, and that faculty and ed tech support staff are still living with “scarcity mentalities” when it comes to the availability of free and open educational resources.
So as one small step to address this, we built this new site, Free Learning. There are many other good OER portals out there. If faculty and students were already using these, then we wouldn’t have a problem. But, in my experience, they are not, and as someone who works for the Province of BC, I have a hard time justifying marketing budgets for sites like those. So we built this one, also to give more play to locally developed resources that are Fully Open.
But in building this, I did not want to create a monster we would then have to maintain forever more. I wanted something that was simple to use and provided straightforward value to end users, but was also simple (and free) for us to maintain. Thus we built the site in WordPress. Using the Exec-PHP plugin allowed us to include some additional PHP web service calls to the SOLR repository to display the Creative Commons resources there in a tagcloud, something that system does not do natively.
I am especially proud of the OER and Open Textbook search pages. These provide a tagcloud of sites stored in Delicious, and then allow users to perform a constrained Google search over just these sites. You are guaranteed that the sites you search are explicitly “open educational resources” from high quality, well known producers. Adding new sites to the list of sites, to the tag cloud and to the Coop engine is as easy as tagging them in Delicious. Since I already do this… it means no extra work. The site ticks along simply because I am online and find new OER sites all the time.
Total time on the project (including wonderful work by my colleagues Victor Chen and Eric Deis) was maybe a week. The bigger job now is getting it known and used around the province. I demo’d it to folks from around BC at the “Learning Content Strategies” meeting we held last Friday. Hopefully that is the start. And we also mentioned that this site could itself be a service for them – using WPmU, we can easily spawn another version of this site that responds to their own domain name, with their own branding, yet still uses the same background engine (meaning their effort is almost none, if that’s what they want). The cost is close to zero, but for our trouble they get a custom branded OER portal they can market to their own faculty. See – I DON’T CARE if you use THIS site or SOME OTHER SITE. I just care that people ACCESS OPEN EDUCATIONAL RESOURCES. And if re-branding this makes it easier for them to sell this to the people they support, great. I’ll happily provide you a version, or give you any of the code. That is what building it on top of open source technologies (and freely available services) allows us to do.
Please have at ‘er, let me know if it is useful, or any criticisms or complaints you might have. After all, we aim to please. – SWL
14 thoughts on “BCcampus OER site – Free Learning”
Genius Scott, pure and utter genius. This is the future my friend, just clone a front page for another institution and let them map a domain and everyone can focus on getting the word out. Awesome stuff!
Good stuff. When the link went around on Twitter I immediately forwarded it to a couple of co-workers and pointed out the OER and Open Textbook search pages because they were a slick, practical use of the delicious/google coop combination in the wild. Nice work!
Scott — this is very cool — both the site and your ideas on ownership.
And I’m curious: how did you get the list of sites from delicious? I’m assuming it’s using their API, but if you could break down the process for us mortals, that would be awesome.
Bill, I’ve asked Victor to answer that one as he did the coding; initially I had just used the tagcloud embed that delicous offers, but clicking on any term brings you direct to the delicious site. We felt this was too confusing for users, so we re-did it in PHP against the delicious API, but I will let Victor elaborate.
Also, a note for anyone who’s interested – the site is also available now at the shorter url http://freelearning.ca
For WordPress gurus out there – is there a way to get WordPress to serve up the site at both these URLS (http://freelearning.bccampus.ca/ and http://freelearning.ca/) that’s *NOT* simply a re-direct. Seems like you need to code a single URL into WordPress that is the site’s actual address. We have freelearning.ca entered in DNS to go to the same server, and then are using Apache to redirect it to the other address, but what I’d ideally like is just for both to work. Is that possible?
Hmmm, that is an interesting question about having both working With the mapping I have been playing with, you could use Donncha’s mapping plugin, and just clone the site at a new subdomain, then map the freelearning.ca url there. It would retain it’s unique address that way, but the cloning may be a pain if you did a lot of customization and people are commenting, etc. In other words, they wouldn’t point to the same site, but the same exact content n two sites within the same app.
Notes of using Delicio.us on freelearning.ca.
Four items total.
1. Tag clouds – (tags under openlearning)
http://feeds.delicious.com/v2/json/tags/openlearning returns a JSON string like:
It is very easy to convert the string into tag clouds.
2. Resources under the tag (openlearning/jobs):
This will return a xml file
3. Using CURL lib to send request and download data from remote server.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “http://feeds.delicious.com/v2/json/tags/openlearning”);
curl_setopt($ch, CURLOPT_HEADER, 0);
$return = ob_get_contents();
Then in your PHP code, you can manipulate $return as a standard string.
4. Convert XML into html by using XSLT libraray
$xml = new DOMDocument;
$xsl = new DOMDocument;
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
$htmlstring = trim($proc->transformToXML($xml));
Now you can print out $htmlstring at any part of your php page.
Victor, thanks for the detailed summary of how you got this to work.
As Scott said, thank you for sharing this out — this is very useful information.
Comments are closed.