Skip to content

Configuring the Authoring Tool

Gautam krishna.R edited this page Jul 1, 2019 · 24 revisions

This article aims to give you a run-down of the different configuration options available for your authoring tool installation, what they mean and how to use them.

If you're looking for course configuration options, you're in the wrong place, go here.

The global tool configuration settings live in conf/config.json. This file is created and populated during install (see install.js for specifics). Any of the settings listed below can be added to the config.json. You can see an example config.json file here.

  • Required fields are marked with a *
  • Where specific values are expected for a given setting, these are listed in the Expected values column (a - here signifies any reasonable value).

Quick links

General options

Name Type Expected values Description
root* String - Path to the server root in the server file system
dataRoot* String - Path to the 'data' folder, relative to the server root
rootUrl String - URL the authoring tool instance can be accessed at
buildServerStatusUrl String -
sessionSecret* String - Session cookies are signed with this 'secret' to prevent tampering
authoringToolRepository* String - A git repository to be used for the authoring tool application source
frameworkRepository* String - A git repository to be used for the framework source
frameworkRevision* String - A valid git revision for the frameworkRepository specified above
maxLoginAttempts Number - Number of failed login attempts until a user is locked
maxFileUploadSize String - File upload limit (for course assets, plugins, course import, ...), defaults to 200mb. Supported units: b, kb, mb, gb, tb

Feature options

Name Type Expected values Description
outputPlugin* String adapt Which plugin to use for course output
auth* String local (i.e. username/password) Which plugin to use for authentication
useffmpeg Boolean true/false Whether to use the FFmpeg library for the asset library (note: FFmpeg must be installed)
useAnalytics Boolean true/false Whether to enable Google Analytics for data collection
trackingId String - The identifier for your Google Analytics property (see Google's documentation for more)
isProduction Boolean true/false Whether the server is used in production. Note: this is set during the grunt build process, so shouldn't generally be changed manually.

Server options

Name Type Expected values Description
serverName* String - The URL of the tool's host server
serverPort* Number - Port number the tool is accessed at

Database options

Name Type Expected values Description
dbType* String mongoose The type of database used for the authoring tool instance
dbHost* String - The URL of the database's host server
dbName* String - Name of the database
dbPort* Number - Port number the database is accessed at
dbUser String - Username for accessing the database
dbPass String - Password for the above user
dbReplicaset Array - A list of hosts and ports for the database to persist to
dbOptions Object - An object specifying custom options to be passed to the database driver. See the documentation for your chosen database for more (Mongoose options can be found here).

SMTP/Mail options

For more on configuring a mail server, go to this page.

Note: rootUrl is also required when sending out some emails (see General options).

Name Type Expected values Description
useSmtp Boolean true/false Whether an SMTP server should be used
smtpService String See list of supported services Name of the service to use for sending mail
smtpUsername String - Username for the SMTP service account
smtpPassword String - Password for the above
fromAddress String - Email address to user as the sender on any emails
useSmtpConnectionUrl Boolean true/false Use a SMTP connection URL to connect to the SMTP server
smtpConnectionUrl String e.g. smtps://username:[email protected]/?pool=true If useSmtpConnectionUrl is set to true, you must provide a valid SMTP connection string.

Master tenant options

Name Type Expected values Description
masterTenantName* String - Name of the tool's master tenant
masterTenantID* String - ID of the master tenant.

CKEditor options

Name Type Expected values Description
ckEditorExtraAllowedContent String - Overwrite CKEditor config for content filtering.
ckEditorEnterMode String "ENTER_P", "ENTER_BR", "ENTER_DIV" Configure the behaviour of the ENTER key.
Clone this wiki locally