Phil Barker » standards http://blogs.cetis.org.uk/philb Cetis Blog Fri, 06 Jun 2014 11:06:54 +0000 en-US hourly 1 http://wordpress.org/?v=4.1.22 LRMI, Open badges and alignment objects http://blogs.cetis.org.uk/philb/2014/04/03/lrmi-open-badges-and-alignment-objects/ http://blogs.cetis.org.uk/philb/2014/04/03/lrmi-open-badges-and-alignment-objects/#comments Thu, 03 Apr 2014 11:59:55 +0000 http://blogs.cetis.org.uk/philb/?p=968 I had the pleasure yesterday to talk on the Mozilla Open Badges community call about how LRMI and Open Badges may intersect. Open Badges are a means of displaying digital recognition of skills and achievements, there’s a technical framework behind the badges that offers the means of providing data in support of the claimed achievement. A particular part of this technical framework is the assertion specification, which includes a pointer from each badge to “the educational standards this badge aligns to, if any”.  This parallels the LRMI alignment object  very closely: in short the educationalAlignment property that LMRI added to schema.org allows encoding of statements along the lines of “this resource [teaches|assess|requires|has level] X” where X is some point in an shared educational framework, e.g. of attainment standards, topics or educational levels or shared curriculum. Diagrammatically

The creative work aligns with a node in an educational framework. The alignment object identifies that node and the nature of the alignment.

The creative work aligns with a node in an educational framework. The alignment object identifies that node and the nature of the alignment.

The Mozilla badge alignment object is described thus:

Property Expected Type Description
name Text Name of the alignment.
url URL URL linking to the official description of the standard.
description Text Short description of the standard

and an example is provided

{
  "name": "Awesome Robotics Badge",
...
  "alignment": [
    { "name": "CCSS.ELA-Literacy.RST.11-12.3", 
      "url": "http://www.corestandards.org/ELA-Literacy/RST/11-12/3", 
      "description": "Follow precisely a complex multistep procedure when carrying out experiments, taking measurements, or performing technical tasks; analyze the specific results based on explanations in the text."
    }]
...
}

Diagrammatically:

The badge information includes an assertion that the skill or achievement aligns with some point in an educational standard

The badge information includes an assertion that the skill or achievement aligns with some point in an educational standard

Not only do the LRMI and Open Badge alignment objects both do the same thing they seem to have have the following semantically equivalent properties relating to identifying the thing that is aligned to:

  • OpenBadge alignment object URL == LRMI alignment object targetURL
  • OpenBadge alignment object name == LRMI alignment object targetName
  • OpenBadge alignment object description == LRMI alignment object targetDescription

(I like to think that this is not coincidence, but I don’t know how the similarity arose.)

The differences:

  • Open Badges do not identify the type of alignment. It has no need, I guess, since the alignment is always one of “asserts ability at” or something similar. LRMI currently recommends no relevant value.
  • Open Badges do not name the framework, I guess the assume that identifying the node will lead to knowledge of the framework. LRMI felt that this would not always be enough.
  • The LRMI alignment object can be used in conjunction with a property of schema.org/CreativeWorks, I don’t think Mozilla open badge assertions are creative works in that sense, I think they are some type of schema.org/Intangible.
  • Syntactically, OpenBadge assertions are made using JSON, I don’t think they use microdata. Through schema.org, LRMI uses microdata and JSON-LD.

aligning the alignment objects

The discussion that I hope to kick off with the Mozilla Open Badge and LRMI communities is should/could we make the similarities between the two alignment objects more explicit? This would give developers a two-for-one offer, understand the way Open Badges expresses alignment and you’ve understood what LRMI does, and vice versa. I don’t suppose either group wants to change a spec that is in productive use, but an informative statement about the similarities could be provided without changing either.

Beyond that I wonder if the Open Badge community have thought about use of schema.org when advertising badges, i.e. if you provide a webpage saying “we offer the following badges for X, Y and Z” would there be benefit in marking this up with schema.org microdata to improve discoverability by search engines? If there is benefit in doing so, then it would be worth thinking about what type of schema.org Thing badges are and how the LRMI alignment object might be attached to it.

