Authoring Guide

Back to Table of Contents


This document instructs how to author a simple course and other necessary configuration files needed to run a course using GIFT. By the end of this document, you will have a better understanding of the GIFT domain and model development process as well as how to use the authoring tools available to date.

Where to Start…

Before starting this GIFT authoring guide, please make sure you have a fully functioning GIFT instance.


The GIFT architecture has been designed to be highly configurable, interchangeable and distributed. Currently, module configuration is designed around files, database entries, learner models and pedagogical models. For a detailed look at the dependencies between various GIFT components view the GIFT Dependency Table

The following subsections provide a brief overview of the different types of inputs used to configure and run a GIFT session.


“Surveys” provide a way for the GIFT system to obtain additional information about the user. From domain independent to domain dependent questions and from knowledge probing to biographical information, each response can be analyzed and used to improve learning. Essentially, the term ‘Survey’ refers to a test (pre-test, post-test, etc.) or assessment item (psychological survey, personality survey, etc.). Currently surveys are retrieved from the GIFT UMS database and presented during the execution of a course through the Tutor User Interface (TUI). Surveys can be authored through the Course Creator (also called the GIFT Authoring Tool or GAT). We suggest you explore existing courses, now called Showcase courses, that are available both on GIFT Cloud and in the downloadable GIFT release for examples on the types of questions and surveys that can be authored.


Just like surveys, sensors are used to obtain additional information about the learner. The sensor module is designed to support both hardware and software driven sensors, in addition to filtering sensor data and writing sensor data to disk. Currently, the sensor module is configured using a single sensor configuration file. For more information refer to the GIFT Configuration Settings document. Depending on your GIFT release, there might be various survey elements already authored and available. Here are a list of some of the sensors GIFT supports (with configuration):
  • eMotiv EEG headset
  • temperature/humidity sensitive mouse
  • software self-assessment sensor (a proxy sensor which simply generates information)
  • Q Sensor Electro-Dermal Response wristband
  • Kinect
  • Microsoft Band 2
  • Bioharness

For more information, you can look at the various interfaces, or simply leaf through the preconfigured in the GIFT\config\sensor\configurations directory.

Note the sensor module can only interact with sensors when running GIFT locally not on a server such as GIFT Cloud.


The learner module is responsible for determining the learner’s state. Currently the learner module is configured on a per user per course basis using a learner configuration file. The learner configuration files should be authored using the GIFT Authoring Tool (GAT). In addition, this module contains a very simplistic learner model implementation that is expected to drastically change as research is conducted. For more information, refer to the GIFT Configuration Settings document. Depending on your GIFT release, there may be one or more learner configuration files already created and available.


The pedagogical module is responsible for providing instructional strategy request to the domain module. Currently the pedagogical module is configured on a per user per course basis using a pedagogical configuration file. The pedagogical configuration file should be authored using the GIFT Authoring Tool (GAT). This module currently contains two pedagogical models. The first is called the default pedagogical model. This model relies on the state transitions part of a Domain Knowledge File (DKF) to be configured. The second is called the interactive, constructive, active, passive (iCAP) model. This iCAP model is used to select the appropriate content for a learner based on learner state as well as historical data to help individualize the experience and improve learning gains as efficiently as possible.

Domain Knowledge

Domain knowledge is configured using a Domain Knowledge File (DKF) (also called real-time assessment). The DKF configures the assessment logic for a domain – more specifically for an instance of a training application such as a VBS scenario or PowerPoint show. Multiple DKFs can be used during a course as governed by the course. To author a DKF use the course creator (also called the GIFT Authoring Tool or GAT). For more information refer to the GIFT Domain Knowledge File document. Depending on your GIFT release, there maybe one or more DKFs already created and available.


Metadata is used to describe course content files such as PowerPoint shows. Metadata files are authored in GIFT using the web-based GIFT Authoring tool in the “My Tools” section of the GIFT Dashboard. These files are used by the Domain module to find and present content based on Pedagogical requests in a course that contains one or more Merrill’s Branch points.


The course file describes the flow of the domain session. The flow of a course can be fixed or dynamic. A fixed course flow is simply one without an adaptive courseflow course object authored in the course tree for that course. Whereas a dynamic or adaptive course specifies one or more adaptive courseflow course objects that use learner state characteristics and metadata to present appropriate content during the course. Depending on your GIFT release, there maybe one or more course files already created and available. For more information refer to the GIFT Domain Course File document.


The Gateway module utilizes interop interfaces to handle communication between external training applications (e.g. VBS, TC3 and PowerPoint) and GIFT. These interfaces are configured in the Gateway module using a interopConfig.xml file upon startup. During the execution of a course, management of the interop interfaces and the external training application they communicate with is handled by communication between the Domain module and the Gateway module. For more information refer to the Create a new Interop Interface. Also refer to the “Interop Connection Settings” section in GIFT Configuration Settings.

Simple Authoring Example

Currently, the most complex portion of a GIFT course is the interaction with a training application (e.g., VBS, PowerPoint). In this exercise you will be guided through authoring a course that utilizes the major components of GIFT.

To limit the amount of procedures to maintain and to assure that this exercise works for each release, this authoring example has been combined with the GIFT release test procedures. To start this exercise open the GIFT Test Procedure Authoring spreadsheet (located in GIFT/docs/testing folder of a downloadable GIFT release) and select the “Overview” worksheet by clicking on the corresponding tab. Follow the procedures listed to author a GIFT session from scratch.

Connecting your Training Application to GIFT

There more than likely will be instances where you wish to connect your training application with GIFT in order to take advantage of all the other GIFT components offered in a release. The place to do this is in the Gateway module via an interop interface implementation Java class. There are several examples provided in the GIFT source code.

