Configuration Settings

Engine's configuration system is in transition. Prior to the 2015 release, configuration settings were defined as constants in the code itself, and could only be set in a configuration file or via a callback to custom code provided to set them.

Engine 2015 introduced 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.

Note: "special", "base", and "system" all indicate a setting that must be set system-wide, for all tenants. The difference between them is the possible methods of initializing the setting. If you are just setting them in your configuration file, you don't have to think about this difference.

System-level settings can be configured via a settings file in Engine. Your Engine delivery includes a template for this file. The configuration file (RusticiEngineSettings.config) should be referenced by your web.config file.The configuration file (RusticiEngineSettings.properties) should be placed in your web 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
  • registration

If you aren't sure if you should be changing a particular setting or not, or what you should set it to, please go ahead and ask us. This is not a complete listing of the available configuration settings, though it does include everything we expect new customers might want to change. We will continue to improve this listing as we move settings over to using the new system.

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
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
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 false
Sets whether Tin Can launches should use Engine's player rather than launching the course directly.

Lrs Settings


SystemHomepageUrl

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

xAPIFilesPath

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

xAPILargeDocumentsPath

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

xAPILargeAttachmentsPath

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

HashContentFilesForActivityId

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

xAPIValidations

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

xAPIPostProcessContextParameters

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

EnableExistingActivityIdParserWarnings

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

xAPIMaxSizeForDatabaseInBytes

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

xAPIUrlPrefix

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

xAPIUrl

Type Level Specificity Default
string System
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
string Tenant
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
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
string System
Password for the Nancy Diagnostic Console (/RusticiEngine/_Nancy). Leave blank to disable. (.NET only)

ApiImportResultsPostBackUrl

Type Level Specificity Default
string Tenant
Specifies a URL to which to post import results, will convert username:password@hostname to basic authentication if provided.

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.

ApiEnableV1

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

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
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
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
string 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.

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
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.

ApiPingCheckDatabase

Type Level Specificity Default
bool System
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
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.

ApiRollup Settings


ApiRollupRegistrationPostBackUrl

Type Level Specificity Default
string Registration
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.

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
User name to use when posting registration data.

ApiRollupRegistrationAuthPassword

Type Level Specificity Default
string Registration
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.

ApiPostbackDataModelVersion

Type Level Specificity Default
Enum Tenant v2
The API version that will be used to determine the contents and format of API postbacks.
Value Description
v1 Version 1 of the API
v2 Version 2 of the API

ApiRollupRegistrationDuringSession

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

Database Settings


SystemDatabaseEnabled

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

UseSystemDatabaseForTenantSettings

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

SystemDatabaseConnectionString

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

DatabaseSchema

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

TenantDatabaseConnectionString

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

TenantDatabaseReadReplicaConnectionString

Type Level Specificity Default
string Tenant
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
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


AllowedTenantNames

Type Level Specificity Default
string[] System
Applies to v1 API automatic tenant creation only. A comma- and/or whitespace-delimited string enumerating all valid tenant names that, if given, prevents tenants with names not contained therein from being created. Note that this setting does not prevent previously-created tenants from being accessed; this setting only restricts what new tenants can be created.

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.

AllowedTenantNameRegex

Type Level Specificity Default
string System
Applies to v1 API automatic tenant creation only. A regular expression matching only allowed tenant names that, if given, restricts tenant creation to only those names that match. This setting uses the .NET reguandlar expression language (even on Java). If AllowedTenantNames is also given, it will be checked first, and only names not matched there will be validated against this regex. Note that this setting does not prevent previously-created tenants from being accessed; this setting only restricts what new tenants can be created.

ProxiedRequests Settings


ForwardedHost

Type Level Specificity Default
string System
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
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
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
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
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
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


ReportingServerUrl

Type Level Specificity Default
string System
URL of the server used for processing reporting data

AdminReportingKey

Type Level Specificity Default
string System
Key/username used for admin access for reporting

AdminReportingSecret

Type Level Specificity Default
string System
Secret used for admin access for reporting

Plugins

Type Level Specificity Default
string[] Base
Comma separated list of implementation definitions that dictates which plugins are loaded by Engine if available.

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).

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
Context path to which Engine has been deployed

RusticiEngineScriptsUrl

Type Level Specificity Default
string Base
Web path to the Rustici Engine scripts directory

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
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
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'

UserCountReportEnabled

Type Level Specificity Default
bool System


