Links

Tracks

This page describes tracks, which are the foundation of Instruqt.

What is a track?

A track is a series of challenges that help learners achieve a learning goal. Where a challenge is an interactive track step a learner needs to understand to achieve the learning goal of the track. For example, your learning goal for a track could be that learners learn how to work with a web app. In that case, a track explains the steps in working with the web app.
See the overview for where a track fits into the Instruqt environment.
Because learners have to solve the challenges, tracks are a hands-on learning experience. For example, a challenge could be that a learner enters and saves data in an app.
Tracks are the foundation of the Instruqt platform and run in a sandbox. Learners play tracks using only a web browser. And track plays have a flow like this:
  1. 1.
    The sandbox in which the track runs is created.
  2. 2.
    The first challenge is created and shown to the learner.
  3. 3.
    The learner reads the challenge instructions or watches an introduction video.
  4. 4.
    The learner solves the challenge, which can be followed by these optional steps:
    1. 1.
      A pre-defined script checks whether the learner solved the challenge.
    2. 2.
      The learner gets feedback on whether the challenge is solved.
  5. 5.
    The following challenge starts or the track finishes.
Building tracks
As a content developer, you can build tracks with the Web UI or the Instruqt CLI.

Common use cases

  • Self-paced tutorials
  • Virtual instructor-led training
  • Demos and POCs
  • Workshops and events
  • Customer and partner onboarding
  • Internal training
  • Knowledge sharing

Track resources

Tracks can contain the following resources:
  • The Sandbox has one or more hosts like containers and virtual machines with which the learner interacts.
  • One or more Challenges the learner has to solve.
  • Scripts that set up the sandbox hosts to bring them to a certain state. You can define scripts for:
    • Setting up the host
    • Cleaning up the host
Check these topics in Concepts for more information about the track resources:

Appearance

🌐 Web UI
💻 Instruqt CLI
In the Web UI, a track appears as:
In Instruqt CLI, a track appears as a set of directories with configuration files:
sandboxcontainer
├── 01-creating-a-directory
│ ├── assignment.md
│ ├── check-container
│ └── solve-container
├── config.yml
└── track.yml
Each track has a main directory. In this case, sandboxcontainer. And every challenge has its own subdirectory with several configuration files. In this case, the 01-creating-a-directory with the configuration files in lines 3 to 5.

Track properties (details)

You specify a track by setting the track properties. For example, the description property lets you specify the track description shown to the learner. You set the track properties through the Web UI or Instruqt CLI.
For Web UI, you will find the properties as fields on the Track details page. For Instruqt CLI, you will find the properties in the configuration file track.yml as in this example:
YAML
slug: mytrack
id: baekpuxv2m5g
type: track
title: MyTrack
teaser: Get started quickly with just one container-based sandbox host.
description: Get started quickly with a container-based sandbox host. Choose a container
when you need a fast, lightweight Linux system.
icon: https://cdn.instruqt.com/assets/templates/ubuntu.png
tags: []
owner: myteam
developers:
maintenance: true
show_timer: true
skipping_enabled: true
timelimit: 3600
idle_timeout: 600
The following table shows the track properties:
🌐 Web UI field list
💻 Instruqt CLI property list
Field
Description
Type
Required
Title
The title of the track.
string
Required
Type
string
Optional
Slug
A URL-friendly identifier of a track. You can use a slug only once in the same team.
string
Required
Icon
The URL of the icon that is to be shown with the track. The size of the icon should be 48x48 pixels.
string
Optional
Teaser
A short description of the track, which is shown in the track list.
string
Optional
Description
A full description of the track, which is shown in the track details.
string
Optional
Time Limit
The maximum time (in seconds) allowed to complete the track. Setting a track time limit will override any time limits set per challenge. If you don't set a time limit here, you can add time limits to each challenge. The total of all challenge time limits will be the time limit for the track.
int
Optional
Experience level
The expected experience level of the learner for the track: • Beginner • Intermediate • Expert
string
Optional
Tags
A list of strings that represent tags associated with the track.
list
Optional
Track authors
A list of developers that can maintain the track. Developers are called Track authors in Web UI.
list
Required
In maintenance
Whether the track is in maintenance. When true, the track can only be started by track developers. It remains visible to other users but will show a maintenance banner.
boolean
Optional
Show countdown timer
Whether to show a timer during the track play. When true, this timer will show how long the learner has left before the track playtime expires.
boolean
Optional
Allow skipping
Whether to enable learners to skip challenges.
boolean
Optional
Idle timeout
Configures the amount of time in seconds a learner can idle for before the track will be stopped automatically. 2 minutes before the timeout is reached, the learner will be presented with a warning and a prompt checking if they're still there. The value must be at least 300 (5 minutes)
int
Optional
Show tab content behind instructions
This will make it so your assignment will float above the content of your tab.
boolean
Optional
Starting position
Your assignment can be shown on the left or right of the screen
Required
Starting width
You can set your assignment to a specific width of the screen
Required
Property
Description
Type
Required
title
The title of the track.
string
Required
type
string
Optional
slug
A URL-friendly identifier of a track. You can use a slug only once in the same team.
string
Required
icon
The URL of the icon that is to be shown with the track. The size of the icon should be 48x48 pixels.
string
Optional
teaser
A short description of the track, which is shown in the track list.
string
Optional
description
A full description of the track, which is shown in the track details.
string
Required
timelimit
The maximum time (in seconds) allowed to complete the track. Setting a track time limit will override any time limits set per challenge. If you don't set a time limit here, you can add time limits to each challenge. The total of all challenge time limits will be the time limit for the track.
int
Optional
level
The expected experience level of the learner for the track: • Beginner • Intermediate • Expert
string
Optional
tags
A list of strings that represent tags associated with the track.
list
Optional
id
Server-generated (do not edit)
string
Optional
challenges
A list of challenges that belong to the track. Only applicable to legacy/version 2 tracks.
list
Required
owner
The slug of the team that owns this track.
string
Required
developers
A list of developers that can maintain the track. Developers are called Track authors in Web UI.
list
Optional
maintenance
Whether the track is in maintenance. When true, the track can only be started by track developers. It remains visible to other users but will show a maintenance banner.
boolean
Optional
show_timer
Whether to show a timer during the track play. When true, this timer will show how long the learner has left before the track playtime expires.
boolean
Optional
skipping_enabled
Whether to enable learners to skip challenges.
boolean
Optional
idle_timeout
Configures the amount of time in seconds a learner can idle for before the track will be stopped automatically. 2 minutes before the timeout is reached, the learner will be presented with a warning and a prompt checking if they're still there. The value must be at least 300 (5 minutes)
int
Optional
Assignment display options
These settings are only available through the UI. Support for CLI coming soon