Skip to content

Constructor Virtual Lab basic concepts

Virtual Lab is a platform that enables you as a course instructor to create practical tasks for learners and learners to learn from practice by doing exercises in their personal environments. It can be used to train company staff to perform work tasks or to teach academic students.

Labs configured in Virtual Lab can be of the following types:

  • Virtual Machines (VM) based — labs that use virtual environment in which students complete lab task.
  • SaaS based — light-weight browser-based labs that do not require dedicated virtual environment.

The following entities are used in a lab:

  • Images
  • Labflow actions
  • Variables
  • Virtual Machines
  • Task assessment criteria

Images

An image is a VM disk with an OS installed. An image is used as a starting point to create a VM for a student.

Images are configured depending on the purpose of a course. For example, an application can be installed on a VM, in which students will be trained to work.

The following base images are pre-configured in Virtual Lab by default:

  • Ubuntu 20 with Selenium
  • Ubuntu 20.04
  • Windows Server 2012 with Selenium
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

Based on these images, you can create custom VM images for your course. See Adding custom VM images.

Lab flow actions

A lab action is a basic element of a lab. A set of actions configured in a lab in a particular order describes the lab flow. A lab constists of standard actions that are used in all labs (such as VM start) and of custom actions that are configurable and specific to a particular lab.

A custom action allows you (as an instructor) to automate repetitive actions that may be executed manually, and to save time when creating a lab.

A lab action is a custom script that executes an action associated with a condition. For example, a custom action might be used to create individual product credentials for students at the beginning of a lab, and another action might be used to delete those credentials at the end of the lab.

One custom action typically consists of several template actions. The list of template actions for custom actions is configured by API objects.

For the information about how to add custom actions to a lab, see Configuring custom actions.

Variables

Variables are used to refer to values through different sets of data collected from custom actions without entering values themselves each time they are required.

The following two types of variables are used in Virtual Lab:

  • Input variables (first-level) that are used to substitute separate parameter values. Such variables are set within API objects.
  • Output variables that are used to substitute entire output JSON structures. Such variables are set within custom actions.

Input variables

Input variables can be of the following types:

  • predefined — variables that are automatically generated on the creation of a lab. They help you, for example, to refer to the credentials of a VM in an instruction. See**Specifying variables for VM credentials in a lab**.
  • custom — variables the you add in the configuration of lab. These variables have a value specified. See  Adding custom variables.

The following common predefined input variables exist in Virtual Lab by default:

  • $vle_vm_session_id — this variable stores the identifier of a student’s session.

  • $vm_ip — this variable stores the IP-address of the student VM.

  • $$username — this variable stores the username of a student.

  • {{VMname_VMinstance#}_vm_username} — the username on a particular virtual machine added to the lab.

  • {{VMname_VMinstance#}_vm_password} — the password for the added VM.

  • {{VMname_VMinstance#}_vm_ip} — the IP-address of the added VM.

The {VMname_VMinstance#} part of a variable name will be substituted with the name assigned to the VM in this lab that has, if applicable, the VM instance number within this lab as a suffix.

For example, the variable holding a user name to access the ExampleVM virtual machine in your lab would look as follows:

{ExampleVM_vm_username}

or as {ExampleVM #1_vm_username} if there are several instances.

These variables are available for selection when describing steps of your lab tasks through a context menu.

Other variables can be set when configuring API objects (see Adding custom input variables).

Output variables

Output variables are configured within lab custom actions and define a response that should be received after executing a respective action. See Configuring custom actions.

Virtual Machines

A Virtual Machine (VM) is a virtual environment that emulates a real computer system.

Each VM-based lab can have one or several VMs. VMs that students use in a lab are created based on the configured images.

Task assessment criteria

Virtual Lab provides automated assessment of students' lab tasks. Assessment criteria can be configured either using scripts or through API. See Adding an assessment script to a lab task.

To get an idea about a step-by-step process of a lab creation, see A lab creation walkthrough.