Configuration Settings

Engine has the ability to configure settings for a tenant, package, or registration. The listing of settings below will note the most specific level at which a particular setting may be configured. This is not a complete listing of the available configuration settings, though it does include everything we expect new customers might want to change.

A level of "special", "base", or "system" indicates a setting that must be set system-wide, and will apply to all tenants. The difference between them is the possible methods of configuring a value for the setting. Settings marked "base" or "special" can only be configured in the settings file mentioned below. Those marked "system" can be configured either in the properties file or through the API.

Your Engine delivery includes a template for a settings file used to configure values you want to apply system-wide. The configuration file (RusticiEngineSettings.config) should be referenced by your web.config file in the appSettings section.The configuration file (RusticiEngineSettings.properties) should be placed in your application server's classpath.

Settings Reference

Each setting is defined as follows:

SettingIdentifier (level [, default: defaultValue])

description of setting

The level is the most specific level at which the setting may be configured. Settings may always be configured at a lower (less specific) level, If a setting is configured at multiple levels, the most specific level will be used.

From less specific to most, the levels are:

  • system (including base and special)
  • tenant
  • package
  • dispatch destination
  • dispatch
  • registration

Note: Engine strives to have sensible defaults for all settings, so generally you do not need to configure a value for the majority of those listed here. If you aren't sure if you should be changing a particular setting or not, or what you should set it to, please reach out and ask us.

xAPI Settings


xAPIEnabled

Type Level Specificity Default
bool System true


xAPIRewriteStatementModifier

Type Level Specificity Default
JObject Registration
If rusticiRewrite=true is passed on the statements request, then this setting will be used to modify statements as they are returned. It is expected to be a JSON object with an 'overlay' and/or a 'knownRegistrationOverlay' property. These overlays, from each configuration level (eg: system, tenant, and registration) will be merged into any statements read from this tenant (the knownRegistrationOverlay will only be applied to statements for which the registration can be looked up). The ID for the statement will be changed and the original ID will be noted in an extension property. See 'Dynamic Setting Values'

xAPIMaxRequestSizeInBytes

Type Level Specificity Default
int System 5242880
The maximum number of bytes to accept in an xAPI request before returning an error. The default is 5 mebibytes.

xAPIObjectStoreRepairs

Type Level Specificity Default
Enum System empty string
Some customers who upgraded to Engine 2015.1 from earlier versions of Engine and were using xAPI may experience bugs arising from the keys in the upgraded object store not matching the scheme used in 2015.1 and later. Setting this allows customers to fix this issue by automatically searching for certain objects based on the location they would have had in 2014. The valid choices here are UriHashCase and DocumentHashCase. Both options should be enabled for Java customers with this problem; only UriHashCase is necessary for .NET customers. In both cases, be sure to consult with Engine support before enabling, so we can confirm this problem applies to you.

xAPIEnablePublicEndpoint

Type Level Specificity Default
bool System false
If set, allows unauthenticated access to a public xAPI endpoint.

xAPILaunchTokenLifeInSeconds

Type Level Specificity Default
int System 28800
Sets the initial life of the TinCan Launch Token. This time is only set when the token is first created. Default is 8 hours.

xAPILaunchTokenUpdateLifeInSeconds

Type Level Specificity Default
int System 0
Sets the updated life of the TinCan Launch Token. This time will be added to the expiry every time the token is accessed. Default is 0.

xAPILaunchTokenCleanupIntervalInSeconds

Type Level Specificity Default
int System 7200
How long to wait between each execution of the background task that cleans up expired xAPI launch tokens. Default is 2 hours.

UsePlayerForTinCanLaunches

Type Level Specificity Default
bool Registration true
Sets whether Tin Can launches should use Engine's player rather than launching the course directly.

AllowWritableUserAgentProfile

Type Level Specificity Default
bool Registration false
Allow launched cmi5 or Tin Can content to write to the user agent profile of the learner associated with the course launch.

CharsToNonRandomizeUuid

Type Level Specificity Default
int Tenant 2
How many characters from the start of some uuids should be set in deterministic way to improve clustering. The maximum allowed value is 6 and a value between 2 and 4 is recommended

IntervalInSecondsPerGroupingOfUuids

Type Level Specificity Default
int Tenant 600
Sets the length of interval used to normalize some uuids. For example if set to 600, the ids created during that period of 600s (10 minutes) would start with the same characters, with the amount of characters used determined by 'CharsToNonRandomizeUuid'

LRS Settings


SystemHomepageUrl

Type Level Specificity Default
string Tenant
The absolute URL of the canonical, permanent, homepage for this system. Ideally this really is the homepage a user would use to access the system, but this must be canonical and permanent: that is, it is a single URL the system can be identified by. This setting is required for xAPI, in order to create actor objects for users in the system. It is also used to construct activity IDs during SCORM to xAPI conversion.

xAPIFilesPath

Type Level Specificity Default
string Tenant RusticiSoftware.ScormContentPlayer.Logic.DataAccess.FileStorage.NullStreamingFileStore
This setting is a fallback for both xAPILargeDocumentsPath and xAPILargeAttachmentsPath. If those settings are not given, this setting will be used instead.

xAPILargeDocumentsPath

Type Level Specificity Default
string Tenant
The root path or file store (see file stores) where large xAPI documents will be stored (see xAPIMaxDocumentSizeForDatabaseInBytes to define "large").

xAPILargeAttachmentsPath

Type Level Specificity Default
string Tenant
The root path or file store (see file stores) where large xAPI attachments will be stored (see xAPIMaxDocumentSizeForDatabaseInBytes to define "large").

HashContentFilesForActivityId

Type Level Specificity Default
bool Tenant true
Specifies whether or not non-xAPI content files should be hashed to generate an activity ID during import. If true, then all of the files in the content directory are hashed to generate the activity ID. If false, then only the manifest file is hashed.

xAPIValidations

Type Level Specificity Default
Enum Tenant AttachmentContentTransferEncoding, SignatureContentType, NoUnexpectedParameters, IdenticalDocumentsCanConflict, StatementSchemaValidation, StatementSchemaValidationIncludingInteractions, NewDocumentsRequireETag
xAPI validations that are required to pass the conformance test (and indeed to conform to xAPI), but were not present in prior releases of Engine. These should be left on if possible, but are provided as a setting to enable non-conforming requests to work if needed. To disable all xAPI validations, use the value "none".
Value Description
AttachmentContentTransferEncoding (attachments) MUST include a Content-Transfer-Encoding field with a value of 'binary' in each part's header after the first (statements) part. Note the above MUST applies to the attachment itself, the LRS does not have a 'MUST' for validating this header
SignatureContentType xAPI signatures have a content type of application/octet-stream
NoUnexpectedParameters no unexpected parameters are sent on xAPI request
IdenticalDocumentsCanConflict xAPI does not make an exception to the concurrency rules for document PUT requests for identical documents (the same document PUT multiple times). This setting will enable checking identical documents for concurrency E-Tags, and possibly reject them as a conflict
StatementSchemaValidation Validate xAPI statements against 'tin-can-json-schema'
StatementSchemaValidationIncludingInteractions Validate xAPI statements, including interaction activity details included in those statements, against 'tin-can-json-schema'
NewDocumentsRequireETag xAPI does not make an exception to the concurrency rules for document PUT requests where a new document is being written This setting will enable checking new documents for concurrency E-Tags, and possibly reject them

xAPIPostProcessContextParameters

Type Level Specificity Default
string[] Tenant top , left , content_token , width , content_endpoint , height, Content-Length
Only relevant if TinCanPostProcessContext is overriden, or as a way to consume extraneous parameters so they are not flagged as 'unexpected'. Comma-delimited, case sensitive list of xAPI parameters to pass to the TinCanPostProcessContext integration method requestParameters collection. This is needed because xAPI requires us to consider any unexpected parameters an error, so if an integration uses parameters from the xAPI call it needs to declare that usage. The default value contains extra parameters the combination of the Engine player and the TinCan launch process recomendation typically cause to be sent.

EnableExistingActivityIdParserWarnings

Type Level Specificity Default
bool Tenant true
When enabled (default), parser warnings will be generated during import of packages with activities that are either already mapped to a package, or recorderd in the LRS.

xAPIMaxSizeForDatabaseInBytes

Type Level Specificity Default
int Tenant 64000
Setting that determines the max number of bytes to put into a DB for a document or attachment before trying to store the document in a file store (see xAPILargeDocumentsPath and xAPILargeAttachmentsPath). Unfortunately, documents and attachments stored in the database must be kept entirely in memory, and so it is advantageous to put larger documents and attachments in the filestore, which supports streaming (low memory usage).

xAPIUrlPrefix

Type Level Specificity Default
string System lrs
The URL prefix that is used for xAPI requests.

xAPIUrl

Type Level Specificity Default
string Tenant
The full URL that is used for xAPI requests. If the value is not specified, a default value of {RusticiEngineUrl}/{xAPIUrlPrefix}/ will be used. Note: xAPI requests will fail if xAPIUrl does not contain /{xAPIUrlPrefix}/

LrsAuth Settings


LrsAuthCallbackMaxCacheSize

Type Level Specificity Default
int Tenant 500
The number of cache entries at which to obliterate the auth callback cache to prevent excessive memory usage.

LrsAuthCallbackUrl

Type Level Specificity Default
secretString Tenant empty string
Call back URL that will provide basic auth authorization. Will convert username:password@hostname to basic authentication if provided.

LrsAuthCacheSecondsSuccess

Type Level Specificity Default
int Tenant 1800
The default amount of time to cache a successful LRS auth callback. Can be overridden via auth callback response for each individual request if necessary

LrsAuthCacheSecondsFailure

Type Level Specificity Default
int Tenant 60
The default amount of time to cache an unsuccessful LRS auth callback. This value acts as a timeout that will prevent multiple quick requests (eg, DoS) to the callback page should there be an issue connecting or getting a response.

