Configuration in SCORM Cloud

Our V2 API has brought a big overhaul to the configuration of both the player and postbacks in SCORM Cloud. Now these settings can be set at any one of multiple levels in SCORM Cloud’s application hierarchy. This means that, for example, you could set your postback url at the level of your application id, and (as long as it’s not set at any more specific level) that would mean that any registrations launched in that application will assume the postback url set at the application level.

To make things a little clearer, lets break down each of the levels:

  • default - This is the system wide default set by SCORM Cloud itself
  • application - /appManagement/configuration
  • learningStandardForApplication - /appManagement/configuration with learningStandard specified
  • course - /courses/{course ID}/configuration
  • dispatch - Dispatch currently only has support for postback configuration (no player configuration) in the settings cascade. As such, a configuration endpoint is not yet available. Dispatch specific settings including postback settings can be set during calls to createDispatches and updateDispatch
  • registration - /registrations/{registration ID}/configuration

Now, any time a registration needs part of its configuration (like the postback url we mentioned above) it will crawl up the levels until it finds something it can use. Beginning with the registration level, and crawling up to dispatch (if the registration is a dispatch), then course etc.

This should hopefully save lots of copying course configuration and postback settings around and allow you to set things in a more logical arrangement, which better suits the way you use SCORM Cloud.

API Configuration

The semantics for each of the resources with a configuration endpoint are mostly identical. In each instance setting configuration is as easy as a POST request to the appropriate endpoint with a JSON payload like this:

    "settings": [
        { "settingId": "PlayerScoLaunchType", "value": "NEW_WINDOW", "explicit": false }

Since the settings parameter is an array, you may specify multiple configuration values at once.

A note on the optional explicit parameter:

The optional parameter explicit is a boolean which signifies if you want to explicitly set the provided setting at that level even if that is already the ‘effective’ setting at that level. It is important to note that the default for this value is false. This means that if, for instance, you made the same request as the above example at the registration level, while the course level already had PlayerScoLaunchType set to NEW_WINDOW: no actual change will take place. This is an intentional design to prevent the needless duplicating of settings across levels of the application.