Where to put competency based learning model metadata in Open edX courses

The Open edX Studio interface does not (currently) include fields for entering competency based learning model metadata. This post is written for people who manage courses in the Open edX format, who want to use competency based metadata and assumes you have a basic knowledge of metadata. It also assumes that you have exported an Open edX course and that you know where the referenced files reside. It proposes a solution for where the metadata could be placed in courses in preparation for improving search engine results both internally via an LMS search tool or externally via Google, Bing or other popular search engine.

Applying metadata to scripted (non-compiled objects)

There are three different approaches to applying LRMI metadata to scripted objects: microdata, RDFa, and JSON-LD. The microdata method puts metadata inline in HTML documents. Most search engines, web crawlers, and browsers can process microdata already. This allows for much richer SEO and discoverability. Since both MVA and edX components end up in HTML format, this is what microdata might look like in general:

<h1 itemprop = “name”>Architecting with Azure Part 1</h1>
<p itemprop = “description”>This reading covers basic Azure architecture concepts</p>
<p itemprop = “publisher” >Microsoft LeX</p>
<p itemprop = “license”>Creative Commons</p>

Of course, each element can be hidden from the learner when some inline styling is used like so:

<p class=”MSmeta” itemprop = “publisher” >Microsoft LeX</p>

Or, CSS for the LMS can be edited so that all things tagged with a class specific to metadata would not be displayed. NOTE: The class “meta” is not currently set in the edX CSS. However, in the future it may be, so you might want to name the class something similar or prefix the class with the initials MS, as in “MSmeta”.

.MSmeta {
display: none;

<p class=”MSmeta” itemprop = “publisher” >Microsoft LeX</p>

Where metadata could be placed in Open edX courses while using Studio

As components on edX are literally child DIV nodes of the DOM, metadata can be entered there while using edX Studio.

As competency, skill and proficiency are not native to Open edX metadata, there are a couple of places that this information can be placed. Competency could be placed in the short_description.html or overview.html files at the course level. Skill and proficiency could be placed in a component under the parent node such as in a tag that is hidden by inline style. Then these values would be read by the content management system.

Course level example

<p class=”MSmeta” itemprop=”competency”>Source Code Version Control</p>

Component level example

<p class=”MSmeta” itemprop=”skill”>Use VSS and CVS/SVN</p>


For more information on using the microdata method see Schema.org/docs/gs.html.  See also my previous post on learning metadata.