xAPIBasicAccounts

Type Level Specificity Default
ConfiguredAccount[] Tenant empty string
A set of xAPI accounts can be optionally specified. To use one of these accounts, the same username and password must be sent over HTTP basic auth to the xAPI endpoint. These should be separated by newlines, and must be of the form username:password:role. A bcrypt password hash may be used for the password portion. The roles are as follows:
* user : typical, default permissions, allowing the account to assert any statement, and read only those statements they have asserted or play some role in
* read-only : allowed to read all statements and state documents, but not write anything
* write-only : allowed to write any statement or xAPI document, but not read anything
* root : allowed to read and write any statement or xAPI document

API Settings


ApiAlternateIdDelimiter

Type Level Specificity Default
string System ~
A delimiter that may be used instead of | when passing External IDs to API calls, since | can be a problem in URL paths.

ApiRoot

Type Level Specificity Default
string System /api/
The root path (under the main application path) for the API (before the API version).

NancyConsolePassword

Type Level Specificity Default
secretString System empty string
Password for the Nancy Diagnostic Console (/RusticiEngine/_Nancy). Leave blank to disable. (.NET only)

ApiImportResultsPostBackUrl

Type Level Specificity Default
secretString Tenant empty string
Specifies a URL to which to post import results, will convert username:password@hostname to basic authentication if provided. You can use the value 'noop' to disable postbacks configured at a lower level (e.g., disable postbacks for a single tenant when a value has been configured at the system level for everyone).

ApiPostbackProcessorSleepSeconds

Type Level Specificity Default
int System 300
How long to sleep between checking for postback tasks to retry (note: the first try is always immediate, either by being synchronous or by triggering an async check of the queue.)

ApiResultLimit

Type Level Specificity Default
int System 100
Maximum number of items to return in a list at once.

ApiResultLimitSinceNotSpecified

Type Level Specificity Default
int System 10
Maximum number of items to return in a list at once when the 'since' parameter is available and not used. The only reason since is not a required parameter is to make testing the API easy, and long lists are not required for that.

ApiDoNotCheckAuthentication

Type Level Specificity Default
bool Base false
For use when API authentication will be handled by a proxy or other software outside of Engine. All API calls will be allowed, IsAllowed() will not be called.

ApiEnableV2

Type Level Specificity Default
bool Base true
Is the v2 API enabled? If false requests to the v2 API will be rejected regardless of the credential specified.

ApiIndentJson

Type Level Specificity Default
bool Base false
Format the JSON returned from the API nicely, useful when developing but should usually be turned off in production for performance and payload size reasons.

ApiBasicSystemAccounts

Type Level Specificity Default
ConfiguredAccount[] System empty string
A set of basic auth "accounts" comprising different API users for the system. The setting takes the form of `username:password[:role]` (the role is optional). A bcrypt password hash may be used for the password portion. At this moment, the only valid role is `root`.

ApiBasicTenantAccounts

Type Level Specificity Default
ConfiguredAccount[] Tenant empty string
A set of basic auth "accounts" comprising different API users for a particular tenant. The setting takes the form of `username:password[:role]`, where the role is optional. At this moment, the only valid role is `tenant`.

ApiTokenSecret

Type Level Specificity Default
secretString Tenant
Secret used to sign tokens generated by the API, currently used in signed launch links. If the string starts with '0x' the remainder will be interpreted as hexidecimal.

PreviousApiTokenSecret

Type Level Specificity Default
secretString Tenant empty string
The previous ApiTokenSecret used to allow ApiTokenSecret rotation. Tokens previously built with it can continue to be validated, but it will not be used when creating new tokens.

ApiTokenPostbackValidHours

Type Level Specificity Default
int Tenant 24
Number of hours the token used to authenticate SCORM runtime postbacks (when using signed launch links) is valid.

ApiUseSignedLaunchLinks

Type Level Specificity Default
bool Tenant false
If enabled, launch links generated by the API will be signed, and only signed launch links will be accepted by the player (so launch links must be generated via the API).

ImportLinkLocation

Type Level Specificity Default
string System defaultui/import
The path to the import page used when you have generated an import URL to POST to.

DefaultImportRedirectLocation

Type Level Specificity Default
string System defaultui/defaultredirect
Default redirect URL to redirect to after import via `defaultui\import` page if none was supplied.

JobTimeoutSeconds

Type Level Specificity Default
int Tenant 36000
The number of seconds until a `RUNNING` job is marked `TIMEOUT`.

ApiPingCheckDatabase

Type Level Specificity Default
bool System false
Determines whether a simple connectivity check of the Engine database should occur in the execution of the /ping resource.

ApiCourseDeleteAttemptDeleteFiles

Type Level Specificity Default
bool Registration false
Controls whether or not deleting a course through the API should also attempt to delete the course's files. This functionality will only work for courses that are located within the FilePathToContentRoot that you have configured. It will not delete the metadata files for remote AICC or Tin Can courses.

ApiMaxAuthTokenLifetimeSeconds

Type Level Specificity Default
int System 28800
Maximum amount of seconds from now an API token expiration may be set to, when creating a token. Note: there is no way to invalidate individual tokens besides waiting for them to expire, so be careful with long lived tokens.

WebHookAuthConfiguration

Type Level Specificity Default
JObject Tenant
Configuration for WebHookAuth plugin. See Integrating With Engine / Web Hooks in documentation

WebHookCustomUserAgent

Type Level Specificity Default
string Tenant empty string
Custom user agent header to set for web hook requests.

SystemWebHookAdditionalHeaders

Type Level Specificity Default
string[] System empty string
Additional headers which will be added to web hook requests which are not associated with a tenant, or for which a tenant override isn't set. Comma delimited list in the format of 'headerName:value'

TenantWebHookAdditionalHeaders

Type Level Specificity Default
string[] Tenant SystemWebHookAdditionalHeaders
Additional headers which will be added to web hook requests for a given tenant. If this is not set for a given tenant, or if the request is not tied to any tenant, the list from 'SystemWebHookAdditionHeaders' will be used. If this is set for a given tenant, this list overrides the list in 'SystemWebHookAdditionalHeaders'. Comma delimited list in the format of 'headerName:value'

WebHookLoggedMessageBodyMaxLength

Type Level Specificity Default
int System 1000
When a web hook failure is logged, the logged MessageBody should be truncated to what length? A value of "0" will not show the MessageBody.

SubscriptionClientCertificatePath

Type Level Specificity Default
string System empty string
Client Certificate to be used by subscription event notifications

SubscriptionClientCertificatePassword

Type Level Specificity Default
string System empty string
Password for the Client Certificate used by subscription event notifications

ApiRollup Settings


ApiRollupRegistrationPostBackUrl

Type Level Specificity Default
string Registration empty string
Specifies a URL to which to post activity and status data within an interval in which dirty data is available or as soon as possible when the course is completed. You can use the value 'noop' to disable postbacks configured at a lower level (e.g., disable postbacks for a single tenant when a postback url has been configured at the system level).

ApiRollupRegistrationSynchronous

Type Level Specificity Default
bool Registration true
The initial attempt to post registration data will occur synchronously as the course is being completed.

ApiRollupRegistrationAuthType

Type Level Specificity Default
string Registration httpbasic
Indicates how to authorize against the given postbackurl, can be 'form' or 'httpbasic'. If form authentication, the username and password for authentication are submitted as form fields 'username' and 'password', and the registration data as the form field 'data'. If httpbasic authentication is used, the username and password are placed in the standard Authorization HTTP header, and the registration data is the body of the message. This field is set to 'httpbasic' by default.

ApiRollupRegistrationAuthUser

Type Level Specificity Default
string Registration empty string
User name to use when posting registration data.

ApiRollupRegistrationAuthPassword

Type Level Specificity Default
secretString Registration empty string
Password to use when posting registration data.

ApiRollupRegistrationFormat