This section will describe some of the challenges to consider and the general steps to follow in order to facilitate this need.


One of first things to consider is how will your training application be used with GIFT. This can mean several things such as:
  • How will GIFT and my training application be presented to the user? i.e. will both screen be shown at the same time (e.g. GIFT TUI and VBS) or will GIFT be in the background (e.g. GIFT TUI and PowerPoint).
  • Can my training application handle simulation management (SIMAN) control (e.g. load, start, pause and stop)?
  • Does my training application already provide assessments? If so,
    • Can the assessment engine be separated from the training application in order to be used for other purposes such as by other training applications or domains?
    • Do you want GIFT to extend the current training application assessment or migrate your assessing to GIFT?
  • What information will your training application provide to GIFT? There are no rules when it comes to what information must be provided to GIFT. It all comes down to what will GIFT assess in order to provided tutoring and what information can your training application provide to help facility those assessments. For example, if your training application provides no game state information to GIFT then how can GIFT be expected to assess the user’s performance in your training application.

Each training application integrated with GIFT has its issues, whether it’s licensing, source code availability and/or other limitations. Therefore there has yet to be a single solution from beginning-to-end when it comes to integrating a third party training application. The purpose of GIFT is to provide a framework for doing so and the current implementation is to adhere to the interop interface in the Gateway module.

Please take some time and read the Software Developers Guide at this time.

Migrating Authored Content to Latest GIFT Version

GIFT will automatically converts courses that were authored in an older version of GIFT to a format compatible with a newer version of GIFT. This conversion doesn't work the either way through, going from a newer version of GIFT to an older version of GIFT. The 'up' conversion is performed when either:

  • a course is imported
  • a course is started
  • a course is loaded for editing in the course creator (also called the GIFT authoring tool or GAT)

If you are using GIFT Cloud (or another server based instance), when newer versions of GIFT are deployed to that instance the conversion will happen during the second two operations listed above.

To import a course from another GIFT instance you will first need to export the course on that older GIFT instance using the course export button on the GIFT Dashboard (where the course tiles are listed on the 'take a course' page). Please keep in mind that if your GIFT instances has unique features that are not included in the newer version of GIFT (e.g. a software developer made changes for your project), your import will likely fail.

To import surveys that are not currently part of a course from an older GIFT to a newer GIFT instance you will first have to create a course that references those surveys (i.e. author survey course objects in the new course's course tree). Then export that course and import it into the newer GIFT instance.

Qualtric Surveys

It is now possible to import surveys created within a Qualtrics project into GIFT, with a couple of notable exceptions. Please review this entire document before attempting to import your content.

What to expect

GIFT will successfully import a variety of standardized question types, such as multiple choice, free response, and scales; question labels should appear within GIFT’s survey system as well in the question properties interface. Some of Qualtrics presentation options for certain question types may be converted into a default GIFT format, however the integrity of those questions should be preserved in most cases.

What is not supported at this time

The following Qualtrics question types are not currently supported in GIFT and will skipped during the GIFT import process:
  • Constant Sum
  • Drill Down
  • File Upload
  • Meta
  • GAP Analysis
  • Graphic Slider
  • Heat Map
  • Hot Spot
  • Pick Group and Rank
  • Rank Order
  • Timing
  • Side-by-Side
Certain question properties are also not currently supported. Those properties that are known not to currently import include the following:
  • skip logic
  • display logic
  • multi-select for matrix and rating scale
  • randomly displaying a subset of a group of response options
  • re-coded values and images that are contained within a users’ Qualtrics account

*Note you may find other unique question properties that do not carry over, and we invite you to share your feedback on the GIFT forums at

How to prepare your export from Qualtrics

GIFT is able to import a survey export file from Qualtrics (this file has the extension .QSF). Qualtrics projects are organized into blocks, and typically each block contains a questionnaire or set of questions. It is important to note that Qualtrics only provides an export function for an entire project, therefore your entire Qualtrics project will be imported into a single GIFT survey.

If you only want to import a single questionnaire into GIFT, it is recommended that all of the corresponding questions are contained in one block and that one block is copied into a new project. This will ensure that only the questions you want are imported into the corresponding GIFT survey object.

*Note that if you import a QSF file containng multiple blocks, each block will be separated by a page break in GIFT. Additionally, page breaks in Qualtrics will also appear as page breaks in GIFT.

Steps to Import a Qualtrics Project into GIFT

1. Once you have your material prepared in Qualtrics, open the source project, select the Tools menu, and then select Export Survey

2. Your survey export will download automatically to your browsers’ default download location, make a note of where this file is located. The file will be named with the project name followed by the extension QSF.

3. Next, open GIFT and go into the Course Creator (either create a new course, or edit an existing course from the Take a Course homepage).

4. Add a Survey / Test course object to your Course (you may optionally edit and existing Survey Course Object)

5. Either create a new survey, or select an existing survey to edit within the Survey Editor.

Note: If you import a QSF file into an existing survey, the imported items will appear on a new “page” at the end of the existing survey.

6. Click the Import from QSF file, and drag your Qualtrics export (from step #2) onto the designed area. The process will start automatically.

7. You may see a warning message describing any content that was not able to be imported into GIFT.

8. Make sure to name your survey, otherwise you will receive an error when attempting to save your work.

9. Once the import process has completed you can visually inspect the survey, make changes, delete pages that you do not want in the GIFT survey, and assign scoring to your questions (if applicable) using the “Scoring Mode” button at the top of the interface.

Note: Please report any feedback or concerns in the forums at