The bigger picture is that someone working with the starting point of wanting to learn about something could find resources to help them learn it with the help of LRMI alignments and discover the means of showing that they had learnt it via Open Badge alignments.

]]>
http://blogs.cetis.org.uk/philb/2014/04/03/lrmi-open-badges-and-alignment-objects/feed/ 0
Explaining the LRMI Alignment Object http://blogs.cetis.org.uk/philb/2014/03/06/explaining-the-lrmi-alignment-object/ http://blogs.cetis.org.uk/philb/2014/03/06/explaining-the-lrmi-alignment-object/#comments Thu, 06 Mar 2014 15:04:20 +0000 http://blogs.cetis.org.uk/philb/?p=924 The educational alignment property and the associated alignment object that LRMI introduced into schema.org have been described as the “killer feature” for LRMI. However, I know from the number of questions asked about the alignment object and from examples I have seen of it being used wrongly that it is not the easiest construct to understand.

Perhaps the problems come from the nature of the alignment object as a conceptual abstraction, so maybe it will be help to show some concrete examples of how it may be used. However, bear in mind that the abstraction was a deliberate design decision made so that the alignment object should be more widely applicable than the examples given here. So I will first discuss a little about why some simpler more direct approaches were considered and rejected (as were some approaches that would be even more abstract).

basic use case

The general use case for which the alignment object was introduced to meet was , in brief,

“help people find resources that can be useful in teaching or learning in some specific scenario.”

That looks deceptively simple. The complications come when defining the “specific scenario” and unpacking the word “useful”

enter “educational frameworks”

One practical approach to defining various aspects of the specific scenario involves reference to an educational framework of some sort.  By educational framework I mean a structured description of educational concepts such as a shared curriculum, syllabus or set of learning objectives, or a vocabulary for describing some other aspect of education such as educational levels or reading ability.

“Educational framework” is a deliberately broad concept as we wanted LRMI to be applicable globally and across many levels and modes of education. Some specific examples are school-level curricula or attainment standards such as:

Perhaps more relevant to higher education many professional bodies define the competencies required to become a member of their  profession, for example:

As well as having a role in  defining competences and outcomes, measures of academic level or difficulty may be useful independently as reference points, for example:

  • the US K12 grade levels are well understood in terms of school level,
  • the more formally defined Scottish Credit and Qualifications Framework (SCQF) level descriptors
  • various empirical measures of reading difficulty, for example general idea of “reading age” and the specific measures of reading ability and text level used by lexile.

One the other hand you may just want to specify the subject being taught, or the educational discipline for which is it being taught. Various classifcation schemes for academic subjects are available, for example:

All of these frameworks (and many others) may be used to describe aspects of an educational scenario.

ways of being useful

Life isn’t simple enough for us to meet the use case described above by adding a single property to schema.org Creative Works to say that the resource “aligns with” (i.e. is useful in the context defined by) some entry or node in an educational framework.  In prescribing a “useful” resource we would want to distinguish between resources that teach and asses a topic; we also want a resource that assumes suitable previous knowledge, or requires some specific reading level, or assumes a certain general academic level. There may be other forms of alignment. There isn’t agreement on a minimum core set of properties required to address that word “useful” in the use case, but there is agreement that a resource can “align” with an “educational framework” in several ways, some of which we can enumerate. Hence the birth of the alignment property and abstract Educational Alignment object.

the abstraction

I think of it like this:

We start with a Creative work: simpleCreativeWork_small

and an educational framework:educationalFramework_small
(Note, there is no schema.org class of type EducationalFramework, but we assume that we can refer to some of the following properties pertaining to it: some text that identifies the framework as whole (let’s call it a name), and the URLs, names and/or descriptions of nodes within the framework.)

The alignment object alignmentObject_small was created to describe the relationship between the two. The following properties alignment objects are defined: educationalFramework, which can be used to hold text that identifies the educational framework you are pointing to;  targetDescription, targetName and targetURL, which can hold the values that correspond to properties we assumed that nodes in the educational framework would have. It also has an alignmentType property that I think of switching the object to specify the different types of alignment that are possible. So we can put them together to express an alignment between a creative work and some node in an educational framework:

educationalAlignment

common mistakes

I have seen both of these mistakes in actual markup of webpages.

1. the alignment object on its own is fairly meaningless. Unless it is referenced by the educational Alignment property of a creative work it’s as useful as half a link.

