The SCORM Data Model 1 - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

The SCORM Data Model 1

Description:

Purpose - establishing a common data model to make sure that a defined set of ... The element could be used by the SCO to store off a 'bookmark' during the session. ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 45
Provided by: nsc9
Category:

less

Transcript and Presenter's Notes

Title: The SCORM Data Model 1


1
Lecture 9
  • The SCORM Data Model (1)

2
Data Model Overview
  • Purpose - establishing a common data model to
    make sure that a defined set of information about
    SCOs can be tracked by different LMS
    environments.
  • These draft data model specifications attempt to
    functionally group information sets to be
    exchanged between SCOs and LMS environments.

3
The SCORM Run-Time Environment Data Model
  • Derived directly from the AICC CMI Data Model
    described in the AICC CMI Guidelines for
    Interoperability.
  • All of the names of the element described starts
    with a designation -- cmi.elementName or
    adl.elementName.
  • During the test and evaluation phase of the
    SCORM, members of the AICC and IEEE decided to
    substantially reduce the number of elements in
    the AICC CMI Data Model.

4
The SCORM Run-Time Environment Data Model General
Rules
  • The first symbol in the data element name
    identifies the data model.
  • Three reserved keywords
  • _version, _children, _count
  • All arrays are 0 based arrays - in sequential
    manner.
  • Case sensitive.
  • It is implemented on a SCO by SCO basis.

5
Data Model Elements
  • Two categories
  • Mandatory
  • All mandatory data model elements must be
    supported by the LMS.
  • Optional
  • LMS may supported for all or some of the
    optional data model elements.
  • All data elements are optional for SCOs.

6
Handling Lists
  • When there are several data elements that appear
    in a list or an array, the index number is used
    to get or set values in a list.
  • All new array elements shall be added
    sequentially, the _count keyword can be used to
    determine the current number of records in the
    list.
  • Var numofObjectives LMSGetValue(cmi.objective._
    count)
  • Elements in a list are referred to with a
    dot-number notation(represented by .n).
  • cmi.objective.0.status, cmi.objective.3.status

7
The SCORM Run-Time Environment Data Model
  • cmi.core cmi.suspend_data
  • cmi.launch_data cmi.comments
  • cmi.objectives cmi.student_data
  • cmi.student_preference cmi.interations
  • Definition
  • Usagebetween SCO and LMS
  • Format data type
  • LMS Behavior
  • Initialization SCO or LMS
  • LMSGetvalue() LMSSetvalue()
  • Error handling
  • SCO Usage Example

8
cmi.core
cmi.core
cmi.core.student_id
cmi.core.student_name
cmi.core.lesson_location
cmi.core.credit
cmi.core.lesson_status
cmi.core.session_time
cmi.core.score
cmi.core.total_time
cmi.core.lesson_mode
cmi.core.entry
cmi.core.exit
cmi.core.score.min
cmi.core.score.raw
cmi.core.score.max
9
cmi.suspend_data, cmi.launch_data,
cmi.comments, cmi.objectives
cmi.suspend_data
cmi.launch_data
cmi.comments
cmi.comments
cmi.comments.comments_from_lms
cmi.objectives
cmi.objectives.n.id
cmi.objectives.n.status
cmi.objectives.n.score
cmi.objectives.n.score.raw
cmi.objectives.n.score.max
cmi.objectives.n.score.min
10
cmi.student_data, cmi.student_preference
cmi.student_data
cmi.student_data.mastery_score
cmi.student_data.max_time_allowed
cmi.student_data.time_limit_action
cmi.student__preference
cmi.student_preference.audio
cmi.student_preference.language
cmi.student_preference.speed
cmi.student_preference.text
11
cmi.interations
cmi.interactions
cmi. interactions.n.id
cmi. interactions.n.time
cmi. interactions.n.type
cmi.interactions.n.objectives.n.id
cmi.interactions.n.correct_responses.n.pattern
cmi.interactions.n.weighting
cmi.interactions.n.student_response
cmi.interactions.n.result
cmi.interactions.n. latency
12
Run-Time Environment Behavior
Learning Management System
Sharable Content Object (SCO)
1. Find the API Adapter Object
1. Determine SCO to launch
2.Call API.LMSInitialize()
2. Determine and initialize the SCOs
cmi.coore.lesson_mode
3.SCO specific implementation behavior (all
optional)
3.Determine and initialize the SCOs
cmi.core.entry
3a. Call API.LMSGetValue (cmi.launch_data)
Learner interacts with SCO
4.Launch the SCO
Launch
3b. Call API. LMSGetValue(cmi.core.entry)
4.Service the API calls made by the SCO
API and Data model
3c. CallAPI.LMSGetValue (cmi.core.lesson_mode)
CMI Data Model
3d. Call API.LMSSetValue (data elements to be
recorded)
3e. Call LMSCommit()
4.Call API.LMSFinish()
13
cmi.core.student_id
  • Usage
  • Used to uniquely identify a student.
  • Supported API calls
  • LMSGetValue()
  • LMS Mandatory Yes 
  • Data Type CMIIdentifie
  • LMS Behavior
  • Initialization
  • LMS is responsible, based on student
    registration.
  • LMSGetValue()
  • Returns the current value stored by the LMS for
    the student.

