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 (SCORMEngineSettings.config) should be referenced by your web.config file.The configuration file (SCORMEngineSettings.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 (system, default: true)



xAPIMaxRequestSizeInBytes (system, default: 5242880)

The maximum number of bytes to accept in an xAPI request before returning an error. The default is 5 mebibytes.

xAPIObjectStoreRepairs (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 (system, default: false)

If set, allows unauthenticated access to a public xAPI endpoint.

xAPILaunchTokenLifeInSeconds (system, default: 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 (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.

UsePlayerForTinCanLaunches (registration, default: false)

Sets whether Tin Can launches should use Engine's player rather than launching the course directly.

Lrs Settings

SystemHomepageUrl (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 (tenant, default: 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 (tenant)

The root path or file store (see file stores) where large xAPI documents will be stored (see xAPIMaxDocumentSizeForDatabaseInBytes to define "large").

xAPILargeAttachmentsPath (tenant)

The root path or file store (see file stores) where large xAPI attachments will be stored (see xAPIMaxDocumentSizeForDatabaseInBytes to define "large").

HashContentFilesForActivityId (tenant, default: 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 (tenant, default: AttachmentContentTransferEncoding, SignatureContentType, NoUnexpectedParameters, IdenticalDocumentsCanConflict, StatementSchemaValidation, 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".

xAPIPostProcessContextParameters (tenant, default: 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 (tenant, default: 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 (tenant, default: 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).

LrsAuth Settings

LrsAuthCallbackMaxCacheSize (tenant, default: 500)

The number of cache entries at which to obliterate the auth callback cache to prevent excessive memory usage.

LrsAuthCallbackUrl (tenant)

Call back URL that will provide basic auth authorization. Will convert username:password@hostname to basic authentication if provided.

LrsAuthCacheSecondsSuccess (tenant, default: 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 (tenant, default: 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 (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 (system, default: ~)

A delimiter that may be used instead of | when passing External IDs to API calls, since | can be a problem in URL paths.

ApiRoot (system, default: /api/)

The root path (under the main application path) for the API (before the API version).

NancyConsolePassword (system)

Password for the Nancy Diagnostic Console (/ScormEngineInterface/_Nancy). Leave blank to disable. (.NET only)

ApiImportResultsPostBackUrl (tenant)

Specifies a URL to which to post import results, will convert username:password@hostname to basic authentication if provided.

ApiPostbackProcessorSleepSeconds (system, default: 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 (system, default: 100)

Maximum number of items to return in a list at once.

ApiResultLimitSinceNotSpecified (system, default: 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 (base, default: 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.

ApiBasicSystemAccounts (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 (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 (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 (tenant, default: 24)

Number of hours the token used to authenticate SCORM runtime postbacks (when using signed launch links) is valid.

ApiUseSignedLaunchLinks (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 (system, default: defaultui/import)

The path to the import page used when you have generated an import URL to POST to.

DefaultImportRedirectLocation (system, default: defaultui/defaultredirect)

Default redirect URL to redirect to after import via `defaultui\import` page if none was supplied.

ApiPingCheckDatabase (system)

Determines whether a simple connectivity check of the Engine database should occur in the execution of the /ping resource.

ApiRollup Settings

ApiRollupRegistrationPostBackUrl (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 (registration, default: true)

The initial attempt to post registration data will occur synchronously as the course is being completed.

ApiRollupRegistrationAuthType (registration, default: 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 (registration)

User name to use when posting registration data.

ApiRollupRegistrationAuthPassword (registration)

Password to use when posting registration data.

ApiRollupRegistrationFormat (registration, default: 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 (tenant, default: 10)

Timeout in seconds for API rollup registration postback.

ApiRollupRegistrationDuringSession (registration, default: true)

Should rollup registration postbacks be sent during a learning session, instead of waiting for the learner to exit?.

Database Settings

SystemDatabaseEnabled (base, default: 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 (base) (default: 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 (base)

The connection string to use when connecting to the system schema

DatabaseSchema (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 (tenant) (default: 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.

DataPersistenceEngine (base)

A string (`sqlserver`, `mysql`, `postgresql`, or `oracle`) corresponding to the DBMS flavor in use.

DatabaseTimeoutSeconds (base, default: 60)

The timeout (in seconds) to set on database operations. This setting applies only to .NET.

DatabaseRetryCount (base, default: 3)

The number of retries we should attempt an database action when contending for shared locks.

MaxPersistableStringLength (base, default: 2500000)

The maximum string length (in characters) to allow through to the database.

TenantIdLength (base, default: 2)

The length, in bytes, of the tenancy field in the database

StoreRuntimeDataAsLob (base)

Determines whether runtime data received from player should be stored in a lob column or normalized.

X_StoreTinCanRuntimeDataAsLob (base)

Determines whether Tin Can runtime data received from player should be stored in a lob column or normalized. This setting will roll into StoreRuntimeDataAsLob for 2018

UseNativePostgreSqlUpserts (base)

If set to true, 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.

Upsert Settings

MaxRowsPerDatabaseUpsert (system, default: 1)

The maximum number of rows we should send in a single datbase upsert (merge) statement. Set to 0 for no limit.

MaxUpsertSizeInBytes (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 (system, default: 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 (system, default: false)

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 (system, default: true)



AllowedTenantNames (system)

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.

AllowedTenantNameRegex (system)

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 (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 (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 (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 (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 (special, default: 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 (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 (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 (special, default: false)

If true (and encryption passsword is specified), configuration settings of type 'secretString' will be encrypted.

HashAccountPasswords (system, default: false)

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

TinCanInteractionsEnabled (registration, default: 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 (tenant, default: true)

Whether to additionally validate manifests using an XML parser as well as the Engine validation

DefaultCommCommitFrequency (system, default: 10000)



WebPathToContentRoot (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 (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 (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.ScormEngine). 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 (system)



UserCountReportDaysBetweenReports (system, default: 30)

How many days to wait before reporting a user count after the last time user count was reported.

UserCountReportCustomerId (system, default: unknown)

A unique Engine customer identifier provided by Rustici Software.

UserCountReportTargetUrl (system, default: https://cloud.scorm.com/engineUserCount)

Where will the user count report be sent?

UserCountReportMaxOffsetMS (system, default: 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 (system, default: 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 (system, default: 365)

How long is the contract period (and therefore the range to report usage for).

SimpleQueueRetryInitialDelaySeconds (system, default: 600)

How long to mark tasks as ineligible for processing when picking them up. This time will be doubled after each retry.

SimpleQueueMaxTries (system, default: 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 (system, default: 10)

Maximum number of rollup registration tasks to dequeue for processing at once.

FilePathToContentRoot (tenant)

The path to the directory or file store (see file stores) where uploaded and unzipped files should be placed.

FilePathToUploadedZippedPackage (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 (registration, default: 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 (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 (registration)

The URL the application should redirect to when the learner exits a course

UseModernPlayer (registration, default: 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 (registration, default: default)

(Deprecated) See 'ModernPlayerCustomizationStylesheetUrl'. The modern player theme to use unless otherwise specified in the launch URL.

RedactLogs (base)

Redact personally identifiable information and credentials when logging.

RedactedItems (base, default: 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 (base, default: 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 (base, default: 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 (registration, default: 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 (system)

Comma delimited whitelist of non-API request types that are allowed (see documentation for SecureMethod enum for valid entries). Leaving this blank allows all requests.

AiccSessionPerLaunch (system, default: 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 registraiton exists.

UpdateRunTimeDataLockExpireSeconds (system, default: 10)

How many seconds to lock the registration for when updating SCORM runtime data. Specifying 0 disables registration locking.

UpdateRunTimeDataLockWaitSeconds (system, default: 11)

How long to wait for a lock on the registration when updating SCORM runtime data.

CourseDirectoryNamingMethod (tenant, default: UploadName)

For import via the API, determines whether to use the file name of zip being uploaded (UploadName) or the API course ID + version (ApiCourseId) when naming the directory imported courses are to be placed in.

ManifestDirPathAcceptedRegex (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 (registration)

Value to be provided to AUs in cmi5 `LMS.LaunchData` as the alternate entitlement key.

EnableRecordingMetrics (base, default: false)

If true, Engine will record various metrics and enable an endpoint that exposes those metric values for reporting.

ConfigurationCache Settings

ConfigurationCacheMaxEntries (base, default: 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 (base, default: 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 (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.

OfflinePathToContentRoot (tenant) (default: FilePathToContentRoot)

Path to the directory or file store that is the root of where offline package content can be found.

OfflineZipOutputLocation (tenant)

The path to the directory or file store (see file stores) where offline zip files should be placed.

ConcurrentLaunch Settings

ConcurrentLaunchDetectionEnabled (registration, default: true)

Enable or disable concurrent launch detection.

ConcurrentLaunchDetectionHistoryRows (registration, default: 5)

The number of launch history entries to load when detecting concurrent launches.

LaunchHistoryExpiration Settings

ShouldExpireLaunchHistory (tenant, default: false)

If true, purge old launch history entries when adding new ones. This can potentially save a lot of DBMS storage space.

ExpireLaunchHistoryAfterDays (tenant, default: 30)

The minimum number of days that should pass before purging a launch history entry.

xApiStatementPipe Settings

xAPIStatementPipeEnabled (system, default: false)

If true, enable the statement pipe feature.

xAPIStatementPipeSleepTimeMilliseconds (system, default: 10000)

When no pipes are ready to be processed, the statement pipe thread will sleep for this many milliseconds.

xAPIStatementPipeCooldownMilliseconds (tenant, default: 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 (system, default: 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 (system, default: 500)

The maximum number of statements that we will send at a time when using the statement pipe feature.

xAPIStatementPipeWebTimeoutMilliseconds (system, default: 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 (system, default: 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 (registration)

Web path (absolute or relative) location of the deliver HTML and player static files.

LegacyPlayerCustomizationScriptUrl (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 (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 (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 (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 (registration)

Web path to an image file to show as customization of player appearance.

PrivacyPolicyUrl (registration)

Web path (absolute or relative) that should be linked to as the privacy policy document.

Player Settings

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

PlayerShowFinishButton (registration, default: UNDEFINED)

Specifies whether the interface should show a button that allows the learner to return to the LMS

PlayerShowCloseItem (registration, default: UNDEFINED)

Specifies whether the interface should show a button that allows the learner to exit the SCO

PlayerShowHelp (registration, default: UNDEFINED)

Specifies whether the interface should show a help button

PlayerShowProgressBar (registration, default: UNDEFINED)

Specifies whether the interface should show a progress bar

PlayerUseMeasureProgressBar (registration, default: UNDEFINED)

Specifies whether the interface should determine progress bar progress using Measure Rollup or individual SCO completion.

PlayerShowCourseStructure (registration, default: UNDEFINED)

Specifies whether the interface should show the course outline to the learner

PlayerCourseStructureStartsOpen (registration, default: 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.

UseLegacyMobileFramesetBehavior (registration, default: 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.

PlayerShowNavBar (registration, default: UNDEFINED)

Specifies whether the interface should show the navigation bar containing buttons like Prev, Next, Exit, etc

PlayerShowTitleBar (registration, default: UNDEFINED)

Specifies whether the interface should show the title bar containing the name of the package being delivered

PlayerEnableFlowNav (registration, default: UNDEFINED)

Specifies whether the interface should allow the learner to use Previous and Next navigation elements to go through the course

PlayerEnableChoiceNav (registration, default: 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

PlayerDesiredWidth (registration)

The number of pixels in width the course would like to have available, if possible, during delivery.

PlayerDesiredHeight (registration)

The number of pixels in height the course would like to have available, if possible, during delivery.

PlayerDesiredFullScreen (registration, default: UNDEFINED)

Specifies that the course is best experienced when it occupies the full screen.

PlayerRequiredWidth (registration)

The number of pixels in width the course must occupy to function correctly.

PlayerRequiredHeight (registration)

The number of pixels in height the course must occupy to function correctly.

PlayerRequiredFullScreen (registration, default: UNDEFINED)

Specifies that the course must be experienced in full screen mode to function correctly.

PlayerCourseStructureWidth (registration)

Specifies the default width in pixels for the course outline when shown.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PlayerPreventRightClick (registration, default: 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.

PlayerPreventWindowResize (registration, default: UNDEFINED)

Specifies whether the player should allow the learner to resize its windows.

PlayerIsAvailableOffline (registration, default: UNDEFINED)

Specifies whether the package is available to take offline -- used by the default implementation of GetOfflineCatalog()

PlayerStatusDisplayPreference (registration)

Specifies how the player should display the completion and success status of individual SCOs.

PlayerScoreRollupModeValue (registration)

Specifies how the player should rollup scores from individual SCOs to aggregations in SCORM 1.2

PlayerScoreRollupModeNumberOfScoringObjects (registration)

Specifies how the player should rollup scores from individual SCOs to aggregations in SCORM 1.2

PlayerStatusRollupModeValue (registration)

Specifies how the player should rollup completion status from individual SCOs to aggregations in SCORM 1.2

PlayerStatusRollupModeThresholdScore (registration)

Specifies how the player should rollup completion status from individual SCOs to aggregations in SCORM 1.2

PlayerApplyRollupStatusToSuccess (registration, default: UNDEFINED)

Specifies whether the success status should be updated based on the rudimentary status rollup rules.

PlayerFirstScoIsPretest (registration, default: 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.

PlayerWrapScoWindowWithApi (registration, default: 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 (registration, default: 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.

PlayerDebugControlAudit (registration, default: true)

Should the debugger capture control data at the audit level

PlayerDebugControlDetailed (registration, default: true)

Should the debugger capture control data at the detailed level

PlayerDebugRteAudit (registration, default: true)

Should the debugger capture RunTime data at the audit level

PlayerDebugRteDetailed (registration, default: true)

Should the debugger capture RunTime data at the detailed level

PlayerDebugSequencingAudit (registration, default: true)

Should the debugger capture Sequencing data at the audit level

PlayerDebugSequencingDetailed (registration, default: true)

Should the debugger capture Sequencing data at the detailed level

PlayerDebugSequencingSimple (registration, default: true)

Capture sequencing debugging information in a more human readable fashion than the very technical Audit or Detailed level

PlayerDebugLookAheadAudit (registration, default: true)

Should the debugger capture LookAhead Sequencing data at the audit level

PlayerDebugLookAheadDetailed (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 (registration, default: true)

Should debug information include timestamps and measurements of how long individual functions are taking for performance monitoring

PlayerCaptureHistory (registration, default: UNDEFINED)

Specifies if the course should return attempt information to the server

PlayerCaptureHistoryDetailed (registration, default: UNDEFINED)

Specifies if the course should return detailed attempt information to the server

PlayerCommMaxFailedSubmissions (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 (registration)

The frequency (in milliseconds) with which the application will check for dirty data and try to send it to the server.

PlayerInvalidMenuItemAction (registration)

Specifies the method of disabling items in the course outline which for which a request would not succeed.

PlayerAlwaysFlowToFirstSco (registration, default: UNDEFINED)

Should the SCP always launch the first SCO when the course is launched regardless of sequencing rules.

PlayerLogoutCausesPlayerExit (registration, default: UNDEFINED)

Should the SCP allow a cmi.exit request of logout to exit the entire player

PlayerResetRunTimeData (registration)

Should the SCP always persist runtime data when the exit type is suspend, or should this be left up to the sequencer?

PlayerOfflineSynchMode (registration)

Determines the way offline data is synchronized with the main LMS. This property is only applicable for use with the Rustici Software Offline Player (RSOP)

PlayerValidateInteractionResponses (registration, default: UNDEFINED)

SCORM has a well-defined set of interaction types it will accept. This option in

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

PlayerScoreOverridesStatus (registration, default: UNDEFINED)

Determines whether or not the status derived from a score should override the actual status.

PlayerAllowCompleteStatusChange (registration, default: UNDEFINED)

Determines whether or not the lesson status can be modified once it has been set to complete. Applies to SCORM 1.2.

PlayerScaleRawScore (registration, default: 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 (registration, default: UNDEFINED)

In SCORM 2004, determines whether a set of child activities in an unknown state rollup to "unknown" or "complete/satisfied"

PlayerReturnToLmsAction (registration)

Defines what happens when a user click "Return To LMS"

PlayerUseQuickLookaheadSequencer (registration, default: UNDEFINED)

In SCORM 2004 4th Edition and later, determines whether or not to use the Quick Lookahead Sequencer

PlayerForceDisableRootChoice (registration, default: UNDEFINED)

Disables the Root menu item Choice option. This is to prevent new attempts being initiated on the course.

PlayerRollupRuntimeAtScoUnload (registration, default: UNDEFINED)

Initiates rollup and transfer of runtime data at ScoUnload for all SCOs.

PlayerForceObjectiveCompletionSetByContent (registration, default: UNDEFINED)

Override the manifest settings for "Objective Set By Content" and "Completion Set By Content" with true values.

PlayerInvokeRollupAtSuspendAll (registration, default: UNDEFINED)

Initiates rollup when SuspendAll is invoked.

PlayerCompletionStatOfFailedSuccessStat (registration)

Specifies the Completion Status value to apply in the case of a Failed Success Status. Only applied if set to "completed" or "incomplete"

PlayerSatisfiedCausesCompletion (registration, default: UNDEFINED)

Determines whether or not activity Satisfaction will set completion

PlayerMakeStudentPrefsGlobalToCourse (registration, default: UNDEFINED)

When a student makes a preference (audio volume, etc) the preference should be applied to all SCOs

PlayerLaunchCompletedRegsAsNoCredit (registration, default: UNDEFINED)

Determines whether an AICC or SCORM 1.2 registrations goes into "no credit" mode upon completion

PlayerSuspendDataMaxLength (registration)

Maximum suspend data length in bytes.

PlayerTimeLimit (registration)

Time limit of the course in minutes, 0 for unlimited (no time limit)

PlayerIsCompletionTracked (registration, default: UNDEFINED)

Does this course package actually report completion in a meaningful way?

PlayerIsSatisfactionTracked (registration, default: UNDEFINED)

Does this course package actually report satisfaction (pass/fail) in a meaningful way?

PlayerIsScoreTracked (registration, default: UNDEFINED)

Does this course package actually report its score in a meaningful way?

PlayerIsIncompleteScoreMeaningful (registration, default: UNDEFINED)

If the course is incomplete, is the score still meaningful?

PlayerIsIncompleteSatisfactionMeaningful (registration, default: UNDEFINED)

If the course is incomplete, is its satisfaction (pass/fail) still meaningful?

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

PromptOnPlayerClose (registration, default: 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

SuppressNavbarWhenForcedFrameset (registration, default: false)

When enabled, prevents the navbar from showing for requests with the forceFrameset parameter

MaxPersistRuntimeDataAttempts (registration, default: 1)

Maximum number of attempts to save course runtime data.

RedirectOnRefreshUrl (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 (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 (registration)

Specifies parameter names that, when appended to the launch url, will be forwarded to all content activity pages.

results matching ""

    No results matching ""