2. since the alignment object is a proper schema.org Thing (to be specific a subtype of an Intangible Thing) it inherits the properties that every schema.org Thing has. e.g. a name, a URL, a description an image. Some of these make some sense in some cases (see below) but importantly, none of them are used in expressing the alignment: the url of an alignment object is not the same as the url of the creative work or the node to which it aligns.

real-world examples of alignment assertions

I would like to use two real-world examples of where services provide information that can be seen as an assertion that a resource is useful in connection with (i.e. aligns with) an educational framework:

1. Kritikos, where students can tell other students what is useful for their course.

Screen shot of Kritikos information page about an MIT OCW lecture video.

Screen shot of Kritikos information page about an MIT OCW lecture video. See it in kritikos.

Kritikos is a custom search engine for visual media relevant to teaching and learning engineering.  In part the customisation comes through the use of a Google CSE,  but more relevant to this post is the part that comes through allowing users to classify whether resources found on it are useful for specific courses [aside: this part of the kritikos service is built on a Learning Registry node].

The example shown here is the kritikos information page for a video of a lecture from MIT Open CourseWare. It includes “what others are saying about this resource” with the information from a year 3 MEng Aerospace Engineering student that it is relevant to “Flight Dynamics and Control”. The link from this assertion leads to other resources deemed useful by users for that module. “Flight Dynamics and Control” is a module at the University of Liverpool (code AERO317) that exists within the framework of Liverpool’s Aerospace Engineering programme. It is worth noting that kritikos can also be used to record when a resource is not relevant to a course–this is useful for weeding out false positives that get through the Google custom search engine. [Disclosure/bragging: I had an advisory role in the project that lead to kritikos.]

So, there’s an expression of an educational alignment; how does it relate to the alignment object?

The creative work in question is the MIT lecture (to be precise it’s a http://schema.org/VideoObject), we could describe a few of its characteristics with schema.org properties:
name = “Lec 7 | MIT 16.885J Aircraft Systems Engineering, Fall 2005″
url=http://www.youtube.com/watch?v=2QRfkG7jOfY
duration = PT110M22S
I’m not guessing this, the YouTube page has Schema.org microdata in it.

The node in the educational framework is a bit less well defined, but we would be justified in calling the module description a node in a framework called “University of Liverpool Modules” and saying the name for this node is “AERO317″, its description is “Flight Dynamics and Control”. It has a page on the web which gives us a url, http://tulip.liv.ac.uk/mods/vital/vital_AERO317_200809.htm. So we can express the alignment:

item type=http://schema.org/VideoObject
    name = "Lec 7 | MIT 16.885J Aircraft Systems Engineering, Fall 2005"
    url = http://www.youtube.com/watch?v=2QRfkG7jOfY
    duration = PT110M22S
    educationalAlignment = item1

item1 type= http://schema.org/AlignmentObject
    alignmentType = "Teaches"
    educationalFramework = "University of Liverpool  Modules"
    targetName = "AERO317"
    targetDescrption = "Flight Dynamics and Control"
    targetUrl = http://tulip.liv.ac.uk/mods/vital/vital_AERO317_200809.htm

What about the other properties of the AlignmentObject, the ones it inherited by virtue of being an official Intangible Thing in the schema.org hierarchy? Well you could envisage the image property pointing to the screenshot above, and the url property being a url with a fragment identifier that points to the “what others are saying” part of the kritikos page. Sure, you can give it a name and descriptions if you want to. Maybe these aren’t especially useful, but the point it that they are clearly different from the url, name and description of the University of Liverpool course to which the MITOCW video aligns.

2. OER Commons, aligning to US Common Core State Standards

I’ll cover this in less detail. The main problem with the example above is that the educational framework, while locally useful, is somewhat ad hoc we had to kind of look at the course structure at Liverpool University in a certain way to see it as an educational framework. Better examples of a more widely shared and more formally constructed educational frameworks are those of the US Common Core State Standards Initiative.  OER Commons is a repository and search engine for Open Educational Resources that expresses alignment to these frameworks in its descriptions.

Screenshot from a resource description on OERCommons showing educational alignment information on the right.
Screenshot from a resource description on OERCommons showing educational alignment information on the right.

The screenshot on the left shows such an alignment being displayed (the image links to the actual page in question, which is more legible). You see that in this case the creative work called “Chocolate Chocolate Chocolate” aligns with the Common Core Standard “CCSS.ELA-Literacy.RL.1.9 : Compare and contrast the adventures and experiences of characters in stories.”

Interestingly there is some other information given about the “degree of alignment”, i.e. how good a match that resource is to teaching that State Standard.

justification for the abstraction of the alignment object

In part the motivation for creating an alignment object class in schema.org was the issue mentioned above  about not knowing what might be all the possible forms of alignment between a resource and an educational framework used to characterise some aspect of a teaching and learning scenario. However I hope the examples above go someway to showing that alignments are real (if intangible) things, you can give them URLs, and names if you want. Furthermore they do have properties. For example, they are asserted by someone: a student at Liverpool University in the kritikos example and a user of OER Commons in the other. In the OER Commons example there is other information about the degree of alignment. This goes some way to convincing me that the alignment object isn’t just some computer science trick of indirection.

]]>
http://blogs.cetis.org.uk/philb/2014/03/06/explaining-the-lrmi-alignment-object/feed/ 8
OASIS release Content Management Interoperability Services standard http://blogs.cetis.org.uk/philb/2010/05/06/oasis-release-cmis/ http://blogs.cetis.org.uk/philb/2010/05/06/oasis-release-cmis/#comments Thu, 06 May 2010 08:11:09 +0000 http://blogs.cetis.org.uk/philb/?p=260 The OASIS interoperability standards body have recently released the Content Management Interoperability Services specification (CMIS) 1.0. Why are we interested? Well, though it is aimed at content management services, the distinction between an enterprise content management service, a repository and a virtual learning environment is somewhat superficial: a quick look at CMIS will show that the services involved are applicable to both repositories of educational content and VLEs.

