Skip to content

Configuring the Authoring Tool

Dan Gray edited this page Oct 17, 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:password@smtp.example.com/?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.

Command line install options

Option Accepted values description
--useJSON Y/N Use existing config values?
--install Y/N Continue? Y/n
--serverPort number Server port
--serverName string Server name
--dataRoot string Data directory path
--authoringToolRepository string Git repository URL to be used for the authoring tool source code
--frameworkRepository string Git repository URL to be used for the framework source code
--frameworkRevision string Specific git revision to be used for the framework. Accepts any valid revision type (e.g. branch/tag/commit)
--dbName string Master database name
--useConnectionUri Y/N Will you be using a full database connection URI? (all connection options in the URI) y/N
--dbConnectionUri string Database connection URI
--dbHost string Database host
--dbPort number Database server port
--dbUser string Database server user (only specify if using database authentication)
--dbPass string Database server password (only specify if using database authentication)
--dbAuthSource string Database server authentication database (only specify if using database authentication)
--useSmtp Y/N Will you be using an SMTP server? (used for sending emails) y/N
--useSmtpConnectionUrl Y/N Will you use a URL to connect to your smtp Server y/N
--fromAddress string Sender email address
--rootUrl string The url this install will be accessible from
--smtpService string Which SMTP service (if any) will be used? (see https://github.com/andris9/nodemailer-wellknown#supported-services for a list of supported services.)
--smtpUsername string SMTP username
--smtpPassword string SMTP password
--smtpConnectionUrl string Custom connection URL: smtps://user%40gmail.com:pass@smtp.gmail.com/?pool=true
--masterTenantName string Set a unique name for your tenant
--masterTenantDisplayName string Set the display name for your tenant
--suEmail string Super user email address
--suPassword string Super user email password
--suRetypePassword string Confirm super user email password
Clone this wiki locally