The ability to track open educational resources (OERs), when they are distributed for example via RSS or as IMS Common Cartridges, was a live topic at the recent CETIS conference – OER technical roundtable session, and is part of OLnet research question 5. Jenny Gray and I are taking part in a JISC CETIS online seminar Thursday, 19 November, where I hope we can touch on the ideas below.
The problem: there is little evidence for how, how frequently and where open educational resources are being used and reused. Evidence would be useful for many reasons including research into topics like quality and usefulness, and when applying for funding and resources.
Acknowledgements: Will Woods was supportive of the initial idea. Jenny Gray suggested using a Creative Commons license icon as the image - thank you!
Suggestions for requirements:
An example of suggestion 3, distributed via an RSS feed (Unit A180 RSS feed, OpenLearn). The example server-side script at http://olnet.org/track will receive HTTP headers including the "referer" and user-agent. From the referer, the IP address and approximate geographical location of the server that hosts the embedding page can be deduced, for example via online IP-location services.
<?xml version="1.0" encoding="UTF-8"?> <rss xmlns... version="2.0"> <channel> <title>RSS Feed for the unit Aberdulais Falls: a case study in Welsh heritage</title> <link>http://openlearn.open.ac.uk/course/view.php?name=A180_2</link> <copyright>http://creativecommons.org/licenses/by-nc-sa/2.0/uk/</copyright> ... <item> <title>Introduction <link>http://openlearn.open.ac.uk/mod/resource/view.php?id=360826 ... <description><![CDATA[<div id="content"> <h2>Introduction <p class="paradefault">This case study, which is taken from the Open University course <i>Heritage, whose heritage? (A180), ... <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/"><img alt="Creative Commons License" style="border-width:0" src="http://olnet.org/track/openlearn/unit/A180_2/resource/360826/i.creativecommons.org/l/by-nc-sa/2.0/uk/80x15.png" /></a> </div> ]]></description> ... </item> <item> <title>1.1 Background <link>http://openlearn.open.ac.uk/mod/resource/view.php?id=361730 ... <description> <h2>1 Aberdulais Falls</h2> ... <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/"><img alt="Creative Commons License" style="border-width:0" src="http://olnet.org/track/openlearn/unit/A180_2/resource/361730/i.creativecommons.org/l/by-nc-sa/2.0/uk/80x15.png" /></a> </div> </item> ... </channel> </rss>
A sample HTTP image request, showing "Referer" and "User-Agent" HTTP headers that are routinely added by your browser:
Request Headers, for the image http://upload.wikimedia.org/wikipedia/commons/0/07/Waterhouse_miranda_th..., contained within the page http://olnet.org/node/143
Host: upload.wikimedia.org User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 Accept: image/png,image/*;q=0.8,*/*;q=0.5 Accept-Language: en-gb,en;q=0.7,zh-cn;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://olnet.org/node/143 If-Modified-Since: Sun, 08 Mar 2009 18:16:57 GMT If-None-Match: "24eca-49b40b99" Cache-Control: max-age=0
Some PHP/pseudo-code to log tracking data and generate the image. Obviously there needs to be some (separate) code to generate the elements for RSS feeds and other distribution channels.
<?php
function track(array $segments, string $filename, string $ext) {
$data = array(
'repository'=> $segments[1],
'course' => $segments[3],
'unit' => $segments[5],
'referer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL,
'user_agent'=> isset($_SERVER['HTTP_USER_AGENT'])? $_SERVER['HTTP_USER_AGENT']: NULL,
#...
'timestamp' => time(),
);
$image = array(
'host' => $segments[6],
'license'=> isset($segments[8]) ? $segments[8] : NULL,
#...
'size' => $filename,
'type' => $ext, #And/or "Accept" header.
);
$data = host_to_geo($data);
db_insert_tracking($data);
no_cache();
render_image($image);
#header('Content-Type: image/png');
#...
}
?>(From a Google Doc, N.D.Freear, OLnet/The Open University, 17 November 2009.)
Comments
Web bug
So, the idea of an embedded image presented above, is called a Web bug, tracking bug, tracking pixel.
It's also worth pointing out that Google-Analytics, and Piwik are actually wrappers around a "Web bug" that:
Piwik looks very interesting. More notes later, from the CETIS online seminar that happened today.
Nick