Type Level Specificity Default
string Registration activity
Level of detail in the information that provided when posting registration data. It may be one of three values: 'course' (course summary), 'activity' (activity summary, or 'full' (full detail), and is set to 'activity' by default. The information will be posted as JSON, using the schemas for the registration /progress or /progress/detail resources depending on the format selected, with an additional wrapper specifying the registration ID.

ApiPostbackTimeoutSeconds

Type Level Specificity Default
int Tenant 10
Timeout in seconds for API rollup registration postback.

ApiRollupRegistrationDuringSession

Type Level Specificity Default
bool Registration true
Should rollup registration postbacks be sent during a learning session, instead of waiting for the learner to exit?.

Database Settings


SystemDatabaseEnabled

Type Level Specificity Default
bool Base true
Should the system database be used? Note: if disabled, features that use system wide queues such as PENS and xAPI pipes will not work. Multiple tenants per DB are not supported without a system database. This setting must be set as desired upon initial installation of Engine, changing it on a existing system is likely to result in data loss.

UseSystemDatabaseForTenantSettings

Type Level Specificity Default
bool Base SystemDatabaseEnabled
Should the system database be used to store tenant settings (other than the connection string)? Note: if disabled, setting tenant settings other than connection string will fail until a valid connection string is configured for the tenant.

SystemDatabaseConnectionString

Type Level Specificity Default
secretString Base
The connection string to use when connecting to the system schema

DatabaseSchema

Type Level Specificity Default
string Base empty string
The DBMS-level schema to use when connecting to the database. At this moment, it is not possible to specify different tenant and system DBMS schemas.

TenantDatabaseConnectionString

Type Level Specificity Default
secretString Tenant SystemDatabaseConnectionString
The connection string to use when connecting to the tenant schema. For customers using multiple tenant DBs, this should be set to NOT_CONFIGURED in your configuration file.

TenantDatabaseReadReplicaConnectionString

Type Level Specificity Default
secretString Tenant empty string
The connection string to use when connecting to the read replica for a tenant schema.

ReadReplicaMaximumExpectedLagMS

Type Level Specificity Default
int Tenant 2000
The expected maximum expected amount of lag time before the read replica reflects updates. Used to set X-Experience-API-Consistent-Through, and may be used in a future version of Engine to determine what other reads may be safely serviced via the replica.

DataPersistenceEngine

Type Level Specificity Default
string Base
A string (`sqlserver`, `mysql`, `postgresql`, or `oracle`) corresponding to the DBMS flavor in use.

DatabaseTimeoutSeconds

Type Level Specificity Default
int Base 60
The timeout (in seconds) to set on database operations. This setting applies only to .NET.

DatabaseRetryCount

Type Level Specificity Default
int Base 3
The number of retries we should attempt an database action when contending for shared locks.

MaxPersistableStringLength

Type Level Specificity Default
int Base 2500000
The maximum string length (in characters) to allow through to the database.

TenantIdLength

Type Level Specificity Default
int Base 2
The length, in bytes, of the tenancy field in the database

StoreRuntimeDataAsLob

Type Level Specificity Default
bool Base true
Determines whether runtime data received from player should be stored in a lob column or normalized.

UseNativePostgreSqlUpserts

Type Level Specificity Default
bool Base true
By default, Engine will use the INSERT / ON CONFLICT upserts for PostgreSQL databases instead of first trying to insert and then updating if there's a conflict. Must be using PostgreSQL 9.5+ to use this setting. To disable the behavior for older versions of PostgreSQL, set this value to false.

Upsert Settings


MaxRowsPerDatabaseUpsert

Type Level Specificity Default
int System 1
The maximum number of rows we should send in a single datbase upsert (merge) statement. Set to 0 for no limit.

MaxUpsertSizeInBytes

Type Level Specificity Default
int System 0
The maximum size of each upsert (merge) statement in bytes. Set to 0 for no size limit. This setting is usually only necessary for MySQL customers with a very small max_allowed_packet value.

MaxParametersPerDatabaseUpsert

Type Level Specificity Default
int System 2100
The maximum number of parameters to include in a single database upsert/merge statement. Set to 0 for no limit. The default of 2100 is based on limits inherent to SqlServer.

AttemptInsertBeforeUpsert

Type Level Specificity Default
NullableBoolean System null
If true, attempt to use inserts before upserts. This can result in a signficant performance gain in systems where inserts would generally be expected to succeed, such as the Engine upgrade tool. The use of this setting is not supported with PostgreSQL and can result in errors.

Tenancy Settings


TenancyEnabled

Type Level Specificity Default
bool System true


AllTenantNames

Type Level Specificity Default
string[] System empty string
List of tenants for when Engine needs to iterate over all tenants in a systemless installation.

TenantSettingSyntaxEnabled

Type Level Specificity Default
bool Base true
Enable tenant setting prefix syntax (tenantName.settingId) for configuring tenant specific settings in the configuration file. Disabling this when not in use can save memory on systems with a large number of tenants.

ProxiedRequests Settings


ForwardedHost

Type Level Specificity Default
string System empty string
The original (before proxying) value of the "Host" header field in Engine requests (i.e. the targeted host of a request at its origin). As with the "Host" HTTP header, this value may come with a port number appended.

ForwardedProtocol

Type Level Specificity Default
string System empty string
The original (before proxying) protocl used to send requests to Engine. If the Engine server is behind an SSL Offloading proxy, this value will likely be HTTPS.

Encryption Settings


EncryptionPassword

Type Level Specificity Default
string Special empty string
This setting gives the secret key used for encryption of configuration settings, and xAPI pipe passwords. If this is set to a 128 bit value expressed as hex in the format '0xABCD...', it will be used as the encryption key. If not, it will be used to generate a key, which will introduce a small delay the first time the key is needed.

PreviousEncryptionPassword

Type Level Specificity Default
string Special empty string
For use when changing passwords. Set this to the prior value of EncryptionPassword so values encrypted with it can continue to be decrypted until encrypted with the new password.  Note: for fallback to a previous password to work, the Encryptor must detect and throw an exception when decryption fails.

Encryptor

Type Level Specificity Default
string Special RusticiSoftware.ScormContentPlayer.Logic.Encryption.AES128bitGCMNoPaddingEncryptor
An implementation of RusticiSoftware.ScormContentPlayer.Logic.Encryption.IEncryptor to be used for encryption and decryption of configuration settings and/or external IDs.

PreviousEncryptor

Type Level Specificity Default
string Special empty string
The previously used implementation of RusticiSoftware.ScormContentPlayer.Logic.Encryption.IEncryptor used, so values encrypted with it can continue to be decrypted until encrypted with the new encryptor. Note: for fallback to a previous encryptor to work, the main Encryptor must detect and throw an exception when decryption fails.

ConfigurationEncryptionExceptions

Type Level Specificity Default
string[] Special empty string
A comma delimited list of setting ids to encrypt or avoid encrypting, ignoring the default for that setting. Prefix settings to encrypt with '+' and settings to avoid encrypting with '-'.

EncryptConfigurationSettings

Type Level Specificity Default
bool Special false
If true (and encryption passsword is specified), configuration settings of type 'secretString' will be encrypted.

HashAccountPasswords

Type Level Specificity Default
bool System true
If true then when storing configuration settings of type 'accounts', any passwords provided that are not bcrypt hashes will be converted to bcrypt hashes.

Misc Settings


Plugins

Type Level Specificity Default
string[] Base empty string
Comma separated list of implementation definitions that dictates which plugins are loaded by Engine if available. Plugins that are loaded by default can be disabled by listing the plugin preceded by '-' (i.e. '-ContentConnector.YouTube').

GenerateTinCanLaunchStatements

Type Level Specificity Default
bool Registration true
Specifies whether to generate and save 'launched' statements during Tin Can launches

TinCanInteractionsEnabled

Type Level Specificity Default
bool Registration true
If enabled, Engine will extract runtime interaction details from certain xAPI statements and include them in the progress data reported by the API and the registration postback (in 'full' format).

UseStatementTimestampInRegistrationUpdates

Type Level Specificity Default
bool Tenant true
Normally the FirstAccessDate and CompletedDate values are set to the current time when the statement is processed and we update the registration state from it. This switches to using the timestamp value from the statement triggering the registration update for these values where applicable.

ValidateManifestsUsingXsd

Type Level Specificity Default
bool Tenant true
Whether to additionally validate manifests using an XML parser as well as the Engine validation

SSPEnabled

Type Level Specificity Default
bool System true
Can be disabled if no content is ever going to use SSP. Marginal player performance may be perceived by doing so.

DefaultCommCommitFrequency

Type Level Specificity Default
int System 10000


RusticiEngineUrl

Type Level Specificity Default
string Base empty string
Context path to which Engine has been deployed

WebPathToContentRoot

Type Level Specificity Default
string Tenant
A web path (URL) pointing to the directory that is hosting your course content. If you're hosting the content on the same domain as Engine, then you can exclude the domain in your URL (i.e. "/path/to/content/root").

WebPathToContentRootHistory

Type Level Specificity Default
string[] Tenant empty string
A list of historical values used for WebPathToContentRoot, which allows the launch links of packages uploaded when these historical values were in effect to be updated so as to reflect the current value. These entries are not required to be in historical order.

ContentAuthCookieFactory

Type Level Specificity Default
string Tenant empty string
For generating cookies to allow access to content. Definition for an 'ICookieAuthFactory' implementation. Format: 'full.class.name|assembly.name, constuctorarg1, arg2, arg3' (assembly name is not needed for Java, or where class is in RusticiSoftware.Engine). Engine provides an implementation for Amazon CloudFront. Example for CloudFront authentication cookies that will expire in 8 hours: 'RusticiSoftware.ScormContentPlayer.Logic.Utilities.CloudFrontCookieFactory, /fullpath/to/privatekey.pem, keyPairId, 480'

SimpleQueueRetryInitialDelaySeconds

Type Level Specificity Default
int System 600
How long to mark tasks as ineligible for processing when picking them up. This time will be doubled after each retry.

SimpleQueueMaxRetries

Type Level Specificity Default
int System 9
How many times to attempt a queued item before giving up. Note that the last retry will have a delay of 2^(n-1) * SimpleQueueRetryInitialDelaySeconds

ApiPostbackProcessorMaxBatchSize

Type Level Specificity Default
int System 10
Maximum number of rollup registration tasks to dequeue for processing at once.

FilePathToContentRoot

Type Level Specificity Default
string Tenant
The path to the directory or file store (see file stores) where uploaded and unzipped files should be placed.

FilePathToUploadedZippedPackage

Type Level Specificity Default
string Tenant
The path or file store (see file stores) where uploaded zip files should be placed. In a future release this may be used to allow different Engine instances to receive an upload and process the import, but for now there is no reason this shouldn't just be set to a temporary directory on the local file system.

StorePlayerDebugLogsInFileStoreOnExit

Type Level Specificity Default
bool Registration false
Determines whether or not the player debug logs will be saved to the file store automatically when the player exits. With this setting set to true, if PlayerDebugLogsStorageLocation is set, then the player debug logs will be stored in the location configured by that setting.

PlayerDebugLogsStorageLocation

Type Level Specificity Default
string Tenant
The path to the directory or file store (see file stores) where the player debug logs will be stored. If this setting is configured, then clicking 'Save Debug Log' in the debugger will save the player debug logs to this location.

RedirectOnExitUrlAcceptedRegex

Type Level Specificity Default
string Registration empty string
This regex will be used to check the RedirectOnExitUrl values passed in the launch URL (not the RedirectOnExitUrl configuration value). If it passes, then the RedirectOnExitUrl value in the launch URL will be used to redirect the user on course exit. If it does not pass, then it uses the configuration value for RedirectOnExitUrl.

RedirectOnExitUrl

Type Level Specificity Default
string Registration
The URL the application should redirect to when the learner exits a course

DefaultModernPlayerTheme

Type Level Specificity Default
string Registration default
(Deprecated) See 'ModernPlayerCustomizationStylesheetUrl'. The modern player theme to use unless otherwise specified in the launch URL.

RedactLogs

Type Level Specificity Default
bool Base false
Redact personally identifiable information and credentials when logging.

SQLDebugLogMinimumExecutionMS

Type Level Specificity Default
int Base 0
When DEBUG level loging is enabled so Engine's SQL statements are logged, only log statements that take at least this many milliseconds to execute.

RedactedItems

Type Level Specificity Default
string[] Base ExternalRegistrationId, value, .*secret.*, .*ConnectionString.*, object_value, property_value, .*username.*, .*password.*, queue_entry, global_objective_scope, suspended_activity_id, api_learner_id, first_name, last_name, api_registration_id, data,asserter_id, asserter_json, agent
Comma delimited, case insensitive list of regular expressions (start and end anchors will be added) to match columns, configuration setting ids, or external ID class names to redact, if RedactLogs is enabled (otherwise this list has no effect).

UnRedactedColumns

Type Level Specificity Default
string[] Base engine_tenant_id, scorm_registration_id, tincan_registration_id, update_by, update_dt
Comma delimited, case insensitive list of regular expressions (start and end anchors will be added) to match columns that should NOT be redacted even though they appear in a table referenced in 'RedactedTables', if RedactLogs is enabled (otherwise this list has no effect).

RedactedTables

Type Level Specificity Default
string[] Base ScormActivity.*, ScormLaunchHistory, ScormRegistrationGlobalObj, TinCanRegistration
Comma delimited, case insensitive list of regular expressions (start and end anchors will be added) to match tables to redact (all columns that appear in one of these tables are redacted), if RedactLogs is enabled (otherwise this list has no effect).

WhenToRestartRegistration

Type Level Specificity Default
Enum Registration WHEN_EXISTING_REG_IS_COMPLETE_AND_NEWER_PACKAGE_VERSION_EXISTS
Determines whether or not to restart a registration when launching it.
Value Description
NEVER Never restart an existing registration (never increment instance id)
WHEN_EXISTING_REG_IS_COMPLETE_AND_NEWER_PACKAGE_VERSION_EXISTS Restart course (increment instance id) when the overall course when a newer version of the associated course package exists and course status is 'Complete'
WHEN_NEWER_PACKAGE_VERSION_EXISTS Restart course (increment instance id) when a newer version of the associated course package exists
WHEN_EXISTING_REG_IS_COMPLETE Restart course (increment instance id) when the course has been completed, regardless of satisfaction (pass/fail).
WHEN_EXISTING_REG_IS_SATISFIED Restart course (increment instance id) when the overall course status is 'Satisfied'
WHEN_EXISTING_REG_IS_SATISFIED_AND_NEWER_PACKAGE_VERSION_EXISTS Restart course (increment instance id) when the overall course is satisfied and a newer version of the associated course package exists and course status is 'Satisfied'
WHEN_EXISTING_REG_IS_INCOMPLETE_AND_NEWER_PACKAGE_VERSION_EXISTS Restart course (increment instance id) when the overall course is incomplete and a newer version of the associated course package exists.
WHEN_EXISTING_REG_IS_FAILED Restart course (increment instance ID) when the overall course is failed.
WHEN_EXISTING_REG_IS_FAILED_AND_NEWER_PACKAGE_VERSION_EXISTS Restart course (increment instance ID) when the overall course is failed and a newer version of of the associated course package exists.

AllowedRequests

Type Level Specificity Default
string[] System LAUNCH_PAGE, DELIVER_PAGE, RECORD_AICC_RESULTS_PAGE, RECORD_SCORM_RESULTS_PAGE, SUPPORT_PAGES
Comma delimited whitelist of non-API request types that are allowed (see documentation for SecureMethod enum for valid entries).

AiccSessionPerLaunch

Type Level Specificity Default
bool Tenant false
If true, the AICC session ID will be created for each launch, and only valid until that launch session has terminated. Otherwise sessions will be precreated for a registration and valid as long as that registration exists.

UpdateRunTimeDataLockExpireSeconds

Type Level Specificity Default
int System 10
How many seconds to lock the registration for when updating SCORM runtime data. Specifying 0 disables registration locking.

UpdateRunTimeDataLockWaitSeconds

Type Level Specificity Default
int System 11
How long to wait for a lock on the registration when updating SCORM runtime data.

ManifestDirPathAcceptedRegex

Type Level Specificity Default
string System empty string
This regex will be used to check the manifestDirPath in a preview launch. If the manifestDirPath matches this regex, then the manifest will be downloaded and validated. Otherwise preview launch will throw an exception. By default this setting is empty, meaning that nothing will be accepted and preview launch will always throw an exception.

Cmi5EntitlementKeyAlternate

Type Level Specificity Default
string Registration empty string
Value to be provided to AUs in cmi5 `LMS.LaunchData` as the alternate entitlement key.

EnableRecordingMetrics

Type Level Specificity Default
bool Base false
If true, Engine will record various metrics and enable an endpoint that exposes those metric values for reporting.

Cmi5RequireLearnerPreferencesReadBeforeInitialized

Type Level Specificity Default
bool Registration true
The cmi5 spec states, "On startup, the AU MUST retrieve the Learner Preferences document from the Agent Profile." disabling this setting will ignore that requirement.

EnforceStrictCmi5

Type Level Specificity Default
bool Registration true
If true, Engine will enforce cmi5 requirements strictly.

ApplicationInstanceId

Type Level Specificity Default
string System empty string
A unique indentifier to be set on a particular instance of Engine, which is probably best done through an environment variable. Currently only used to refer to instances in the 'BackgroundProcessors' setting value.

BackgroundProcessors

Type Level Specificity Default
BackgroundProcessorConfigurationList[] System empty string
Use this setting to list which background processors will run or not. A background processor will default to its particular setting unless explicitly stated as activated or deactivated. For the 'Instance' value, set and refer to a particular 'ApplicationInstanceId' setting or use 'All' to affect all instances.

BackgroundProcessorManagerSleepSeconds

Type Level Specificity Default
int System 300
The maximum interval of time at which Engine will check on its background processors.

Caching Settings


ExternalCacheConfiguration

Type Level Specificity Default
string Base empty string
Configuration for the external cache. For memcache this is a JSON object with a 'servers' property which is the list of cache servers to use in 'hostname:port' format, and 'timeoutMs' (default 2000) and `updateTimeoutMs` (default 4000) properties which are the timeouts in milliseconds for cache read/update requests respectively.

ExternalCacheKeyPrefix

Type Level Specificity Default
string Base RusticiEngine_
Prefix for external cache keys to avoid collisions with other systems using the same cache. If multiple Engine installations will share a cache, each one should set this to a different value.

LocalCacheExpiryMilliSeconds

Type Level Specificity Default
string[] Base default|600000, configuration|60000
How long items may persist in the local cache, in milliseconds. For typical server farm installations, this should be how old a stale value it is acceptable to use, as cache invalidations will not propogate to local caches. Each entry is in cachedObject|milliseconds format, and default applies to any cached object without its own value. cachedObject|-1 indicates no expiration, which is only appropriate for single-server installations. CachedObject|0 disables the local cache for that object type. If a remote cache is in use, these values should probably be lowered until traffic to the remote cache becomes a bottleneck.

ExternalCacheExpiryMinutes

Type Level Specificity Default
string[] Base default|14400
How long items may persist in the external cache, in minutes. Defaults to 10 days. This should generally be set to at least a day, as the only reason to expire external cache items is as a fallback in case an invalidation call fails. cachedObject|-1 indicates no expiration, cachedObject|0 disables the external cache for that object type.

LocalCacheDisableForLowFrequency

Type Level Specificity Default
bool Base false
For installations with many Engine application servers (particularly with an external cache enabled) it may not be worth the memory usage or locks to store entries that are unlikely to be frequently used in a short time period. Enabling this setting disables the local cache by default for such items. Note that configuring a LocalCacheExpiryMilliSeconds entry for such an item will override this behavior.

LocalCacheMaxEntries

Type Level Specificity Default
int Base 10000
The maximum number of entries that will be retained in the local memory cache before items will be evicted (currently via TinyLFU on Java).

LocalCacheEnabled

Type Level Specificity Default
bool Base true
Is the local cache enabled? Disabling the local cache is not recommended unless an extremely fast and reliable external cache is used.

Offline Settings


OfflineContentPathAcceptedRegex

Type Level Specificity Default
string Tenant empty string
This regex will be used to check the pathToContent parameter when exporting an offline course. If the pathToContent matches this regex, then the offline course will be exported, otherwise the export will throw an exception. By default this setting will deny all paths so is required if the pathToContent param is to be used. Note: 'AllowedRequests' must also be set to include 'OFFLINE_SERVICES' to allow exporting courses for offline use.

OfflinePathToContentRoot

Type Level Specificity Default
string Tenant FilePathToContentRoot
Path to the directory or file store that is the root of where offline package content can be found.

OfflineZipOutputLocation

Type Level Specificity Default
string Tenant
The path to the directory or file store (see file stores) where offline zip files should be placed.

ConcurrentLaunch Settings


ConcurrentLaunchDetectionEnabled

Type Level Specificity Default
bool Registration true
Enable or disable concurrent launch detection.

ConcurrentLaunchDetectionHistoryRows

Type Level Specificity Default
int Registration 5
The number of launch history entries to load when detecting concurrent launches.

ForceExitConcurrentLaunches

Type Level Specificity Default
bool Registration false
If true, force exit of previous launch without showing concurrent launch detected page.

LaunchHistoryExpiration Settings


ShouldExpireLaunchHistory

Type Level Specificity Default
bool Tenant false
If true, purge old launch history entries. This can potentially save a lot of DBMS storage space.

ExpireLaunchHistoryAfterDays

Type Level Specificity Default
int Tenant 30
The minimum number of days that should pass before purging a launch history entry.

xApiStatementPipe Settings


xAPIStatementPipeEnabled

Type Level Specificity Default
bool System false
If true, enable the statement pipe feature.

xAPIStatementPipeSleepTimeMilliseconds

Type Level Specificity Default
int System 10000
When no pipes are ready to be processed, the statement pipe thread will sleep for this many milliseconds.

xAPIStatementPipeCooldownMilliseconds

Type Level Specificity Default
int Tenant 60000
The minimum amount of time, in milliseconds, that the statement pipe thread will wait to poll an endpoint for new statements after running out of new statements.

xAPIStatementPipeMaxBackoffHours

Type Level Specificity Default
int System 24
When piping statements, we may encounter an error when calling the API of either LRS. If we do, we retry after a set amount of time, that doubles with each successive failure. This value sets a maximum amount of time (in hours) we will wait between retries. If 0 is given, there is no maximum.

xAPIStatementPipeBatchSize

Type Level Specificity Default
int System 500
The maximum number of statements that we will send at a time when using the statement pipe feature.

xAPIStatementPipeWebTimeoutMilliseconds

Type Level Specificity Default
int System 10000
The timeout, in milliseconds, we will use when sending GET and POST requests to the LRSes involved in a statement pipe. This number is set fairly high by default to accomodate batches involving many attachments.

xAPIStatementPipeLockTimeSeconds

Type Level Specificity Default
int System 600
The amount of time, in seconds, a given machine can lock a statement pipe for exclusive use. This value should encompass the 'clock drift' between machines and any delays due to possible slow connections or failed timeouts.

xAPIStatementPipeMaxAttempts

Type Level Specificity Default
int System 90
The maximum number of times a statement pipe can fail (in a row) before Engine stops trying. With default backoff settings, the time between attempts quickly approaches xAPIStatementPipeMaxBackoffHours. So with default settings, this is roughly the # of days Engine will try a failing pipe for. Saving the pipe configuration again (specifying either the source or target url) will reset the attempt count, and restart the pipe.

DeliverCustomization Settings


RemoteDeliverPageUrl

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) location of the deliver HTML and player static files. Must be set to an absolute URL for LTI 1.3 platform support.

