Skip to content

Installing the Authoring Tool

Matt Leathes edited this page Sep 2, 2020 · 26 revisions

What’s installed?

The authoring tool is a server-based user interface for the Adapt framework.

The framework and the core plug-ins are installed as a part of the installation of the authoring tool; they do not need to be installed separately.

Upon installation, you can begin creating responsive e-learning courses.

What skills are needed for installation?

The purpose of the authoring tool is to bring the power of the framework to non-technical persons.

This being said (and while installation is getting easier), it requires the user to manually install and configure software including git, Node.js, and MongoDB, and take steps that are typically hidden within a packaged installer. If you are not confident in doing this, we recommend you seek guidance prior to attempting an install by yourself.

Installation

The Adapt authoring tool is intended to be installed on a publicly accessible web server, but may also be installed on personal computers for use by individuals.

Installation Overview

  1. Install prerequisites.
    The authoring tool and the Adapt framework depend on other software to run. We’ve got to make sure these are in place first.

  2. Clone the adapt_authoring project.
    We’ll download the code from its repository on GitHub.

  3. Install the required npm packages.
    We'll install some packages required by the authoring tool code.

  4. Run the install script. The application will be compiled and configured to your environment, ready for use.

  5. Run the application. By this point we’ll have all the project pieces in place, and can log in to the authoring tool!


1. Install Prerequisites

Tip: Some of these come preinstalled with certain operating systems. Before continuing, verify what you have already by checking for its version (also make sure it's a version that's compatible with the authoring tool).

For a full list of recommended system requirements see here

Tip: If you are new to using the command line (or if your skills are rusty), read this explanation before proceeding.

The authoring tool will not run without the following (click the headings for more info):

Git Git is a tool for managing source code, and makes it easy to download and update the authoring tool codebase.

Official install guide.

If you are installing Git for the first time, don't forget to configure it:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Node.js (LTS release) Node.js provides the JavaScript engine to run the authoring tool application, and handles the installation/updating of the tool’s dependencies (via NPM).

Important: The authoring tool supports the current Node.js LTS release. Please ensure your machine is using this, as you may experience compatibility issues otherwise!

Official install guide

Node version managers, such as nodist (Windows) or nvm (OS X, Linux), make it easy to switch between versions of node. We strongly recommended that you use one. Follow their instructions to install.

If you prefer not to use a version manager, the community wiki of Node.js provides installation instructions for various operating systems.

Verify NPM is installed: NPM (a node package manager) is used to download and install the stuff the authoring tool depends on. It comes with Node.js by default, so refer to the official Node.js installation instructions if you find you don't have it after installing Node.js.

Grunt Grunt is a 'task runner' which handles all the necessary actions required to build the course.

Official install guide

Tip: Windows Users Note: Run these commands in Git Bash if you installed git using default settings

MongoDB MongoDB is the chosen database for the authoring tool.

Official install guide

Tip: System administrators might find Robo 3T helpful (Adapt core developers sure have!).

2. Clone the Adapt_Authoring Project

The Adapt authoring tool is hosted here on GitHub. You need a copy of it on your computer.

Running the following command will create a folder named "adapt_authoring" that will contain the project source code. Using the command prompt, navigate to a folder where you want this to be created. Then run the following command.

git clone https://github.com/adaptlearning/adapt_authoring.git

3. Install the Required npm Packages

It is essential that you verify that the MongoDB service has started and is running. Installation will fail if the MongoDB service has stopped. (If you installed on Linux, the service should automatically start. OSX users may have to manually run mongod from a terminal. Windows users may have to start it manually; verify using the Services tab of the Task Manager.)

Navigate to the adapt_authoring folder you cloned earlier to make it the current working directory. Run the following command:

npm install --production

Note: The --production option bypasses the installation of dependencies which are only relevant to development, such as the unit testing facilities.

This process can take a few minutes to complete. If this script completes successfully, you can now run the install script!

If any error occurs, read the output, and try to determine if you forgot to install one of the prerequisites or if one failed to install properly. If you need assistance troubleshooting, consult the Adapt community's Technical Discussion Forum.

4. Run the Install Script

You can now install and configure your new authoring tool for your requirements.

Tip: Most configuration questions will appear with a default answer already in place, so most times you can just accept these default values by pressing the Enter key.

Tip: The questions relating to the 'super user account' are not the same as the SMTP service or the master tenant. The super user's email address and password will be used to login to the authoring tool.

Note: Configuration questions will ask about SMTP service, SMTP username, SMTP password, and Sender email address. The authoring tool uses email addresses as user names and can reset passwords via e-mail. If you do not intend to use this feature, just accept the default values for all related questions.

Note: You can change any of your answers once the install has completed successfully, so don't worry if you don't know the answer.

Run the following command.

node install

If all goes well, you'll receive the following message: Installation completed successfully, the application can now be started with 'node server'.

5. Run the Application

First you're going to start the authoring tool Node.js application, and then you can test the installation was successful by attempting to access it from a web browser.

  1. Run the start command (cmd tips)
    node server
    As the server starts, it will report in the terminal: Server started listening on port <YOUR_PORT>
    (To stop the server, make the terminal the active window, then press Ctrl+C.)
  2. Try it out!
    Open your favourite (standards compliant 👼) web browser, and navigate to: localhost:<YOUR_PORT>
    When the login page appears, enter the super user's e-mail address and password.

Troubleshooting

If you experience difficulties during installation, there are two main places you should be seeking help.

The community forums

The technical discussion forum has a wealth of posts on installation advice; the likelihood is that someone else has already encountered and solved your problem.

If requesting help, please provide as much relevant information as possible; the less (useful) information you give, the less likely you'll get a response. Try to at least include the following:

  • Your computer's operating system
  • The version of Adapt you're attempting to install
  • What steps you took before trouble was encountered
  • Any error messages that were displayed

Tip: Refrain from pasting long server logs, as this makes your post hard to read, and therefore less likely to receive responses.

Gitter

We also have an active (and very friendly) community in the Adapt Gitter rooms.

The same rules as above apply when asking questions here. Also, please respect the users in the room and don't demand an instant response; everyone is in there voluntarily, and often in addition to a full-time job.


Help Us Improve: If you notice errors or omissions in these instructions, please inform us by leaving a comment in Issues.

Clone this wiki locally