Links

Time limits and idle timeouts

Learn how to configure track time limits and idle timeouts

Overview

Every Instruqt track has two parameters that cause a user's session to expire: a track time limit and an idle timeout. The track time limit is required and restricts how long a user can interact with your track. The idle timeout is optional and determines how long a user can be away from the track (in a different window, etc.) before their session expires.

Track time limits

There are three ways to configure a track time limit:
  • Within the Track settings page (recommended method).
  • Within each challenge. Instruqt adds all of the challenge time limits together to form an overall track time limit.
  • Using the Instruqt CLI and configuring the timelimit parameter.
If you configure a time limit in the Track settings page and in a track's challenges, the Track settings page value takes precedence.

Configuring a track time limit

You can configure a track time limit using the Instruqt web UI or CLI:
Web UI
Instruqt CLI
  1. 1.
    Select the track you wish to modify the time limit of.
  2. 2.
    From the Manage track menu, select Edit track details.
  3. 3.
    Scroll down to Time limit and input the desired value in seconds.
  4. 4.
    Select Save.
You can also configure time limits via challenges. Select Edit on a challenge and configure the Time limit parameter.
  1. 1.
    If you have not already done so, pull the track you wish to modify the time limit of:
    instruqt track pull <track-slug>
  2. 2.
    Open the track.yml file and add a timelimit parameter.
    timelimit: <value-in-seconds>
    As an example, the file might look like the following:
    slug: example-track
    id: xnlauwy2zewf
    title: Example Track
    teaser: Get started with Ubuntu!
    owner: instruqt-demos
    developers:
    checksum: "8581508520951790619"
    timelimit: 3600
  3. 3.
    From within the track directory, push the update to Instruqt:
    instruqt track push

Allowing users to extend the play time limit

You can allow users to increase their time limit themselves. When enabled, a prompt will appear when a track reaches its limit, allowing users to add more minutes. The maximum amount of extra time that users can add is customized for each track.
You can allow users to extend the time limit using the Instruqt web UI or CLI:
Web UI
Instruqt CLI
  1. 1.
    Select the track you wish to allow users to extend the time limit for.
  2. 2.
    From the Manage track menu, select Edit track details.
  3. 3.
    Scroll down to Extend time to live, toggle it on, and input the desired value in seconds.
  4. 4.
    Click Save.
  1. 1.
    If you have not already done so, pull the track you wish to modify the extend ttl of:
    instruqt track pull <track-slug>
  2. 2.
    Open the track.yml file and add an extend_ttl parameter.
    extend_ttl: <value-in-seconds>
    As an example, the file might look like the following:
    slug: example-track
    id: xnlauwy2zewf
    title: Example Track
    teaser: Get started with Ubuntu!
    owner: instruqt-demos
    developers:
    checksum: "8581508520951790619"
    timelimit: 3600
    extend_ttl: 600
    idle_timeout: 300
  3. 3.
    From within the track directory, push the update to Instruqt:
    instruqt track push

Idle timeouts

There are two ways to configure a track's idle timeout:
  • Within the Track settings page.
  • Using the Instruqt CLI and configuring the idle_timeout parameter.

Configuring a track idle timeout

You can configure a track's idle timeout using the Instruqt web UI or CLI:
Web UI
Instruqt CLI
  1. 1.
    Select the track you wish to modify the idle timeout of.
  2. 2.
    From the Manage track menu, select Edit track details.
  3. 3.
    Scroll down to Idle timeout, toggle it on, and input the desired value in seconds.
  4. 4.
    Select Save.
  1. 1.
    If you have not already done so, pull the track you wish to modify the idle timeout of:
    instruqt track pull <track-slug>
  2. 2.
    Open the track.yml file and add a idle_timeout parameter.
    idle_timeout: <value-in-seconds>
    As an example, the file might look like the following:
    slug: example-track
    id: xnlauwy2zewf
    title: Example Track
    teaser: Get started with Ubuntu!
    owner: instruqt-demos
    developers:
    checksum: "8581508520951790619"
    timelimit: 3600
    idle_timeout: 300
  3. 3.
    From within the track directory, push the update to Instruqt:
    instruqt track push