Note: As of version 21.1.7.219, there is a file, playerConfigurationUrl.json, in the /player folder that is deployed on the remote server. This will need to be modified to include the appropriate playerConfigurationUrl property value that points back to the PlayerConfiguration page in Engine (e.g., 'https://mydomain.com/RusticiEngine/PlayerConfiguration.jsp'). At runtime, for these remote deployments, Engine will retrieve this JSON file to determine what URL to use to retrieve the player configuration data.

RemoteDeliverPageUrlMap

Type Level Specificity Default
string[] Registration empty string
Mapping of keys to urls formatted as 'key1|url1, key2|url2'. When a remoteUrlKey in additionalValues matches a key in this list, the URL specified in this list will be used instead of RemoteDeliverPageUrl for that launch.

Note: As of version 21.1.7.219, there is a file, playerConfigurationUrl.json, in the /player folder that is deployed on the remote server. This will need to be modified to include the appropriate playerConfigurationUrl property value that points back to the PlayerConfiguration page in Engine (e.g., 'https://mydomain.com/RusticiEngine/PlayerConfiguration.jsp'). At runtime, for these remote deployments, Engine will retrieve this JSON file to determine what URL to use to retrieve the player configuration data.

ModernPlayerCustomizationScriptUrl

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) to a JavaScript file to load during modern player start up to allow for customization of player execution.

