Step 13 – The SCORM 1.2 Data Model

At the moment, I’m simply dumping data from the course into a database table, and reading it back from that same table without paying any attention to what the variables actually mean. And, so far, I’ve got away with it. But that can’t last … I need to look at the variables and do something with them.

So where do I find that information? Let’s look at the structure of the SCORM 1.2 documentation.

Structure of the SCORM 1.2 Documentation

Structure of the SCORM 1.2 Documentation

One of the interesting things about this picture – taken from Book 1 of the SCORM 1.2 specification – is that it shows how SCORM isn’t so much a standard itself, but more of a compilation of standards from AICC, IEEE, and IMS. But that’s by-the-by.

So far, my investigations have focused on the “Launch, Communication API” documented in Book 3 of the SCORM specification which you can find on the ADL website, or [here]. But now, I need to look at the “Data Model” also in Book 3.

The SCORM 1.2 data model defines a set of variables that can be read and set by LMSGetValue() and LMSSetValue() respectively, what each of the various variables mean, and how they should be managed by the LMS. It also defines whether the data model elements are optional or mandatory for the LMS, format of the data stored in each variable, and whether elements are read-only, write-only, or read-write.

For the purposes of this project, I’m going to ignore all of the optional elements and focus exclusively on the mandatory elements. So, according to the specification, I need to support the following elements:

  1. cmi.core._children
  2. cmi.core.student_id
  3. cmi.core.student_name
  4. cmi.core.lesson_location
  5. cmi.core.credit
  6. cmi.core.lesson_status
  7. cmi.core.entry
  8. cmi.core.exit
  9. cmi.core.score._children
  10. cmi.core.score.raw
  11. cmi.core.total_time
  12. cmi.core.session_time
  13. cmi.suspend_data
  14. cmi.launch_data

In my next post, I’m going to start looking at these elements one by one.

Be Sociable, Share!
This entry was posted in Run Time Environment. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *