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:
- The OAuth signature and other POST request parameter values sent from a browser are validated.
- 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).
- A secure request URL for the Player is generated.
- An HTTP 303 response is retutned to the browser which contains the secure request URL for the Player as the Location header value.
- The browser makes an HTTP GET request for the URL of Player.
- The Player HTML is returned to the browser.
- The Player makes a HTTP GET request for the unique configuration or a particular user for a session with a given SCORM package.
- 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 |