ModernPlayerCustomizationStylesheetUrl

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) to a CSS file to load during modern player start up to allow for customization of player appearance.

ModernPlayerCustomizationLogo

Type Level Specificity Default
string Registration empty string
Web path to an image file to show as customization of player appearance.

PrivacyPolicyUrl

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) that should be linked to as the privacy policy document.

IntermediatePageLoadAtStart

Type Level Specificity Default
bool Registration true
Whether to load the intermediate page in the content frame at launch before the loader takes over. Turning this off leads to a small performance optimization, but at the risk of the user not seeing a loading message particularly in multi SCO/AU courses with no automatic first SCO/AU load.

Player Settings


OriginTrialTokens

Type Level Specificity Default
string[] Registration empty string
Comma separated list of origin trial tokens that you wish to use with Rustici Engine player.

ExitPlayerOnSingleScoClose

Type Level Specificity Default
bool Registration true
If set to 'false', the player will not exit and redirect on SCORM 'exit' or 'suspend all' requests. If the content window is closed, the player will behave more like a multi-sco course, and the learner can relaunch the sco from the navigation pane.

PlayerIsAvailableOffline

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies whether the package is available to take offline

RedirectOnRefreshUrl

Type Level Specificity Default
string Registration empty string
Optional URL the application should redirect to when the learner refreshes the deliver page, which otherwise may result in a the content being re-launched. This can happen when the user deliberately refreshes the page, or uses the back button (except in IE where the back button just shows the existing page from cache and does not reload from the server, or re-run scripts)
Re-launch is a problem if the content was not suspended, as a new attempt will be generated which will not have all the details from the prior attempt (the prior attempt will still be shown in history).  So even though the user may have completed the initial attempt, they may appear to be incomplete.
This is an unusual problem, and frequently re-launching after a refresh is the best choice, so for now we only recommend assinging a value to this property if you have run into the problem described above.  The redirect page should minimally make it clear to the user how to get back into the content.

RedirectLaunchPageOnExit

Type Level Specificity Default
bool Registration false
When using any 'New Window' variant for PlayerLaunchType, if this setting is enabled, automatically returns the launch page to the LMS when the player window closes. This setting has no effect if the player launch type is frameset.

SupplementalQueryStringParametersForAllActivities

Type Level Specificity Default
string[] Registration empty string
Specifies parameter names that, when appended to the launch url, will be forwarded to all content activity pages.

UseDeltaRecordResultsPayload

Type Level Specificity Default
bool Registration true
If this setting is enabled, the payloads for RecordResults requests will be trimmed to only include data that has been updated since the previous successful RecordResults request. This can greatly reduce the size of the RecordResults payload.

RecordResultsMaxPayloadSizeInBytes

Type Level Specificity Default
int Registration 5242880
The maximum number of bytes to accept in a RecordResults request before returning an error. The default is 5 megabytes.

PlayerNavigation Settings


PlayerShowFinishButton

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should show a button that allows the learner to return to the LMS

PlayerShowCloseItem

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO cmi5: NO
MULTISCO: YES
Specifies whether the interface should show a button that allows the learner to exit the SCO

PlayerShowHelp

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should show a help button

PlayerShowProgressBar

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration YES AICC: NO
SCORM 2004 All Editions: NO
SINGLESCO: NO
Specifies whether the interface should show a progress bar

PlayerUseMeasureProgressBar

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO SCORM 2004 4th Edition: YES
Specifies whether the interface should determine progress bar progress using Measure Rollup or individual SCO completion.

PlayerShowCourseStructure

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should show the course outline to the learner

PlayerCourseStructureStartsOpen

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should show the course outline when the course loads or if it should initially be collaspsed and hidden. Only valid if ShowCourseStructure is true.

PlayerShowNavBar

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should show the navigation bar containing buttons like Prev, Next, Exit, etc

PlayerShowTitleBar

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should show the title bar containing the name of the package being delivered

PlayerEnableFlowNav

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO AICC: NO
MULTISCO: YES
Specifies whether the interface should allow the learner to use Previous and Next navigation elements to go through the course

PlayerEnableChoiceNav

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO MULTISCO: YES
Specifies whether the interface should allow the learner to choose specific parts to the course to take in any order from the course outline

PlayerPreventRightClick

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies whether the player should allow the learner to right click within its frames. This setting can add a small measure of security to the application by making it harder to view the source.

PlayerInvalidMenuItemAction

Type Level Specificity Default
Enum Registration DISABLE
Specifies the method of disabling items in the course outline which for which a request would not succeed.
Value Description
SHOW Show the menu item and have it fully enabled
HIDE Hide the menu item completely
DISABLE Show the menu item, but disable its link

SuppressNavbarWhenForcedFrameset

Type Level Specificity Default
bool Registration false
When enabled, prevents the navbar from showing for requests with the forceFrameset parameter

PlayerLaunchBehavior Settings


PlayerDesiredWidth

Type Level Specificity Default Conditional Defaults
int Registration 960 MULTISCO: 660
The number of pixels in width the course would like to have available, if possible, during delivery.

PlayerDesiredHeight

Type Level Specificity Default
int Registration 600
The number of pixels in height the course would like to have available, if possible, during delivery.

PlayerDesiredFullScreen

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies that the course is best experienced when it occupies the full screen.

PlayerRequiredWidth

Type Level Specificity Default
int Registration 0
The number of pixels in width the course must occupy to function correctly.

PlayerRequiredHeight

Type Level Specificity Default
int Registration 0
The number of pixels in height the course must occupy to function correctly.

PlayerRequiredFullScreen

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies that the course must be experienced in full screen mode to function correctly.

PlayerScoLaunchType

Type Level Specificity Default Conditional Defaults
Enum Registration NEW_WINDOW AICC: NEW_WINDOW
MULTISCO: FRAMESET
Specifies how the individual parts of the course should be launched
Value Description
FRAMESET Display the player or SCO in a child frameset.
NEW_WINDOW Display the player or SCO in a popup window.
NEW_WINDOW_AFTER_CLICK Display the player or SCO in a popup window after prompting the user to click a link to avoid popup blocker restrictions.
NEW_WINDOW_WITHOUT_BROWSER_TOOLBAR Display the player or SCO in a popup window (without toolbar).
NEW_WINDOW_AFTER_CLICK_WITHOUT_BROWSER_TOOLBAR Display the player or SCO in a popup window (without toolbar) after prompting the user to click a link to avoid popup blocker restrictions.

PlayerLaunchType

Type Level Specificity Default Conditional Defaults
Enum Registration FRAMESET xAPI: NEW_WINDOW
Specifies how the player as a whole should be launched for this course.
Value Description
FRAMESET Display the player or SCO in a child frameset.
NEW_WINDOW Display the player or SCO in a popup window.
NEW_WINDOW_AFTER_CLICK Display the player or SCO in a popup window after prompting the user to click a link to avoid popup blocker restrictions.
NEW_WINDOW_WITHOUT_BROWSER_TOOLBAR Display the player or SCO in a popup window (without toolbar).
NEW_WINDOW_AFTER_CLICK_WITHOUT_BROWSER_TOOLBAR Display the player or SCO in a popup window (without toolbar) after prompting the user to click a link to avoid popup blocker restrictions.

ForceFramesetUserAgentRegex

Type Level Specificity Default
Regex Registration empty string
The regex used to determine if a learner's User-Agent should force the course to launch as though the PlayerScoLaunchType were set to FRAMESET, ignoring the configured value. The default value of this setting will not match any User-Agent. This check can be disabled by setting ForceFramesetByRegex to false.

ForceFramesetByRegex

Type Level Specificity Default
bool Registration true
If a learner's User-Agent matches the regex defined by ForceFramesetByRegex, then the SCO will be launched in a frameset, ignoring the PlayerScoLaunchType. These settings can be used to force a package to launch within a frameset on mobile devices while launching the SCO in a new window for desktops.

PlayerPreventWindowResize

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies whether the player should allow the learner to resize its windows.

UseLegacyMobileFramesetBehavior

Type Level Specificity Default
bool Registration false
Determines how to handle mobile launches. When set to true, then Engine will use the old behavior (where forceFrameset is needed to do a frameset launch, and SuppressNavbarWhenForcedFrameset is needed to hide the navbar). When set to false, mobile launches will be treated the same way as desktop launches.

Scorm2004EditionOverride

Type Level Specificity Default
Enum Registration NONE
Modifies which edition of SCORM 2004 the content is treated as in the player
Value Description
NONE Treat the content as the learning standard it was imported as
SCORM_2004_2ND_EDITION Treat the content as a SCORM 2004 2nd edition course
SCORM_2004_3RD_EDITION Treat the content as a SCORM 2004 3rd edition course
SCORM_2004_4TH_EDITION Treat the content as a SCORM 2004 4th edition course

PlayerRudimentarySequencing Settings


PlayerIntermediateScoSatisfiedNormalExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration GO_TO_NEXT_SCO AICC: DO_NOTHING
SCORM 2004 All Editions: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO that has been satisfied in the middle of a course exits with an exit type of normal.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoSatisfiedSuspendExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration DISPLAY_MESSAGE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO that has been satisfied in the middle of a course exits with an exit type of suspend.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoSatisfiedTimeoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration DISPLAY_MESSAGE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO that has been satisfied in the middle of a course exits with an exit type of timeout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoSatisfiedLogoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE_AFTER_CONFIRM AICC: DO_NOTHING
SCORM 2004 All Editions: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO that has been satisfied in the middle of a course exits with an exit type of logout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoNotSatisfiedNormalExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration DISPLAY_MESSAGE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO in the middle of a course that has not been satisfied exits with an exit type of normal.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoNotSatisfiedSuspendExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration DISPLAY_MESSAGE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO that has not been satisfied in the middle of a course exits with an exit type of suspend.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoNotSatisfiedTimeoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration DISPLAY_MESSAGE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO that has not been satisfied in the middle of a course exits with an exit type of timeout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerIntermediateScoNotSatisfiedLogoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE_AFTER_CONFIRM AICC: DO_NOTHING
SCORM 2004 All Editions: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO that has not been satisfied in the middle of a course exits with an exit type of logout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseSatisfiedNormalExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DISPLAY_MESSAGE
MULTISCO: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO at the end of the course that has been satisfied exits with an exit type of normal.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseSatisfiedSuspendExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
MULTISCO: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO at the end of the course that has been satisfied exits with an exit type of suspend.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseSatisfiedTimeoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
MULTISCO: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO at the end of the course that has been satisfied exits with an exit type of timeout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseSatisfiedLogoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO at the end of the course that has been satisfied exits with an exit type of logout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseNotSatisfiedNormalExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
MULTISCO: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO at the end of the course that has not been satisfied exits with an exit type of normal.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseNotSatisfiedSuspendExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
MULTISCO: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO at the end of the course that has not been satisfied exits with an exit type of suspend.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseNotSatisfiedTimeoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
MULTISCO: DISPLAY_MESSAGE
The navigation behavior the SCP should display when a SCO at the end of the course that has not been satisfied exits with an exit type of timeout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerFinalScoCourseNotSatisfiedLogoutExitAction

Type Level Specificity Default Conditional Defaults
Enum Registration EXIT_COURSE AICC: DO_NOTHING
The navigation behavior the SCP should display when a SCO at the end of the course that has not been satisfied exits with an exit type of logout.
Value Description
EXIT_COURSE Exit the entire course player
EXIT_COURSE_AFTER_CONFIRM Exit the entire course player after asking the learner's permission
GO_TO_NEXT_SCO Immediately go to the next SCO
DISPLAY_MESSAGE Display a status message to the learner
DO_NOTHING Do not take any action

PlayerRudimentaryRollup Settings


PlayerStatusDisplayPreference

Type Level Specificity Default Conditional Defaults
Enum Registration COMBINED SCORM 2004 All Editions: SEPARATE
Specifies how the player should display the completion and success status of individual SCOs.
Value Description
SUCCESS_ONLY Only display an icon to represent the success status of the activity.
COMPLETION_ONLY Only display an icon to represent the completion status of the activity.
SEPARATE Display two icons, one to represent the completion status of the activity, another to represent the success status.
COMBINED Display a single icon that represents both the success and completion status of an activity.
NONE Do not display any status representation icons.

PlayerScoreRollupModeValue

Type Level Specificity Default
Enum Registration AVERAGE_SCORE_OF_ALL_UNITS_WITH_SCORES
Specifies how the player should rollup scores from individual SCOs to aggregations in SCORM 1.2
Value Description
SCORE_PROVIDED_BY_COURSE For use with single SCO courses, uses whatever score is provided by the SCO.
AVERAGE_SCORE_OF_ALL_UNITS Adds up all reported scores and divides by the number of SCOs in the course.
AVERAGE_SCORE_OF_ALL_UNITS_WITH_SCORES Adds up all reported scores and divides by the number of SCOs that actually reported a score.
FIXED_AVERAGE Adds up all reported scores and divides by a fixed number.
AVERAGE_SCORE_OF_ALL_UNITS_WITH_NONZERO_SCORES Adds up all reported scores and divides by the number of SCOs that reported a score greater than zero.
LAST_SCO_SCORE Use the score of the last SCO.

PlayerScoreRollupModeNumberOfScoringObjects

Type Level Specificity Default
int Registration -2147483648
Specifies how the player should rollup scores from individual SCOs to aggregations in SCORM 1.2

PlayerStatusRollupModeValue

Type Level Specificity Default Conditional Defaults
Enum Registration COMPLETE_WHEN_ALL_UNITS_COMPLETE_AND_NOT_FAILED AICC: COMPLETE_WHEN_ALL_UNITS_COMPLETE
Specifies how the player should rollup completion status from individual SCOs to aggregations in SCORM 1.2
Value Description
STATUS_PROVIDED_BY_COURSE For use with single SCO courses, just takes whatever status is reported by the course.
COMPLETE_WHEN_ALL_UNITS_COMPLETE Marks the course complete whenever all of the SCOs are complete, even if the SCO is failed.
COMPLETE_WHEN_ALL_UNITS_COMPLETE_AND_NOT_FAILED Marks the course complete whenever all of the SCOs are complete and not failed.
COMPLETE_WHEN_THRESHOLD_SCORE_IS_MET Marks the course complete whenever a certain score has been obtained as calculated by the Score Rollup Method.
COMPLETE_WHEN_ALL_UNITS_COMPLETE_AND_THRESHOLD_SCORE_IS_MET Marks the course complete whenever all of the SCOs are complete and not failed and a certain score has been obtained as calculated by the Score Rollup Method.
COMPLETE_WHEN_ALL_UNITS_ARE_PASSED Marks the course complete whenever all of the SCOs are satisfied(passed). In 1.2, any SCO that is passed will also be complete (but not necessarily the other way around).

PlayerStatusRollupModeThresholdScore

Type Level Specificity Default
double Registration 0
Specifies how the player should rollup completion status from individual SCOs to aggregations in SCORM 1.2

PlayerApplyRollupStatusToSuccess

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies whether the success status should be updated based on the rudimentary status rollup rules.

PlayerFirstScoIsPretest

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Specifies whether the first SCO in the course should be considered a pretest. If true and the first SCO is passed, the rest of the course will be marked as completed.

PlayerCompatibility Settings


PlayerWrapScoWindowWithApi

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
When a SCO is launched in a new window, this specifies whether the window should be wrapped with a shell window containing a copy of the SCORM API. This setting allows content with errors in the use of its API finder algorithm to still be delivered in a new window. Essentially, this mimics the structure of the ADL Test Suite.

PlayerFinishCausesImmediateCommit

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
This setting forces data to be sent to the server immediately upon the call of LMSFinish or Terminate by the SCO. Can be useful for SCOs that are not completing because of timing issues related to window closing.

PlayerAlwaysFlowToFirstSco

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration YES SCORM 1.2: YES
MULTISCO: NO
Should the SCP always launch the first SCO when the course is launched regardless of sequencing rules.

PlayerLogoutCausesPlayerExit

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Should the SCP allow a cmi.exit request of logout to exit the entire player

PlayerResetRunTimeData

