Pearson
Always Learning

Overview

The Launch Player API loads the Pearson SCORM Services Player into a browser.

The Pearson SCORM Services Player is a SCORM Run Time Environment for SCORM 1.2 and SCORM 2004.

The Player, in addition to being a SCORM Run Time Environment, is factored as a remote Tool Provider as described in the IMS Learning Tools Interoperability (LTI) specification. This means that any system acting as a Tool Consumer can make use of the Pearson SCORM Services Player.

The screen shot below shows the Pearson SCORM Services Player (an LTI Tool Provider) successfully launched by the Moodle Learning Management System (an LTI Tool Consumer). 

Once the SCORM content has loaded into the Player, the content initializes a communication session with the Player. Student progress information is then shared between the Player and the content using the SCORM API.

Launch Player API Details

The Launch Player API is a non-contextual LTI Launch that requires additional mandatory custom parameters. The LTI Launch itself is an HTTP POST request that is signed using the OAuth 1.0 signing protocol.

When the POST request is received by the Pearson SCORM Services Platform:

  1. The OAuth signature and other POST request parameter values sent from a browser are validated.
  2. A unique configuration is created (later this will be used to configure the Player for a particular user for a session with a given SCORM package).
  3. A secure request URL for the Player is generated.
  4. An HTTP 303 response is retutned to the browser which contains the secure request URL for the Player as the Location header value.
  5. The browser makes an HTTP GET request for the URL of Player.
  6. The Player HTML is returned to the browser.
  7. The Player makes a HTTP GET request for the unique configuration or a particular user for a session with a given SCORM package.
  8. The Player makes a HTTP GET request for the given SCORM package content.

If there is any error ...to do

When the workflow completes without error ...to do

Sequence Diagram

HTTP Verb Descriptions

HTTP Verb Description
POST Create unique configuration object for Player session

API Routes/Parameters

/launch

Request Header

(To do)

Request Body

Supported for POST:

Request content type: application/x_www_form_urlencoded

For the Launch request, only application/x_www_form_urlencoded content type is supported in accordance with the IMS Learning Tools Interoperability specification. Full details of the LTI Launch request are here.

custom_resource_id=hm-at_203_6_web12&custom_resource_version=1&lti_message_type=basic-lti-launch-request&lti_version=LTI-1p0&resource_link_id=icn.admin.launch&user_id=lbm6iqbo

Request Body Parameters

The list below represents the minimal required set of parameters requried for a sucecssful launch request. Note:

  • There are other optional parameters available to configure a wide range of behaviours and UI customizations, see here (Warwick to do).
  • The oauth=* parameters that are generated in order to sign the request are also added to the request body.
  • If Outcomes are required, then a grade book URL and identifier parameter values are required. See the Outcomes API page.
  • A helpful overview of LTI Launch Parameters is here.
Name Description Data Type Valid Values Mandatory
custom_resource_id The SCORM zip file identifier as maintained by the Consumer (If the Consumer Account is using a namespace, then the namespace and a hyphen character will be prepended to the identifier). string String. Only lower case alphanumeric characters along with the characters hyphen and underscore. No space charachters. Yes
custom_resource_version The SCORM zip file version as maintained by the Consumer. string String representation of an integer > 0 Yes
lti_message_type Mandatory in the LTI specification. string token "basic-lti-launch-request" Yes
lti_version Mandatory in the LTI specification. string token "LTI-1p0" Yes
user_id The unique user identifier as maintained by the Consumer. string LTI documentation stresses that this value should be a Tool Consumer-generated long-term “primary key” to the user record in the Tool Consumer. Yes
resource_link_id Mandatory in the LTI specification (a unique id referencing the link, or "placement", of the Player launch in the Consumer). string Yes

Response Header

(To do)

Response Body

For POST:

Example Request/Response for Content Type application/x_www_form_urlencoded

Request

POST /launch

Request Header

POST /launch HTTP/1.1
Content-Type     application/x-www-form-urlencoded
Content-Length   1299

Request Body

context_title=first+line%0D%0Asecond+line&custom_resource_id=hm-at_203_6_web12&
custom_cmi_mode=normal&custom_force_terminate_fail=false&custom_imsss_rollup_target=%40root&
custom_log_level=debug&custom_log_target=console&custom_prevent_completed_if_not_attempted=true&
custom_session_timeout=90&custom_ui_features=tocgrid%3Bsuspend_all%3Bnavbar&
custom_resource_version=1&launch_presentation_height=621&launch_presentation_locale=en-US&
launch_presentation_width=1000&
lis_outcome_service_url=http%3A%2F%2Fapi.localhost%2Foauth%2Fcocd_outcome_test&
lis_person_contact_email_primary=happiest.minds%40icodeon.com&lis_person_name_family=Minds&
lis_person_name_given=Happiest&lis_result_sourcedid=%7B%22data%22%3A%7B%22instanceid%22%3A%2211%22
%2C%22userid%22%3A%223%22%2C%22launchid%22%3A%22mod_equella_525b5faab1ed5%22%7D%2C%22hash%22%3A%22
c320a9b2245cb9f13fbc6a69052a501352b6beae62bf64463304e3843e5487da%22%7D&
lti_message_type=basic-lti-launch-request&lti_version=LTI-1p0&
oauth_consumer_key=7f83c279a769b399c4165a571000e4fe&
oauth_nonce=ea6cbda4-6df7-491b-9b9c-ff185587ee50&oauth_signature_method=HMAC-SHA1&
oauth_timestamp=1403336483&oauth_version=1.0&resource_link_id=icn.admin.launch&
roles=Administrator&user_id=lbm6iqbo&oauth_signature=UcajEN3APyWHKSShAcCXbKCma%2BM%3D

Response

HTTP/1.1 303 See Other
Location: http://pearson-nibiru-19-icodeon.s3.amazonaws.com/runtime/scorm-player.htm

Response Body

 

The list below desctibes optional parameters that allow fine control of the Player app and SCORM run time behaviour

Name Description Data Type Valid Values Mandatory
custom_ui_features An unordered list of UI features to be included in the Player app. If no UI features are demanded in the launch request (the custom_ui_features is missing or has an empty value), then no UI features are added to the Player app. Use a semi-colon separated list of tokens, order not important. tocgrid (include a table of contents)
navbar (include a toolbar)
suspend_all (include a save button)
previous (include a previous/back button)
continue (include a continue/next button)
tbfill (include a fill element in the toolbar to right align buttons)
scrolling (enable scroll bars in the main Player content pane)
No
custom_log_target The output destination for client side logging. Use one of the tokens from the list. window (show SCORM API logging in a new browser window)
console (show logging in the browser console window)
No
custom_log_level Filter level for client side logging. Content authors will typicallu use a log level of "scorm" and a log target of "window" to check the SCORM API invocations and return values. Use one of the tokens from the list. error (logs any client side errors, including trapped errors from SCORM content)
debug (logs errors and debug statements)
scorm (logs errors, debug statements and SCORM API invocations)
No
custom_sequencing_error_override SCORM sequencing errors to be quenched. Use a semi-colon separated list of SCORM sequencing error codes, order not important. SBp2p2_1 (SB.2.2-1: Flow Sequencing Control Mode violation) No
3976 reads
Always Learning
Pearson