From the specification abstract:

The Content Management Interoperability Services (CMIS) standard defines a domain model and Web Services and Restful AtomPub bindings that can be used by applications to work with one or more Content Management repositories/systems.

The domain model conceptualizes CMIS as providing “an interface for an application to access a Repository. To do so, CMIS specifies a core data model that defines the persistent information entities that are managed by the repository”. Transient state information, event information, workflows, user administration are not modelled where these are considered internal to the working of a specific CMS. The data model does define the following entities: repositories (which manage objects), document objects (stand-alone information assets), folder objects (hierarchical collections of objects), relationship objects, policy objects, access control, versioning, query (based on a subset of SQL) and a change log.

A large number of services are defined relating to these objects, but these are pretty much what one would expect: getRepositories returns a list of repositories in the system, getRepositoryInfo returns information about a specified repository; getObject and getProperties do similar for objects; navigation is facilitated by a range of services such as getFolderTree, getObjectParents, getChildren which relate to folders and relationships. There are also services for creating, moving and deleting objects or adding them to folders. Core content management is catered for by services for checking objects in and out, retrieving versions of an object and applying policies.

There is a RESTful binding for these services using ATOM feeds, AtomPub, and the underlying HTTP GET, PUT and DELETE methods. There is also a Web Services / WSDL binding, which references WS-I, WS-SECURITY and SOAP. To conform to CMIS, clients must implement either the REST or the Web Service binding, repositories however must implement both.

There are already some implementations, for example Alfresco. Open Text, working with SAP, have pledged to support CMIS, while EMC, IBM and Microsoft have made a similar announcement.

It will be interesting to see what influence CMIS has on the education sector, e.g. whether there is any uptake of parts of it by VLE vendors or repositories used by the sector. I say “parts of it” because the core spec is a 200+ page document, which in turn references several others, especially for the binding. One can imagine the reaction when it lands on the desk of a developer for one of our niche repositories or VLEs, commercial or open source, especially when they learn that they have to do both REST and WS bindings. Aside from full-on or partial implementations it does give us a further point of comparison for interoperability specs in the education domain to check that we remain in line with the wider world; for example how does CMIS’s use of ATOMPub compare with SWORD and SPI, and how the use of SQL for query contrasts with those standards which come more from the library domain (e.g. CQL in SRU).

see also
The specification docs HTML, PDF or MS DOC.
Full description on Cover Pages
OASIS CMIS Technical Committee page
WikiPedia article

]]>
http://blogs.cetis.org.uk/philb/2010/05/06/oasis-release-cmis/feed/ 1