14
cmi.core.student_name
  • Usage
  • Used to represent the students official name.
  • Supported API calls
  • LMSGetValue()
  • LMS Mandatory Yes
  • Data Type CMIString25
  • LMS Behavior
  • Initialization
  • LMS is responsible, based on student
    registration.
  • LMSGetValue()
  • Returns the current value stored by the LMS.

15
cmi.core.lesson_location
  • Usage
  • This element defines where the student last was
    inside the SCO. The element could be used by the
    SCO to store off a "bookmark" during the session.
    If the SCO is suspended, and then is re-entered
    later, the lesson_location could be used by the
    SCO to send the student back into the SCO where
    they left off.
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue()
  • LMS Mandatory Yes
  • Data Type CMIString255

16
cmi.core.lesson_location (cont.)
  • LMS Behavior
  • Initialization
  • LMS should set this to be an empty string. A SCO
    may optionally set this value and then retrieve
    the data on re-entry into the SCO.
  • LMSGetValue()
  • Returns the current value stored by the LMS.
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

17
cmi.core.credit
  • Usage
  • Used by the LMS system to indicate whether or not
    the student is taking the SCO for credit.
  • Supported API calls
  • LMSGetValue()
  • LMS Mandatory Yes
  • Data Type CMIVocabulary (Credit) ex credit
    "no credit"
  • LMS Behavior
  • Initialization
  • LMS is responsible for determining whether or not
    the student is taking the course for credit or
    no-credit.
  • LMSGetValue()
  • Returns the current value stored by the LMS.

18
cmi.core.lesson_status
  • Usage
  • Normally the SCO determines its own status and
    passes it to the LMS.
  • If cmi.core.credit is set to credit and there
    is a mastery score in the manifest
    (adlcpmasteryscore), the LMS can change the
    status to either passed or failed depending on
    the student's score compared to the mastery
    score.
  • If there is no mastery score in the manifest
    (adlcpmasteryscore), the LMS cannot override SCO
    determined status.
  • If the student is taking the SCO for no-credit,
    there is no change to the lesson_status, with one
    exception. If the lesson_mode is "browse", the
    lesson_status may change to "browsed" even if the
    cmi.core.credit is set to no-credit.

19
cmi.core.lesson_status (cont.)
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue()
  • LMS Mandatory Yes 
  • Data Type CMIVocabulary (Status) , ex passed,
    completed, failed, incomplete, browsed, not
    attempted.
  • LMS Behavior
  • Initialization
  • If it is the student's first attempt at the SCO
    the lesson_status is set to not attempted. The
    LMS is responsible for setting the initial value
    to not attempted.
  • LMSGetValue()
  • Returns the value stored in the data model. The
    return must be one of the set vocabularies for
    the status.

20
cmi.core.lesson_status (cont.)
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

