- 06 Nov 2024
- 32 Minutes to read
- Print
Lab Profiles
- Updated on 06 Nov 2024
- 32 Minutes to read
- Print
Lab Profile are the definitions or configurations for Skillable Labs. Settings such as the virtual or cloud components utilized, how networking is configured, Duration of the lab, etc. are all specified on the lab profile. Lab profiles can exist on their own, but cannot be launched outside of Skillable Studio without being associated to a Lab Series.
Basic Information
Settings in the Basic Information category relate to the fundamentals of a lab profile and impact some of the basics such as searchability & lab duration.
Field | Description |
---|---|
Number | Often considered the lab "code" - the lab number is intended to be a short way to reference a lab without a full title. This field supports numbers, letters, and symbols such as - or _. |
Name | This will be the display name of the lab profile. |
Series | The lab series that the lab profile is associated with. This controls what API Consumer the lab is available to. |
Organization | The organization that will own and maintain the lab profile. Impacts what Users have access to view/modify. |
Virtualization Platform | The underlying Virtualization Platform that the lab profile will use. Selecting "None" will result in the lab profile using the Cloud Client. |
Code Lab Fabric | Sets the lab to use the Code Labs fabric. |
Parent | Enable Inheritance or change the existing Inheritance relationship. Can impact the virtual environment (virtual machines, virtual networks, etc), resources and content (manuals, scenario, objective, exercises, tasks, etc), or both. Changes to selected options of the parent lab profile will be reflected in instances of this lab. |
Storage Reservation Per Instance | This is the amount of storage that the lab scheduler will ensure is available before an instance of this lab is Launched on a lab host server. |
Development Status | Set the lab profile Development Status. Lab profiles in a "Complete" Development Status will be available to launch outside of Skillable Studio, other development status' will only be available to registered lab developers. |
Duration | The expected amount of time it will take a user to complete the lab. |
Prompt user to extend time | Enable the user to extend the lab time by a specified amount of time (ex: 20mins) when a specified amount of time is remaining (ex: 10mins). Labs will not extend beyond 150% of their configured duration. |
Level | Sets the Level for the lab; this can be 100, 200, 300, or 400. |
Evaluation | Select to add an Evaluation to the lab profile. The Evaluation must already be created to add it to the lab profile using this button. |
Advertising Campaign | Used to show introductory content while the lab is loading. This can be a video, PowerPoint presentation or anything accessible by a URL. |
Enabled | Used to enable or disable the lab profile for use. If the lab is disabled, it will only be accessible to lab developers. |
Enable Bug Reporting | Allows bug reporting on the lab profile. Bug reports are collected on the lab profile details page by selecting Edit in the upper-right corner of the lab profile page. |
Bug Report Email Address | If this value is set, bug reports submitted by end users will be emailed to the supplied address. Notice that this field is not required in order for bug reporting and tracking to work. |
Owner Name | The name of the owner of the lab profile. |
Owner E-mail | The e-mail address of the owner of the lab profile. |
Networks
To use network features, such as external internet access or communication between virtual machines, lab profiles must have a network created or inherit networks from a Parent lab profile.
Field | Description |
---|---|
Name | Display name of the network. |
Description | Used to provide more information about the network. |
Type of network | The type of network to be used by the lab profile. There are four options: |
Private: private network (no internet access), typically used for communication between virtual machines. | |
Web Access (NAT): internet accessible with NAT (network address translation) | |
Web Access (Public IP): internet accessible network with a public IP address. | |
Access Control List | User to control how students use the web within a Virtual Machine. |
Visible to Student | Designates if the network is visible to users with student access, within the lab environment. |
Development Only | Used to make the network available to lab profile that are currently in development. |
VLAN IDs are configured differently for Hyper-V and ESX. The VLAN ID is set on the VM profile for Hyper-V and set on the Networks tab of the Lab Profile for ESX.
Virtual Machines
Field | Description |
---|---|
Add Virtual machine | Select the add a virtual machine to the lab profile. The virtual machine must already be created to add it to the lab profile using this button. |
Create Virtual Machine Profile | Select to create a virtual machine. This will create a virtual machine, in which the lab author can specify hardware preferences. |
Has Virtual machine Pool | A pool of unique virtual machine profiles can be created, to be issued to individual users. A single pool member will never be used by two different users simultaneously. This is useful for to ensure that a machine or set of machines is unique in the world at any given point in time. If your virtual machine will be identical for all users, you do not need a pool. It is important to note that you can only have as many concurrent users as you have pool members. This can greatly reduce the scalability of the lab, so ensure you create a sufficient pool depth to accommodate the peak number of anticipated concurrent users. |
After a virtual machine profile has been added, the following options are available: | |
Visible to Student | Allows the student to view and select the virtual machine from the resources tab. |
Default Selection | Sets the VM to be the default VM selected in the lab. This is the VM that will display when the lab is launched. |
Connect to terminal | Hides the desktop UI and allows the VM to be connected to via a terminal. For more information, read Terminal access to virtual machines. |
Start Automatically | Enables the VM to start automatically when the lab is launched. |
Startup Delay | Enter that amount of delay for the VM to start, measured in seconds. |
Wait for heartbeat before displaying to user | When this is enabled, the Lab Client will not display the lab to the user until the virtual machine reports a heartbeat to the virtualization platform. This is useful if you want to prevent the user from accessing the lab before critical machines are up and running. |
Synchronize system time with host | Synchronizes the VM system time with the time on the host that the VM is running on. |
Set initial system time (available on ESX only) | Allows you to set the date and time that the VM will launch at. This can be used in conjunction with Synchronize system time with host to freeze the date and time. |
Allow user to revert to initial state | Allows the user to revert to the initial state that the lab was launched at. The user can roll back the VM no matter what has been done in the Lab instance. This option is found in the Commands menu (lightning bolt icon) in the lab. |
Make lab instance data available inside virtual machine | When this option is enabled, lab instance data will be available in the virtual machine. The location varies depending on the platform used (Hyper-v or ESX): |
If the VM is hidden from the student, the lab instance data will have the username and password for the VM removed, when viewing lab instance data from other VMs in the lab. This prevents a hidden VM from being tampered with by the student. | |
Resume Order | Used when resuming from save and launching from a start state. |
Resume Delay | the amount of delay for the VM to start, after resuming a saved lab. |
Floppy Drive | If removeable media is added to the lab profile, select floppy media in the drop-down to have that media loaded when the VM starts. |
DVD Drive | If removeable media is added to the lab profile, select DVD media in the drop-down to have that media loaded when the VM starts. |
Network Adapter | If a network has been configured in the Networks tab of the lab profile, select the network that will be available to the VM in the lab. |
Visible to student | Checking this box allows the network to be visible to the student. If this box is not checked, the network will not be visible to the student in the lab. |
Removable Media
Field | Description |
---|---|
Add Removable Media | Select to add removable Media to the lab profile. The removable media must already be created to add it to the lab profile using this button. |
Create Removable Media | Select to create removable media. This will create removable media that can be used in the lab. Removable media types include Floppy and Optical. |
When removable media is created, you must choose a platform that the removable media will be used on; Hyper-V or ESX. The removable media is tagged in Skillable Studio with the platform. The media can only be used with the chosen platform.
Cloud
Field | Description |
---|---|
Cloud Platform | Select the cloud platform to be used by the lab profile. Selecting a Cloud Platform will allow the lab profile to use the Cloud Lab Client. |
Override Client landing Page | Enables the portal window to display a specific URL, configured in the Client Landing Page field after enabling this feature by checking the box. |
Enable Automatic Login (AWS Only) | When this option is enabled, users will be directly logged into the cloud portal. No cloud portal users are required. If disabled users will need to manually log into the portal using a required cloud portal user supplied in the user section. |
Subscription Pool | Select the subscription pool that the lab will use. |
Deploy Default VPC (AWS Only) | When enabled, the lab instances will contain default VPC (Virtual Private Cloud) and resources. Default resources typically contain a VPC, Gateway and other networking resources. Default resources will be deployed prior to template deployment and may add to the instance launch time. |
Deployment Failure | Select the deployment failure action. |
Override Script Context | By default, scripts run in the same permissions context as the lab user. You can use this section to elevate the script context role with defined policies, or elevate to run with Full Admin Access. |
Datacenter Availability | One or more datacenters that resources will be deployed to. If multiple datacenters are selected, the datacenter physically closest to the lab user will be selected. If a region is marked as 'Privileged' then additional clearance from the fabric owner may be needed to successfully launch labs in that region. |
Cloud User Accounts
Field | Description |
---|---|
Add User Account | Add a portal user account. Enabling this will allow the lab to display credentials to log in to the cloud portal. |
Add Cloud Resource Group (Azure ) - Add Stack Deployment (AWS) | Add a resource group or Stack Deployment that houses resources, access control policies and permissions for the lab. |
Add Permissions | Select the user from the previous steps to add permissions to. |
Resource Templates | Templates used to deploy resources in a cloud platform. |
Pre-Instancing
Field | Description |
---|---|
Current Settings | |
Enabled Pre-instancing | Enables the lab profiles to be available for pre-instancing. |
Schedule | |
Add to Schedule: | - when: select the date and time when the lab should be pre-instanced. |
Life Cycle
Life Cycle Actions: Actions can be defined to occur at certain points in the lab life cycle. For instance, an external service could be called when the lab builds, or send a notification to the user when the lab is resumed.
Life Cycle Actions
Action | Description |
---|---|
Send a web request | Sends a web request to the URL specified. The URL can optionally contain placeholders that will be replaced by live data, with @lab replacement tokens. |
Send a notification to the user | Sends a notification to the user during the specified event. |
Send an email to the user | Sends an email to the user during the specified event. |
Execute Script in Virtual Machine | Sends a PowerShell or Shell command to a virtual machine. |
Execute Script in Container | Sends a Bash command to a container. |
Execute Script in Cloud Platform | Sends a PowerShell command to the cloud platform. |
Life Cycle Events
Event | Description |
---|---|
Pre-Build | The lab components are being deployed, as well as any cloud resources. |
Post-Build | The lab environment has been built, but components like virtual machines may still be starting. |
First Displayable | All components of the lab are now running and the user can now interact with the lab. |
IP Addresses Assigned | If the lab has public IP addresses, this event will wire when all public IP addresses have been verified to be assigned to the lab's virtual machine(s). |
Saving | The lab is in the process of being saved. |
Saved | The lab is in a saved state and no longer active. |
Resuming | The lab is resuming from a saved state. |
- Resumed | The lab has been resumed from a saved state and the user can interact with the lab again. |
- Tearing Down | The lab environment is being torn down. |
- Torn Down | The lab environment is fully torn down. |
- Building | The lab environment is being built. |
Additional Life Cycle Settings
Additional settings that can optionally be configured:
Optional Setting | Description |
---|---|
Blocking | This allows you to block further execution of the lab life cycle until the action completes. You can use this to sequence actions that depend on each other. |
Delay | Allows you to introduce a delay between the moment the life cycle event occurs and the action is executed. |
Error Action | Controls how Skillable Studio will handle errors that occur when executing this action. All errors are logged against the lab instance by default. You can also choose to notify the user about the error or to end the lab. To prevent users from losing their work, only events early in the lifecycle (build, building, running, etc) allow you to end the lab when an error occurs. |
Inherit Life Cycle Actions
When a child lab profile is configured to inherit the lab environment from a parent lab profile, LCAs can optionally be set to inherit from the parent lab profile.
To inherit Life Cycle Actions, select the checkbox on the Life Cycle tab of the child lab profile, to enable inheritance. Once inheritance is enabled, no other LCA configuration will be available on the child lab profile. All LCA changes must be made on the parent lab profile.
For more information about Action and Event types, please see our Life Cycle Actions documentation.
Tags
Field | Description |
---|---|
Lab Tags | |
Add Tag | Select to add a tag to the lab profile. The Tag must already be created before adding it to a lab profile. |
Lab Host Tags | |
Add Lab Host Tag | Lab host tags are used to specify which Lab Host(s) the lab profile will use when users launch the lab. The Lab Host tag must already be created before adding it to a lab profile. |
Advanced
Field | Description |
---|---|
Fabric Build Sequence | If the lab contains cloud configuration and virtualization components, you can specify which will build first, or set them to build in parallel. |
Theme: | Themes allow you to use custom styles and scripts across multiple lab profiles. Themes are usually set at the series or organization level. Set a theme here only if this lab requires customization that differs from other labs in this series and organization. |
Display Delay | When set, the lab will not be displayed to the user until the delay time has transpired. You can use this to allow a lab to cook a bit before giving your users access to it. For instance if a critical service with in the lab takes time to spin up and you don't want the user to immediately interact with it. |
Display Delay Message | A message that will display on the lab loading screen after the lab is running, but the display delay is in effect. For instance, if you are delaying display in order for critical services to start, you might set this message to Starting critical services. |
Introduction Content URL | The content at this URL will be displayed in a dialog when the lab client interfaces first opens. The content can either be an HTML page or an MP4 file. The URL must use HTTPS. |
End Redirect URL | If this value is set, users will be redirected to the specified URL when the lab ends. This feature isn't used often, but can help a lab fit into an external workflow. |
Max Active Instance | This sets the amount of concurrent labs that can be launched at a time. Setting to Unlimited allows an unlimited amount of launches of this lab profile at a time. Entering a number limits the amount of concurrent labs to the number specified. Any labs that are attempted to be launched after the limit has been met, will be given an error message and will not be able to launch the lab until the number of labs launched is below the maximum amount. |
Max Allowed Build Time | The maximum amount of time for the lab to build. Once the configured maximum amount of time has elapsed, the lab will be set to the option selected in the next field, even if the lab has not completed building. The default max build time is 30 minutes for labs that only use Hyper-V or ESX virtual machines, and 60 minutes for labs with a cloud configuration. If a lab contains Hyper-V or ESX virtual machines and a cloud configuration, the max build time will default to 60 minutes. The build time can be set anywhere from 1 minute to 24 hours. Once the maximum build time has elapsed, options include: |
Show Timer | Checking this box will enable the lab to display a countdown timer, showing the user how much time they have left to complete the lab. |
Enable Navigation Warning | A warning will be displayed if the user navigates away from the lab client before the lab is complete. |
Navigation Bar Width | This sets the width of the navigation bar in the lab UI. |
Show Instructions Tab | Show the instructions tab of the lab. If this isn't enabled, the instructions tab will not be displayed. |
Show Resources Tab | Show the resources tab of the lab. If this isn't enabled, the resources tab will not be displayed. |
Show Help Tab | Show the help tab of the lab. If this isn't enabled, the help tab will not be displayed. |
Custom Instructions Tab Label | Specify a custom label to display on the instructions tab. |
Custom Resources Tab label | Specify a custom label to display on the resources tab. |
Custom Help Tab Label | Specify a custom lab to display on the help tab. |
Enable Type Text | Enables the lab to use Type Text. Type Text is used to input information into the lab environment with one click. |
Show Virtual machine Power Options | Checking this box enables virtual machine power options to be available to users. |
Require Hyper-V Enhanced Controller | Checking this box requires the user to use the Hyper-V Enhanced controller to work in the lab. If this box is checked, users will not be able to use any other machine remote controllers. Note that the Hyper-V enhanced controller only allows one user to access the lab at a time. |
Enable Instance Link Sharing | When enabled, the lab instance URLs can be shared between users. If a user copies the URL from their browser's URL bar, they can send it to another user, or open it in a different browser. Note that most virtual machines only allow one user to access them at a time. This settings does not bypass the connection limitation of virtual machines. |
Allow Lab instance Naming | Allows users to change the name of their lab instances. By default, lab instances have the same name as the lab profile they are based on. |
Allow Multiple Active Instances Per User | Allows a user to have multiple active instances of this lab. This should be left disabled unless all users are willing and able to manage multiple instances. This typically isn't applicable to training scenarios. |
Automatically Disable | The lab profile will be disabled at the specified time. |
Publish to Organization Template Gallery | When enabled, this lab profile will be available as a new lab profile template within the organization template gallery. |
Publish to Public Template Gallery | When enabled, this lab profile will be available as a new lab profile template within the public template gallery. |
Enable virtual machine instance RAM/vCPU editing | When this feature is enabled, an option will be available to users in the lab client to edit the amount of RAM and number of vCPU for individual virtual machines in the lab instance. Note these VM changes are isolated to the current lab instance and are not committed to the lab profile. Also note the user will have to have the Edit Virtual Machine Instance RAM/vCPU permission with the lab client. |
Record RDP Session | When this is enabled, RDP sessions for a lab instance will be recorded. Recordings can later be viewed in the lab instance details page. |
Shared Class Environment
Field | Description |
---|---|
Shared Class Environment | Shared class environments allow multiple lab instances to be bound together with one or more shared networks and resources. A shared class environment consists of at least two different lab profiles, each serving a particular role. |
Save/Cancel Options
Field | Description |
---|---|
Allow User to Cancel Labs | Allows the user to cancel the lab at any point. |
Allow user to Save labs | Allows the user to save the lab in it's current state and return at a later time. Users have a specified maximum number of labs that can be saved at a time. Once users reach their maximum number of saved lab instances, they will need to cancel one of the saved labs, to be able to save a new lab instance. The default maximum instances per user is typically 2, but may vary by organization. Note that saved labs are only saved for 48 hours. Users can extend the saved lab expiration by resuming the lab and saving again. Each save sets the timer back to 48 hours. After48 hours has passed, the lab progress and components are discarded and cannot be recovered. |
Allow User to Disconnect from Lab Client | Allows the user to disconnect from the lab client and leave the lab running. |
Auto-Save incomplete Labs | Enables the lab to automatically save in complete labs after a specified amount of time has passed. |
Save/Cancel Labs When Last Console Sync Exceeds | Amount of time given between console syncs, before the lab will automatically cancel or save. |
Save/Cancel labs when last Activity Exceeds | Amount of time given of inactivity before the lab will automatically cancel or save. |
Activity Required to Enable Auto-Save | Amount of active time in the lab given before the lab will automatically save. |
Maximum AllowSnapshotsots Maximum amount of snapshots that are allowed. |
Instructions Source
Skillable Studio allows you to set Azure DevOps (ADO) or GitHub as an instruction source, using an external ADO or GitHub repository into a lab and use that repository as the source of Lab Instructions content for that lab. For more information, read our GitHub public repository documentation or ADO private repository documentation.
Field | Description |
---|---|
Instructions Source | Indicates the source of the instructions; GitHub or Azure DevOps. |
Repository | The name of the external repository where the instructions are stored. |
Username | The username of the external repository where the instructions are stored. |
Branch | The branch of the external repository where the instructions are stored. |
Content File | The name and file path of the content file. |
Last Sync Time | The last time a sync was attempted or completed between Skillable Studio and the external instruction source. |
Last Sync Status | The status of the last sync attempt. |
Last Import Size | The size of the last import of instructions and percentage of maximum allowed size used. |
Configuration Complete | Indication if the external instruction source is configured on this lab profile. |
Enabled | Enables the external instruction source to supply instructions in the lab. |
LTI (For LTI 1.1 and older only)
LTI (Learning Tools Interoperability) is a standard defined by the IMS Global Learning Consortium that allows learning systems to consume content provided by external tools or services. This standard enables rich integration between different learning services and platforms, combining their strengths to offer more value to students of those learning systems. For more information on Skillable Studio LTI integration, see our guide here: LTI Guide.
Field | Description |
---|---|
LTI Launch URL | The URL to launch the lab via LTI. |
Scoring Policy | Select the type of Scoring Policy. Types of Scoring Policy include: Time Spent and Tasks Complete. |
Scoring Format | Select the Scoring Format. Types of Scoring Format include: % Complete and Pass/Fail. |
Time | Define the amount of time that the Scoring Policy should use. |
Authenticated Launch URLs
Field | Description |
---|---|
Add Authenticated Launch URL** | Select this to add an Authenticated Launch URL to the lab profile. The URL must already be created to add it to the lab profile. |
Cloud Credential Pools
Field | Description |
---|---|
Add Cloud Credential Pool | Select to add a Cloud Credential Pool to the lab profile. The pool must already be created to add it to the lab profile using this button. |
Resources
Resouces allows for the embedding of additional documents into the Lab Client for user reference or to use the document as the instructions within the Lab. This can be a useful feature if a customer already has a document (e.g. PDF) with the lab instructions it.
Using a document for instructions
When using a document for the instructions the document will not contain all the instruction enhancements that Skillable support to drive user engagement and skills validation.
Field | Description |
---|---|
Add Resource | Select to add resource. |
Name | This will be the display name of the resource. |
Type | Select the type of resource to add. Types of resources include: |
URL | Enter the URL of the external link or browse to the file that you wish to upload as a resource for use in the lab. |
Display | The resource will be displayed on the Resources tab of the lab client. By selecting the appropiate option you can control if the content opens in a dialog or a separate browser window. If adding a web link note that it might not open in a dialog if the website does not allow iFraming. |
Description | Used to provide more detail about the resource. |
Lab Manual | Check this box and the document will be presented in the Instruction window of the lab client instead of the Markdown instructions written in the Instruction Editor. Only one document can have this option enabled. When selected the document will no longer be listed on the Resources tab. |