Generating OpenLearn Navigation Mindmaps Automagically

I’ve posted before about using mindmaps as a navigation surface for course materials, or as way of bootstrapping the generation of user annotatable mindmaps around course topics or study weeks. The OU’s XML document format that underpins OU course materials, including the free course units that appear on OpenLearn, makes for easy automated generation of secondary publication products.

So here’s the next step in my exploration of this idea, a data sketch that generates a Freemind .mm format mindmap file for a range of OpenLearn offerings using metadata puled into Scraperwiki. The file can be downloaded to your desktop (save it with a .mm suffix), and then opened – and annotated – within Freemind.

You can find the code here: OpenLearn mindmaps.

By default, the mindmap will describe the learning outcomes associated with each course unit published on the Open University OpenLearn learning zone site.

By hacking the view URL, other mindmaps are possible. For example, we ca make the following additions to the actual mindmap file URL (reached by opening the Scraperwiki view) as follows:

  • ?unit=UNITCODE, where UNITCODE= something like T180_5 or K100_2 and you will get a view over section headings and learning outcomes that appear in the corresponding course unit.
  • ?unitset=UNITSET where UNITSET= something like T180 or K100 – ie the parent course code from which a specific unit was derived. This view will give a map showing headings and Learning Outcomes for all the units derived from a given UNITSET/course code.
  • ?keywordsearch=KEYWORD where KEYWORD= something like: physics This will identify all unit codes marked up with the keyword in the RSS version of the unit and generate a map showing headings and Learning Outcomes for all the units associated with the keyword. (This view is still a little buggy…)

In the first iteration, I haven’t added links to actual course units, so the mindmap doesn’t yet act as a clickable navigation surface, but that it is on the timeline…

It’s also worth noting that there is a flash browser available for simple Freemind mindmaps, which means we could have an online, in-browser service that displays the mindmap as such. (I seem to have a few permissions problems with getting new files onto at the moment – Mac side, I think? – so I haven’t yet been able to demo this. I suspect that browser security policies will require the .mm file to be served from the same server as the flash component, which means a proxy will be required if the data file is pulled from the Scraperwiki view.)

What would be really nice, of course, would be an HTML5 route to rendering a JSONified version of the .mm XML format… (I’m not sure how straightforward it would be to port the original Freemind flash browser Actionscript source code?)

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

12 thoughts on “Generating OpenLearn Navigation Mindmaps Automagically”

    1. I’m very interested in the automated creation of mindmaps. Recently I searched for an XML sitemap converter for mindmaps, and was surprised not find find one. I really don’t know what the difference is between a visual sitemap and a mindmap. It seems like there would be a massive demand for an embeddable widget that autoconverts XML sitemaps into mindmaps.

    1. @sheila Not seen that, no; requires a log in to play?

      I’ve been pondering the extent to which I could pull in OpenLearn resources into the mindmaps (eg a learning outcome explorer and OpenLearn metaglossary just fell out – – as did an OpenLearn image browser ( ), but I don’t really see the point? (I think I’ll add a map generator based around searches into learning outcomes as well as by keyword search though, and that could then hang course units as single branches off learning outcome branches? Another possibility would be to use the ‘related course’ linkage from data to try to cluster possibly related resources etc etc, but again, in all honesty, why bother? No-one’s really ever going to make use of this stuff.).

      The main intention of this exercise was more to explore how we could create annotatable ‘scaffolds’ that provided a view over a set of OpenLearn resources, maybe as a way of feeding potentially useful resources/units into SocialLearn pathways. (I really should get round to adding links tothe mindmap that point to the OpenLearn units.)

  1. The d3 javascript library can render trees of json data (or lots of other pretty visualisations ) using SVG in an HTML5 way. Requires a bit of work to set up but does provide a data driven way of displaying information (can do live updates if the data changes as well)

Comments are closed.

%d bloggers like this: