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").
HashManifestForActivityId
| Type |
Level Specificity |
Default |
| bool |
Tenant |
false |
Specifies whether or not a non-xAPI manifest file should be hashed to generate an activity ID during import instead of a randomly generated GUID.
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
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
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
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
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 player should send launch history to the server. This does not impact what Engine receives and records for the actual registration. However, setting both this and `PlayerCaptureHistoryDetailed` to 'false' deactivates concurrent launch detection. Launching two instances of the same registration simultaneously can lead to unexpected results and runtime errors.
PlayerCaptureHistoryDetailed
| Type |
Level Specificity |
Default |
| bool * API v1: YES/NO |
Registration |
YES |
Specifies if the player should send detailed launch history to the server. This does not impact what Engine receives and records for the actual registration.
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
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. |
DispatchOverridePlatformAcceptLineItemMode
| Type |
Level Specificity |
Default |
| Enum |
Tenant |
None |
Determines whether to include a lineItem property with LTI resource link selections in Engine's deep linking response message. A setting value other than 'None' will override the accept_lineitem property if sent in the platform's request.
| Value |
Description |
| None |
Default behavior, create a line item if and only if there is an accept_lineitem property in the request and its value is true. |
| LineItem |
Always create a line item regardless if there is an accept_lineitem property in the request and regardless of its value. |
| NoLineItem |
Never create a line item regardless if there is an accept_lineitem property in the request and regardless of its value. |
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.
MediaContentStatementMode
| Type |
Level Specificity |
Default |
| Enum |
Registration |
All |
Provides the option to reduce the quantity of xAPI statements produced for media content.
| Value |
Description |
| Minimal |
Reduce xAPI statements produced for media content to just those necessary for completion and cmi5 specification. |
| All |
Do not reduce xAPI statements produced for media content. |
MediaContentDurationMode
| Type |
Level Specificity |
Default |
| Enum |
Registration |
LoadedTime |
Provides the option to change the manner in which duration is tracked for a registration during media content.
| Value |
Description |
| LoadedTime |
Duration will be continuously tracked while media content is loaded for an active registration. |
| ExcludePausedTime |
Duration will only be tracked for media content while audio or video is actively playing. Duration will not be tracked while the media is paused. |
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