UserCountReportDaysBetweenReports

Type Level Specificity Default
int System 30
How many days to wait before reporting a user count after the last time user count was reported.

UserCountReportCustomerId

Type Level Specificity Default
string System unknown
A unique Engine customer identifier provided by Rustici Software.

UserCountReportTargetUrl

Type Level Specificity Default
string System https://cloud.scorm.com/engineUserCount
Where will the user count report be sent?

UserCountReportMaxOffsetMS

Type Level Specificity Default
int System 3600000
The maximum number of MS to offset the time to send the next report by (actual amount is a random number up to this value). It should not be necessary to change this value except for testing.

UserCountReportContractPeriodEndDate

Type Level Specificity Default
string System 12/31/2015
In order to ensure taking a user count as soon as possible at the end of each contract period, note the end of the contract period

UserCountReportLookBackDays

Type Level Specificity Default
int System 365
How long is the contract period (and therefore the range to report usage for).

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.

SimpleQueueMaxTries

Type Level Specificity Default
int System 8
How many times to attempt a queued item before giving up. Note that the last retry will have a delay of 2^n * 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.

RedirectOnExitUrl

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

UseModernPlayer

Type Level Specificity Default
bool Registration true
If true (default), uses modern player. If false, uses legacy player. Regardless of this configuration setting, either can be overridden by the `player` query string parameter (`player=legacy` or `player=modern`)

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
Redact personally identifiable information and credentials when logging.

SQLDebugLogMinimumExecutionMS

Type Level Specificity Default
int Base
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 System 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
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
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.

ConfigurationCache Settings


ConfigurationCacheMaxEntries

Type Level Specificity Default
int Base 2000
The number of cache entries at which to clear the configuration cache to prevent excessive memory usage. This includes an entry for each tenant and package referenced. (Registration specific configuration items are not cached.) Set to 0 to disable caching.

ConfigurationCacheSeconds

Type Level Specificity Default
int Base 60
The number of seconds before cached configuration settings expire. Note that for multi web server installations, it may take up to this long for setting changes to be applied, except for registration settings that are not cached. Setting to zero will disable time-based expiration, but the cache will still clear itself if it reaches a size of ConfigurationCacheMaxEntries.

Offline Settings


OfflineContentPathAcceptedRegex

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

OfflinePathToContentRoot

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

OfflineZipOutputLocation

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

ConcurrentLaunch Settings


ConcurrentLaunchDetectionEnabled

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

ConcurrentLaunchDetectionHistoryRows

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

ForceExitConcurrentLaunches

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

LaunchHistoryExpiration Settings


ShouldExpireLaunchHistory

Type Level Specificity Default
bool Tenant false
If true, purge old launch history entries when adding new ones. 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.

DeliverCustomization Settings


RemoteDeliverPageUrl

Type Level Specificity Default
string Registration
Web path (absolute or relative) location of the deliver HTML and player static files.

LegacyPlayerCustomizationScriptUrl

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

LegacyPlayerCustomizationStylesheetUrl

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

ModernPlayerCustomizationScriptUrl

Type Level Specificity Default
string Registration
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
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
Web path to an image file to show as customization of player appearance.

PrivacyPolicyUrl

Type Level Specificity Default
string Registration
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


PlayerIsAvailableOffline

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
Specifies whether the package is available to take offline -- used by the default implementation of GetOfflineCatalog()

RedirectOnRefreshUrl

Type Level Specificity Default
string Registration
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
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
Specifies parameter names that, when appended to the launch url, will be forwarded to all content activity pages.

PlayerNavigation Settings


PlayerShowFinishButton

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

PlayerShowCloseItem

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

PlayerShowHelp

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

PlayerShowProgressBar

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
Specifies whether the interface should show a progress bar

PlayerUseMeasureProgressBar

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
Specifies whether the interface should determine progress bar progress using Measure Rollup or individual SCO completion.

PlayerShowCourseStructure

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

PlayerCourseStructureStartsOpen

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
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
bool * API v1: YES/NO Registration UNDEFINED
Specifies whether the interface should show the navigation bar containing buttons like Prev, Next, Exit, etc

PlayerShowTitleBar

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

PlayerEnableFlowNav

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
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
bool * API v1: YES/NO Registration UNDEFINED
Specifies whether the interface should allow the learner to choose specific parts to the course to take in any order from the course outline

PlayerCourseStructureWidth