21
cmi.core.entry
  • Usage
  • When a student enters the SCO for the first time
    the cmi.core.entry element should be set to
    ab-initio by the LMS.
  • If the student re-enters a suspended SCO then
    the entry flag should be set to resume by the
    LMS.
  • Supported API calls
  • LMSGetValue()
  • LMS Mandatory Yes 
  • Data Type CMIVocabulary (Entry), ex
    ab-initio "resume "" - empty string.

22
cmi.core.entry (cont.)
  • LMS Behavior
  • Initialization
  • Upon initial launch of the SCO the LMS should
    initialize the data model value to ab-inito.
  • LMSGetValue()
  • Returns the value stored in the data model. The
    return must be one of the set vocabularies for
    the cmi.core.entry data element.

23
cmi.core.score
  • Usage
  • When the student is in their first attempt at a
    SCO the cmi.core.score.raw should be set to
    (empty string).
  • For additional attempts the cmi.core.score.raw
    reflects what was recorded on the students last
    previous attempt.
  • If no cmi.core.score.raw was set in a SCO and a
    request for the cmi.core.score.raw was made by
    the SCO, then an empty string should be returned
    ().
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue() 
  • LMS Mandatory Yes
  • Data Type CMIDecimal or CMIBlank

24
cmi.core.score (cont.)
  • LMS Behavior
  • Initialization
  • LMS should initialize this to an empty string
    ("") upon initial launch of a SCO. The SCO is
    responsible for setting this value. If an
    LMSGetValue() is requested before the SCO has set
    this value, then the LMS should return an empty
    string ().
  • LMSGetValue()
  • Returns the value stored in the data model. The
    value returned must be of type CMIDecimal or
    CMIBlank.
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

25
cmi.core.score.max
  • Usage
  • Indication of the largest score the student
    could have achieved.
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue() 
  • LMS Mandatory No 
  • Data Type CMIDecimal or CMIBlank
  • LMS Behavior
  • Initialization
  • LMS should initialize this to an empty string
    ("") upon initial launch of a SCO. The SCO is
    responsible for setting this value.
  • If an LMSGetValue() is requested before the SCO
    has set this value, then the LMS should return an
    empty string ().

26
cmi.core.score.max (cont.)
  • LMSGetValue()
  • Returns the value stored in the data model.
    The value returned must be of type CMIDecimal or
    CMIBlank.
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

27
cmi.core.score.min
  • Usage
  • Used to indicate the lowest score the student
    could have achieved.
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue() 
  • LMS Mandatory No 
  • Data Type CMIDecimal or CMIBlank

28
cmi.core.score.min (cont.)
  • LMS Behavior
  • Initialization
  • LMS should initialize this to an empty string
    ("") upon initial launch of a SCO. The SCO is
    responsible for setting this value. If an
    LMSGetValue() is requested before the SCO has
  • set this value, then the LMS should return an
    empty string ()
  • LMSGetValue()
  • Returns the value stored in the data model. The
    value returned must be of type CMIDecimal or
    CMIBlank.
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

29
cmi.core.total_time
  • Usage
  • Used to keep track of the total time spent in
    every session of the given SCO for the given
    student. LMS should initialize the
    cmi.core.total_time to a default value the first
    time SCO is launched and then use SCO reported
    values (session_time) to keep a running total.
  • Supported API calls
  • LMSGetValue() 
  • LMS Mandatory Yes 
  • Data Type CMITimespan

30
cmi.core.total_time (cont.)
  • LMS Behavior
  • Initialization
  • LMS should initialize this to "00000000.00"
    upon initial launch of a SCO.
  • LMSGetValue()
  • Returns the value stored in the data model. The
    value returned must be of type CMITimespan.

31
cmi.core.lesson_mode
  • Usage
  • Used to represent the different modes that a SCO
    can be launched in.
  • Supported API calls
  • LMSGetValue() 
  • LMS Mandatory No 
  • Data Type CMIVocabulary (Mode), ex "browse"
    "normal" "review.

32
cmi.core.lesson_mode (cont.)
  • LMS Behavior
  • Initialization
  • LMS should determine the mode in which the SCO is
    being launched.
  • LMSGetValue()
  • Returns the value stored in the data model. The
    return must be one of the set vocabularies for
    the entry.

