This blog has moved…

…this is the last blog post I shall make here, comments are closed.

I will continue blogging about my Cetis work from my general work blog, “Sharing and learning” This is so that I don’t have to maintain separate sites for Cetis work, other projects and reflections on teaching. My posts about Cetis work will still be aggregated into the Cetis blogs site which is probably how most of you get here, but if you’re used to coming direct to this page please change your bookmarks / feed settings:

Filtering Google custom searches on LRMI alignment values

As I said, Wilbert and I are building a Google custom search engine for LRMI-tagged pages. We got a basic search that finds pages that have an educational alignment and matches a search term. Next step is using the properties of the educational alignment to filter the search result based on things that teachers care about. Our friends at a11y showed us how to do the filtering based on properties with their search demo which uses the search modifier
to filter results that have markup showing that they contain captions.

We took our alignment object custom search search and under search features, added refinements along the lines of more:p:AlignmentObject-name:GCSE with the label GCSE (a school exam taken by 16 year olds).

The results page for our Declaration of Arbroath now has tabs, one of which says GCSE. Click on that tab and you see just the results that have been marked up to say that they are relevant to the that educational level.

Google search for declaration of Arbroath filtered for those resources that are useful for UK GCSE exams.

Google search for declaration of Arbroath filtered for those resources that are useful for UK GCSE exams.

Try some searches here. We could add more pre-set alignments, different grade levels and so on, but we’re just trying to do proof of concept here, not create a service, so we’ll stop at showing a few.


I’m really happy to see so many pages marked up with the properties, way more than I knew of. But so much of it is wrong. In the example above, the refinement more:p:AlignmentObject-name:GCSE is filtering for pages that say that the AlingmentObject has a name of “GCSE”. This is wrong. That’s not the name of the AlignmentObject, that’s the name of the target in the educational framework to which an alignment is being asserted. If it’s not clear what the difference is, I wrote a post explaining the alignment object at at some length.

Also, we’ve found our first alignment object spam! Well, let’s say that the alignment was tenuous, and probably this page getting found would be of more use to the publisher that the person finding it. [I’m not linking to it for obvious reasons.] This is the sort of thing that killed the idea of hiding metadata in elements in the header. How would a search engine deal with this sort of spamming of alignment assertions? Well, if the educational alignment you’re asserting isn’t worth showing as human readable text on a webpage then it probably isn’t a strong one. So, remember this advice if you’re hiding all your metadata away rather than marking up what the reader will see on the page.

Building a Google custom search engine for LRMI-tagged pages

Wilbert and I are spending the day trying to create a search engine for finding learning resources by searching LRMI-tagged web pages. A bit of code sprint if you like.

First attempt: standard custom search engine hosted by Google.
1. Go to set up new search engine. Choose option to “Restrict Pages using Types” to CreativeWork.

We’ll use “Declaration of Arbroath as a test search. By way of baseline, here’s the what we get just searching Google for that:

Google search for declaration of Arborath

Google search for declaration of Arborath

With the Custom Search Engine, limited to Creative works, we get:

Google search result page for "Declaration of Arbroath" limited to Creative works

Google search result page for “Declaration of Arbroath” limited to Creative works

OK, so there is some difference, but CreativeWorks aren’t all learning resources (or at least they’re not all tagged with LRMI), so change the schema type we filter on to AlignmentObject, one of the properties LRMI added to, and we get


Google search result page for “Declaration of Arbroath” limited to pages with an AligmentObject.

Which is showing six learning resources tagged with LRMI.

We’re winning. You can try it here. It’s a good way of finding who is already using LRMI (waves to BBC and Open University)