Type Level Specificity Default
int Registration
Specifies the default width in pixels for the course outline when shown in the legacy player. This setting does not apply to the modern player.

PlayerPreventRightClick

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
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
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
int Registration
The number of pixels in width the course would like to have available, if possible, during delivery.

PlayerDesiredHeight

Type Level Specificity Default
int Registration
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 UNDEFINED
Specifies that the course is best experienced when it occupies the full screen.

PlayerRequiredWidth

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

PlayerRequiredHeight

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

PlayerRequiredFullScreen

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

PlayerScoLaunchType

Type Level Specificity Default
Enum Registration
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
Enum Registration
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.

PlayerPreventWindowResize

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
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.

PlayerRudimentarySequencing Settings


PlayerIntermediateScoSatisfiedNormalExitAction

Type Level Specificity Default
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
Enum Registration
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
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
Specifies how the player should rollup scores from individual SCOs to aggregations in SCORM 1.2

PlayerStatusRollupModeValue

Type Level Specificity Default
Enum Registration
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
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 UNDEFINED
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 UNDEFINED
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 UNDEFINED
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 UNDEFINED
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
bool * API v1: YES/NO Registration UNDEFINED
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 UNDEFINED
Should the SCP allow a cmi.exit request of logout to exit the entire player

PlayerResetRunTimeData

Type Level Specificity Default
Enum Registration
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 UNDEFINED
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
Enum Registration
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
bool * API v1: YES/NO Registration UNDEFINED
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 UNDEFINED
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 UNDEFINED
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 UNDEFINED
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
Enum Registration
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 UNDEFINED
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 UNDEFINED
Disables the Root menu item Choice option. This is to prevent new attempts being initiated on the course.

PlayerRollupRuntimeAtScoUnload

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

PlayerForceObjectiveCompletionSetByContent

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
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 UNDEFINED
Initiates rollup when SuspendAll is invoked.

PlayerCompletionStatOfFailedSuccessStat

Type Level Specificity Default
Enum Registration
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 UNDEFINED
Determines whether or not activity Satisfaction will set completion

PlayerMakeStudentPrefsGlobalToCourse

Type Level Specificity Default
bool * API v1: YES/NO Registration UNDEFINED
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 UNDEFINED
Determines whether an AICC or SCORM 1.2 registrations goes into "no credit" mode upon completion

PlayerSuspendDataMaxLength

Type Level Specificity Default
int Registration
Maximum suspend data length in bytes.

PlayerTimeLimit

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

PlayerIsCompletionTracked

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

PlayerIsSatisfactionTracked

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

PlayerIsScoreTracked

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

PlayerIsIncompleteScoreMeaningful

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

PlayerIsIncompleteSatisfactionMeaningful

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

PlayerInternetExplorerCompatibilityMode

Type Level Specificity Default
Enum Registration
The Internet Explorer Compatibility Mode to launch this content in. This determines which X-UA-Compatible meta tag should be used, if any, by the player's frameset pages in which content can be held within a child frame.
Value Description
NONE No X-UA-Compatible meta tag should be used.
EMULATE_IE7 IE7 Mode, use DOCTYPE if present, otherwise use Quirks Mode
IE7 IE7 Mode, use Standards Mode regardless of DOCTYPE
EMULATE_IE8 IE8 Mode, use DOCTYPE if present, otherwise use Quirks Mode
IE8 IE8 Mode, use Standards Mode regardless of DOCTYPE
EMULATE_IE9 IE9 Mode, use DOCTYPE if present, otherwise use Quirks Mode
IE9 IE9 Mode, use Standards Mode regardless of DOCTYPE
EDGE Use the highest rendering mode available.
IE10 Use IE10 mode. Early indicators are that this is necessary for vbscript support in IE11.

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
bool Registration true
Should the debugger capture Sequencing data at the audit level

PlayerDebugSequencingDetailed

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

PlayerDebugSequencingSimple

Type Level Specificity Default
bool Registration 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
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
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 UNDEFINED
Specifies if the course should return attempt information to the server

PlayerCaptureHistoryDetailed

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

PlayerCommunication Settings


PlayerCommMaxFailedSubmissions

Type Level Specificity Default
int Registration
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
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.

ContentConnectors Settings


Go1ApiKey

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

Go1ApiSecret

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

Go1PortalAdminEmail

Type Level Specificity Default
string Tenant
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
string Tenant
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
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
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
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
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.

results matching ""

    No results matching ""