Type Level Specificity Default Conditional Defaults
Enum Registration NEVER SCORM 2004 All Editions: WHEN_EXIT_IS_NOT_SUSPEND
Should the SCP always persist runtime data when the exit type is suspend, or should this be left up to the sequencer?
Value Description
NEVER Never reset the runtime data
WHEN_EXIT_IS_NOT_SUSPEND Use the RunTime data's exit flag to determine when to reset the data
ON_EACH_NEW_SEQUENCING_ATTEMPT Reset the data whenever a new sequencing attempt begins

PlayerValidateInteractionResponses

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Determines whether the interaction responses are validated for expected SCORM format.  Use this setting when you want to include descriptive text in addition to the single number/character allowed by SCORM 1.2.  This affects both the user response and the correct response

PlayerLookaheadSequencerMode

Type Level Specificity Default Conditional Defaults
Enum Registration ENABLED SCORM 1.2: REALTIME
Determines how the Lookahead Sequencer should function on the client side. The Lookahead Sequencer is used intelligently enable/disable activities and controls within the Scorm Content Player based on possible future paths.
Value Description
DISABLED Completely Disabled
ENABLED Fully Enabled
REALTIME Enabled, with real-time status updates

PlayerScoreOverridesStatus

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO AICC: YES
Determines whether or not the status derived from a score should override the actual status.

PlayerAllowCompleteStatusChange

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Determines whether or not the lesson status can be modified once it has been set to complete.

PlayerScaleRawScore

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
In SCORM 2004 content, if a SCO sets a raw score but not a scaled score, should the raw score count as the normative score for the SCO?

PlayerRollupEmptySetToUnknown

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
In SCORM 2004, determines whether a set of child activities in an unknown state rollup to "unknown" or "complete/satisfied"

PlayerReturnToLmsAction

Type Level Specificity Default Conditional Defaults
Enum Registration Legacy SCORM 2004 4th Edition: Selectable
Defines what happens when a user click "Return To LMS"
Value Description
Legacy Legacy - The behavior matches Engine 2008.1 and prior
SuspendAll SUSPEND ALL Navigation Request
ExitAll EXIT ALL Navigation Request
Selectable Selectable by the user

PlayerUseQuickLookaheadSequencer

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
In SCORM 2004 4th Edition and later, determines whether or not to use the Quick Lookahead Sequencer

PlayerForceDisableRootChoice

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Disables the Root menu item Choice option. This is to prevent new attempts being initiated on the course.

PlayerRollupRuntimeAtScoUnload

Type Level Specificity Default Conditional Defaults
bool * API v1: YES/NO Registration NO SCORM 1.2: YES
Initiates rollup and transfer of runtime data at ScoUnload for all SCOs.

PlayerForceObjectiveCompletionSetByContent

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Override the manifest settings for "Objective Set By Content" and "Completion Set By Content" with true values.

PlayerInvokeRollupAtSuspendAll

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Initiates rollup when SuspendAll is invoked.

PlayerCompletionStatOfFailedSuccessStat

Type Level Specificity Default
Enum Registration Unknown
Specifies the Completion Status value to apply in the case of a Failed Success Status. Only applied if set to "completed" or "incomplete"
Value Description
Unknown The completion status is unknown and has not been set yet. Note this is a different than the enumeration being undefined, which indicates that the enumeration itself is 'null'
Completed The learner has completed the activity
Incomplete The learner has started, but not finished the activity
Browsed The learner viewed the activity, but just to browse it, not as an attempt
Not_Attempted The learner has not started the activity

PlayerSatisfiedCausesCompletion

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
Determines whether or not activity Satisfaction will set completion

PlayerMakeStudentPrefsGlobalToCourse

Type Level Specificity Default
bool * API v1: YES/NO Registration NO
When a student makes a preference (audio volume, etc) the preference should be applied to all SCOs

PlayerLaunchCompletedRegsAsNoCredit

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Determines whether an AICC or SCORM 1.2 registrations goes into "no credit" mode upon completion

PlayerSuspendDataMaxLength

Type Level Specificity Default Conditional Defaults
int Registration 64000 AICC: 4096
SCORM 1.2: 4096
SCORM 2004 2nd Edition: 4000
Maximum suspend data length in bytes.

PlayerTimeLimit

Type Level Specificity Default
int Registration 0
Time limit of the course in minutes, 0 for unlimited (no time limit)

PlayerIsCompletionTracked

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Does this course package actually report completion in a meaningful way?

PlayerIsSatisfactionTracked

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Does this course package actually report satisfaction (pass/fail) in a meaningful way?

PlayerIsScoreTracked

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Does this course package actually report its score in a meaningful way?

PlayerIsIncompleteScoreMeaningful

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
If the course is incomplete, is the score still meaningful?

PlayerIsIncompleteSatisfactionMeaningful

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
If the course is incomplete, is its satisfaction (pass/fail) still meaningful?

PromptOnPlayerClose

Type Level Specificity Default
bool Registration false
Constant value used by the default integration implementation that represents the key used in the configuration repository to specify whether the SCORM Player should prompt the user for confirmation before unloading due to the browser window being closed

PlayerDebug Settings


PlayerDebugControlAudit

Type Level Specificity Default
bool Registration true
Should the debugger capture control data at the audit level

PlayerDebugControlDetailed

Type Level Specificity Default
bool Registration true
Should the debugger capture control data at the detailed level

PlayerDebugRteAudit

Type Level Specificity Default
bool Registration true
Should the debugger capture RunTime data at the audit level

PlayerDebugRteDetailed

Type Level Specificity Default
bool Registration true
Should the debugger capture RunTime data at the detailed level

PlayerDebugSequencingAudit

Type Level Specificity Default Conditional Defaults
bool Registration true SCORM 2004 4th Edition: false
Should the debugger capture Sequencing data at the audit level

PlayerDebugSequencingDetailed

Type Level Specificity Default Conditional Defaults
bool Registration true SCORM 2004 4th Edition: false
Should the debugger capture Sequencing data at the detailed level

PlayerDebugSequencingSimple

Type Level Specificity Default Conditional Defaults
bool Registration false SCORM 2004 4th Edition: true
Capture sequencing debugging information in a more human readable fashion than the very technical Audit or Detailed level

PlayerDebugLookAheadAudit

Type Level Specificity Default
bool Registration true
Should the debugger capture LookAhead Sequencing data at the audit level

PlayerDebugLookAheadDetailed

Type Level Specificity Default
bool Registration false
Should the debugger capture LookAhead Sequencing data at the detailed level (use care when setting this to true, it can have a noticable performance impact)

PlayerDebugIncludeTimestamps

Type Level Specificity Default
bool Registration true
Should debug information include timestamps and measurements of how long individual functions are taking for performance monitoring

EnableClientDebugger

Type Level Specificity Default
bool Registration false
If true, enables activating the debugger by typing ?????. This setting will also cause the user to be prompted whether they wish to see the debugger if an error occurs.

PlayerCaptureHistory

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Specifies if the course should return attempt information to the server

PlayerCaptureHistoryDetailed

Type Level Specificity Default
bool * API v1: YES/NO Registration YES
Specifies if the course should return detailed attempt information to the server

PlayerCommunication Settings


PlayerCommMaxFailedSubmissions

Type Level Specificity Default
int Registration 2
Specifies the maximum number of times the client to server communication can fail before the system stops trying and the learner is notified that there is an error.

PlayerCommCommitFrequency

Type Level Specificity Default
int Registration 10000
The frequency (in milliseconds) with which the application will check for dirty data and try to send it to the server.

MaxPersistRuntimeDataAttempts

Type Level Specificity Default
int Registration 1
Maximum number of attempts to save course runtime data.

Dispatch Settings


DispatchTitle

Type Level Specificity Default
string Dispatch empty string
Title to use in exported packages for a particular dispatch.

DispatchDescription

Type Level Specificity Default
string Dispatch empty string
Description to use in exported packages for a particular dispatch.

DispatchBaseUrl

Type Level Specificity Default
string System
The fully-qualified URL to the '/dispatch' path under the Engine application. This value is used when building dispatch packages for export, so the URL *must* be fully-qualified and accessible from client LMSs. If this value ever changes, then all dispatch packages must be re-exported!

DispatchPollingBaseUrl

Type Level Specificity Default
string System DispatchBaseUrl
The fully-qualified URL to the '/dispatch' path under the Engine application. This is the value that will be used to poll Engine when a non-SCORM course is launched.

DispatchLtiSessionTimeSeconds

Type Level Specificity Default
int Tenant 2592000
The maximum amount of time for an LTI session. This affects the lifetime of the LTI reporter objects, which are created per-launch and eventually deleted, so this setting should be high. The default is 30 days.

DispatchStatusAuthoritativeSource

Type Level Specificity Default
Enum Tenant Root_Preferred
Use this setting to control how Dispatch status updates in the player behave with respect to determining success, completion, and score based on the root activity, the lookahead sequencer, or a combination.
Value Description
Root_Preferred Intended to be the original default of how Dispatch worked prior to this Enum existing, treats the root activity as the authoritative source unless it's values are null in which case it falls back to the lookahead sequencer's state.
Lookahead_Preferred Treats the lookahead sequencer as the authoritative source unless it's values are null in which case it falls back to the root activity's state.
Learner_Preferred Looks for the most advantageous result for the learner in the root activity and the lookahead sequencer and uses it.
Root_Only Uses only the root activity to determine the status to be sent, ignores the lookahead sequencer.

DispatchLaunchStateOverride

Type Level Specificity Default
Enum Registration Learner_Preferred
When launching (or re-launching) dispatched content, should the status (completion, success, score) passed from Engine be pushed as an update to the dispatch target?
Value Description
Never Intended to be the original default of how Dispatch worked prior to this Enum existing. The launch state will never trigger a status update.
Learner_Preferred When processing the initial launch state from Engine, only trigger an update of the LMS in cases where the status (completion, success, score) passed by Engine is an improvement to what the learner currently has in the LMS.
Content_Root_Preferred When processing the initial launch state from Engine, always trigger an update to the LMS with the status (completion, success, score) passed by Engine.