33
cmi.core.exit
  • Usage
  • Used to indicate the reason that the SCO was
    last exited.
  • Supported API calls
  • LMSSetValue() 
  • LMS Mandatory Yes 
  • Data Type CMIVocabulary (Exit), ex
    time-out""suspend""logout""" - empty string.
  • LMS Behavior
  • Initialization
  • Element does not need initialized. There is never
    a LMSGetValue() done on this element. Element is
    controlled by the SCO.

34
cmi.core.exit (cont.)
  • LMSGetValue()
  • LMS should set an error code according to the
    following and return an empty string ("").
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

35
cmi.core.session_time
  • Usage
  • Used to keep track of the time spent in a SCO
    for a session. The LMS will use this time in
    determining the cmi.core.total_time.
  • Supported API calls
  • LMSSetValue()
  • LMS Mandatory Yes 
  • Data Type CMITimespan
  • LMS Behavior
  • Initialization
  • Element does not need initialized by the LMS.
    There is never a LMSGetValue() call made on this
    element. The SCO controls this element.

36
cmi.core.session_time (cont.)
  • LMSGetValue()
  • LMS should set an error code according to the
    following and return an empty string ("").
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

37
cmi.suspend_data
  • Usage
  • Only available on restart of a SCO. SCO could
    set this value if a student exits before SCO is
    completed. The SCO then could use this
    information on restart.
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue()
  • LMS Mandatory Yes
  • Data Type CMIString4096
  • LMS Behavior
  • Initialization
  • LMS should initialize this element to blank
    (empty string). The SCO is responsible for
    setting this element.

38
cmi.suspend_data (cont.)
  • If an LMSGetValue() is requested before the SCO
    has set this value, then the LMS should return an
    empty string ().
  • LMSGetValue()
  • Returns the value stored in the data model. The
    return must be of the correct data type.
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. Value must match the data type for this
    element.

39
cmi.launch_data
  • Usage The cmi.launch_data is available to the
    SCO to aid in launching the SCO. This will
    always be the same for a given SCO.
  • Supported API calls
  • LMSGetValue()
  • LMS Mandatory Yes
  • Data Type CMIString4096

40
cmi.launch_data (cont.)
  • LMS Behavior
  • Initialization
  • This value should be initialized by the LMS using
    the manifest. The LMS should use the manifest
    (adlcpdatafromlms) element. If no launch data
    is found in the manifest, then the launch data
    should be set to an empty
  • string ("").
  • LMSGetValue()
  • Returns the value stored in the data model. The
    return must be of the correct data type.

41
cmi.comments
  • Usage
  • Used to allow the SCO to send comments to the
    LMS about the SCO. Could be used to collect
    student entered comments.
  • Supported API calls
  • LMSGetValue()
  • LMSSetValue() 
  • LMS Mandatory No 
  • Data Type CMIString4096

42
cmi.Comments (cont.)
  • LMS Behavior
  • Initialization
  • None, should be initialized to an empty string
    (""). The SCO is responsible for setting this
    value. If an LMSGetValue() is
  • requested before the SCO has set this value, then
    the LMS should return an empty string ().
  • LMSGetValue()
  • turns the value stored in the data model. The
    return must be of the correct data type. If no
    comments were provided the LMS should return an
    empty string ("").
  • LMSSetValue()
  • Sets the data model element to the supplied
    value. The LMSSetValue() request sets the
    comments. The comments should be concatenated
    together.

43
cmi.comments_from_lms
  • Usage
  • Used to allow the SCO to see any comments
    related to the SCO that originated in the LMS.
  • Supported API calls
  • LMSGetValue()
  • LMS Mandatory No
  • Data Type CMIString4096
  • LMS Behavior
  • Initialization
  • These comments should be initialized by the LMS
    if provided.
  • LMSGetValue()
  • Returns the value stored in the data model. The
    return must be of the correct data type. If no
    instructor comments were

44
The End of Lecture 9
Write a Comment
User Comments (0)
About PowerShow.com