DispatchHideGetRegistrationErrorDuringTeardown

Type Level Specificity Default
bool Registration false
Controls if an error should be shown to the learner if the browser cancels a GetRegistration request while the page is being torn down. This most commonly happens when a Tin Can, AICC, or cmi5 is dispatched and launched in an iframe, and the iframe is torn down in the middle of a GetRegistration request.

DispatchLaunchTokenExpiry

Type Level Specificity Default
int Tenant 60
Number of seconds from pre-launch configuration URL retrieval until launch token expiration.

DispatchCommitDataCondition

Type Level Specificity Default
Enum Registration Immediate
Tell dispatch when to send updates on score/success
Value Description
Immediate Default behavior, commit data as soon as it is available.
WaitForScoreAndSuccess Wait until both Score and Success are available. Best used when dispatching as cmi5.

ContentConnectors Settings


Go1ApiKey

Type Level Specificity Default
string Tenant
The API consumer key for this Go1 integration

Go1ApiSecret

Type Level Specificity Default
secretString Tenant
The API secret for this Go1 integration

Go1PortalAdminEmail

Type Level Specificity Default
secretString Tenant empty string
Email for an existing Go1 user to add as a portal admin when creating portals, to allow Engine to re-connect to the created portal. This user ideally is not a real user, but just created for Engine to use, as the password will need to be saved in Engine

Go1PortalAdminPassword

Type Level Specificity Default
secretString Tenant empty string
Password for the Go1PortalAdmin

Go1PartnerPortalId

Type Level Specificity Default
int System -1
Partner portal ID to send to Go1 when provisioning a new portal. -1 (or any negative value) indicates there is no partner portal to associate, and no value will be sent.

ContentConnectorRemoteSearchTimeoutMS

Type Level Specificity Default
int System 5000
Time to wait for content connector remote searches before returning results from whichever connectors have returned results. Where multiple connectors are used, this setting is a trade off between limiting how long the user has to wait for search results and ensuring complete results.

MediaContent Settings


MediaContentCompletionThreshold

Type Level Specificity Default
int Registration 95
The percentage of media that must be consumed before a media course can be considered 'Complete'.

WebContentForceNewWindow

Type Level Specificity Default
bool Registration false
If true, opens webpage media content in a new window/tab rather than inside the AU. This gets around websites that are configured to not load in an iframe (see 'X-Frame-Options' response header).

MediaContentStylesheetPath

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) to a CSS file that allows for customization of elements in the Media Content AU that are not specific to a certain content type.

AudioVideoContentStylesheetPath

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) to a CSS file that allows for customization of elements in the Media Content AU that are specific to Audio/Video content types.

PDFContentStylesheetPath

Type Level Specificity Default
string Registration empty string
Web path (absolute or relative) to a CSS file that allows for customization of elements in the Media Content AU that are specific to PDF content.

PDFContentPageDurationThreshold

Type Level Specificity Default
int Registration 5
Number of seconds the user must view a document page before the page will be counted towards progress/completion calculation.

ContentLangToUrl

Type Level Specificity Default
ContentLanguageDefinition[] Registration []
JSON string that represents a list of ContentLanguageDefinition objects. The ContentLanguageDefinition obj contains the following keys: label (required string - The displayed string that specifies the language), srclang (string - The ISO language code associated with the language), src (required string - The URL to the .vtt file content), default (bool - Is this the default language), and kind (string - Specifies the type of support file. Expected values include "captions" and "subtitles")

PDFContentScaling

Type Level Specificity Default
Enum Registration Page_Width
Determines how the player will initially scale or fit the PDF document in the viewer.
Value Description
Page_Actual Renders the PDF according to its original dimensions.
Page_Width Scales the PDF by width.
Page_Height Scales the PDF by height.
Page_Fit Scales the PDF by either height or width until it fits the available size of the viewer.
Auto For pages in portrait mode, fits by height unless the page is too wide to fit horizontally. Otherwise, fits by width.

PDFDownloadButton

Type Level Specificity Default
bool Registration false
Display button for user to download pdf.

AudioVideoPlayer

Type Level Specificity Default
Enum Registration Native
Specifies whether the video player should be a native html5 or video.js player.
Value Description
Native Video content should be loaded and played back in a native Html5 video element.
VideoJS Video content should be loaded and played back in a video.js player.

AudioVideoPlayerQualitySourceList

Type Level Specificity Default
MultiQualitySource[] Registration []
JSON string representing different quality levels of video source available for playback. AudioVideoPlayer has to be set to VideoJS for quality switching to work.

AudioVideoPlayerSeekForward

Type Level Specificity Default
int Registration 0
Number of seconds the forward seek button on the Video.js player's control should fast forward. AudioVideoPlayer has to be set to VideoJS for the button to be displayed

AudioVideoPlayerSeekBackward

Type Level Specificity Default
int Registration 0
Number of seconds the backward seek button on the Video.js player's control should rewind. AudioVideoPlayer has to be set to VideoJS for the button to be displayed

AudioVideoPlayerPlaybackRates

Type Level Specificity Default
string[] Registration empty string
List of playback rates the Video.js player will offer. AudioVideoPlayer has to be set to VideoJS for the rates to be displayed

AudioVideoPlayerPosterImage

Type Level Specificity Default
string Registration empty string
Path to an image that will be displayed by the video player prior to hitting play.

LTI Settings


LtiConsumerProductFamily

Type Level Specificity Default
string Tenant empty string
Company or brand name of the product providing LTI support.

LtiConsumerVersion

Type Level Specificity Default
string Tenant empty string
Version of the instance of the product providing LTI support. Should have a major release number followed by a period, the format of minor releases is flexible.

LtiConsumerName

Type Level Specificity Default
string Tenant empty string
Short, user-friendly name for the product providing LTI support.

LtiConsumerIdentifier

Type Level Specificity Default
string Tenant
A unique identifier for the product providing LTI support. This identifier is required and should not change once set. Must be no larger than 255 ASCII characters in length. A UUID is recommended.

LtiConsumerDescription

Type Level Specificity Default
string Tenant empty string
One-line description of the product providing LTI support.

LtiConsumerUrl

Type Level Specificity Default
string Tenant empty string
Url to the website of the product providing LTI support.

LtiConsumerEmail

Type Level Specificity Default
string Tenant empty string
Url to a support email address for the product providing LTI support.

LtiJsonWebTokenExpiry

Type Level Specificity Default
int Tenant 300
Number of seconds from now that JSON Web Tokens sent as part of the LTI launch process should expire in.

LtiPlatformIssuer

Type Level Specificity Default
string System
A case-sensitive URL identifying the LTI 1.3 platform. Needs to be an HTTPS scheme that must contain: scheme and host, may contain port number and path components and may not contain query or fragment components. Required for LTI 1.3.

LtiBaseUrl

Type Level Specificity Default
string Tenant
The fully-qualified URL to the '/api' path under the Engine application. This value is used for determining absolute URLs for endpoints LTI 1.1 and 1.3 tools need to access, so the URL *must* be fully-qualified and accessible from LTI tools. If this value ever changes, then LTI tools may need to be re-configured.

Lti11PrivacySettings

Type Level Specificity Default
Enum Registration LEARNER_NAME_ONLY
Determines which user-identifying information will be sent during launch.
Value Description
LEARNER_NAME_ONLY The learner's first name, last name, and full name will be sent to the tool during launch. The full name is determined by concatenating the first and last name with a space in between.
LEARNER_NAME_AND_EMAIL The learner's first name, last name, full name, and email will be sent to the tool during launch. The full name is determined by concatenating the first and last name with a space in between. The email should be passed in the id property of the learner schema when a registration is created.
NO_LEARNER_INFO No identifying information about the user will be sent to the tool during launch.

Lti13PrivacySettings

Type Level Specificity Default
Enum Registration LEARNER_NAME_ONLY
Determines which user-identifying information will be sent during launch.
Value Description
LEARNER_NAME_ONLY The learner's first name, last name, and full name will be sent to the tool during launch. The full name is determined by concatenating the first and last name with a space in between.
NO_LEARNER_INFO No identifying information about the user will be sent to the tool during launch.

Lti11Roles

Type Level Specificity Default
string Registration Learner
A comma-separated list of roles to associate with a registration. The value of this setting will be sent during launch in the 'roles' field. Changing this value has no other effect on platform behavior.

Lti13Roles

Type Level Specificity Default
string[] Registration http://purl.imsglobal.org/vocab/lis/v2/institution/person#Student
A comma/whitespace delimited list of roles to associate with a registration. The value of this setting will be sent during launch in the 'https://purl.imsglobal.org/spec/lti/claim/roles' claim. Changing this value has no other effect on platform behavior.

ContentVault Settings


ContentVaultEnabled

Type Level Specificity Default
bool Registration false
Whether to use content vault to authenticate access to the content

ContentVaultAuthExpiry

Type Level Specificity Default
int Registration 28800
An integer value greater than 300 seconds and less than 31540000 seconds that defines the number of seconds content should be made available for a launch

ContentVaultSlidingAuthExpiryEnabled

Type Level Specificity Default
bool Registration false
Whether content vault's sliding expiry window is enabled

ContentVaultSlidingAuthExpiry

Type Level Specificity Default
int Registration 60
An integer value greater than 60 seconds and less than 31540000 seconds that defines how large the 'sliding window' of content should be available

ContentVaultAuthFingerprintValidationEnabled

Type Level Specificity Default
bool Registration true
Tells if fingerprint validation should be enabled or disabled

ContentVaultIpAddressValidationEnabled

Type Level Specificity Default
bool Registration true
Tells if IP address validation should be enabled or disabled

ContentVaultPathModifyingPrefix

Type Level Specificity Default
string Registration /vault
Prefix the path modifying content vault plugin will add to content paths

results matching ""

    No results matching ""