Recently Launched – Development items on all platforms released in the past 2 weeks
Coming Soon – Items currently in development
Planned Development – Planned items without a set release date

Enable Disk UUID

It is now possible to enable Disk UUID on vSphere VMs. There is a checkbox on the VM profile to enable this feature.

October 12th, 2019|Tags: |

Disconnect from Labs

Lab profiles now have an option on the advanced tab to allow lab users to disconnect from the lab and keep the lab running. The disconnected lab will still count towards the user’s active lab instances.

October 12th, 2019|Tags: |

Publishing Groups and Course Availability

Soon courses will only be available to be used in classes and course assignments if they are part of a publishing group. Therefore, to assist LODS staff and Operations Managers in identifying courses that don’t belong to a publishing group, these courses now have a message at the top of the profile that states This course must be added to […]

October 10th, 2019|Tags: |

Global Achievements

With the proper permissions, achievements can now be made globally available. Your organization has the ability to opt in or out of global achievements when it has achievements enabled. Opting in allows your students to earn these achievements. This eliminates the need to mark “Enable achievements for outside organizations” on courses.

October 10th, 2019|Tags: |

New Output Options on Instructor Schedule

To help those who schedule classes and plan the logistics for instructors, we have added two new output options on the Instructor Schedule: City and Country. When turned on these will display the city and country the instructor is from if that data is in their profile.

Note: The instructor names in the […]

October 10th, 2019|Tags: |

Sort Output Option Lists

You can now sort the Output Options list on search pages and Chooser dialogs alphabetically or by groups (traditional method). Many of these pages and dialogs have large output options lists. The new Sort Alphabetically/Sort by Group toggle at the top of the lists help you to find the output options you are looking for faster.

October 10th, 2019|Tags: |

TMS Improvements and Fixes

We have made the following enhancements to our TMS:

  • For accessibility purposes, screen readers now correctly read the Login Assistance page.
  • We now prevent users from being created through the API for organizations that have been disabled.
  • All users created through the API will now have Enable Notifications set for them automatically.
  • You can no longer save a class with […]
October 10th, 2019|Tags: |

Instruction Source from Azure DevOps (ADO)

It is now possible to use an ADO repository to sync instructions to a lab profile. Syncing instructions with an ADO repository allows lab authors to utilize version control in ADO, multi-author support, as well as centralized management of lab instructions in ADO.

September 28th, 2019|Tags: |

IDL Legacy Retirement

IDL legacy is no longer available to use in new labs. The option to use IDL (legacy) for lab instructions has been removed from LOD. IDL legacy labs that have not yet been converted to IDLx will be automatically upgraded on October 1.

September 28th, 2019|Tags: |

IDLx Page Titles

The next page button in lab instructions now displays the first header on the next page for all header sizes (H1-H6), instead of only using H1 headers on the next page button.

September 28th, 2019|Tags: |

Script Execution Engine 2.0 (SEE)

LOD | Q4

Script Execution Engine (SEE) is the new version of the engine that runs scripts on our platform, for Life Cycle Actions (LCA) and Activity Based Assessment (ABA) subscription commands.

This new engine allows LOD to expand into new […]

Tags: |

Auto Archive Courses

TMS | 2019 Q4

Provide awareness when scheduling courses set to be archived and prevent scheduling of courses past their anticipated archival date.

API v4

Shared Services | Q4

Secure API system with one access method across all platforms.

Roadmap History

September 2019

LOD Improvements and Fixes

September 14th, 2019|Tags: |

  • Fixed a bug that caused an error to occur during lab launch, when the option in the subscription to override subscription pool authentication settings is disabled and the lab uses the subscription pool authentication settings instead.
  • Fixed a bug that could cause manually evaluated activities to be scored more than once. This issue did not impact automated ABA/PBT.

  • Fixed a bug that caused an application error when editing lab instructions of an AWS lab profile that does not have an AWS region configured.

  • Add any number of external registry accounts to a container registry in LOD. This is useful if you have containers in a registry such as Docker Hub, and have multiple organizational accounts for managing your container images.

August 2019

Persist Container Changes

August 31st, 2019|Tags: |

Containers can now persist changes, similar to how differencing disks work for VMs. Changes can be persisted to a new container image, new lab and container image or the current container images in the lab can be updated. This allows lab authors to configure the container image and save it, so that the configuration will be present on future lab launches that use that container image.

Container Registries

August 31st, 2019|Tags: |

LOD now supports creating custom container registries that are linked to an external registry, such as a Docker Hub repository. When persisting changes to a container image, you can choose to save the changes to the custom container registry. This allows you to use containers defined in any registry you have access to in your labs.

LOD Improvements and Fixes

August 31st, 2019|Tags: |

  • Fixed a bug that prevented networks from being saved to a new lab, when cloning a lab and reusing containers.
  • Fixed a typo on cloud subscription authentication tab.
  • Fixed a bug that prevented roles from being removed that were created by a lab user in a lab.
  • Fixed a bug that would prevent resource deployment errors from being logged to a lab instance.
  • Fixed a bug that caused hybrid AWS and Hyper-V labs to be stuck loading during launch.

API Created Classes Use Organization Setting for Event Training Key

August 29th, 2019|Tags: |

If you use the TMS API to create classes, these classes will now default to allow automatic enrollment using event training key if  your organization is set to allow automatic enrollment using event training key by default in new classes.

You can now pull this information for a class through the API, as well, using the GetClass API call response. The response will include the following properties:

  • EnableClassTrainingKey – True/False
  • ClassTrainingKey – the key

Publishing Group Improvements

August 29th, 2019|Tags: |

For those of you who manage your organization’s publishing group, you can now save time by adding courses directly to the publishing group itself, rather than going to each course to add the publishing group to it. All restrictions and warnings are still in effect. In addition, for anyone who can view the publishing group’s profile page, the courses in it are now listed at the bottom of the page. This saves you time searching courses by a publishing group. The Help articles have been updated to reflect these changes. See the How do I add a course to my publishing group? article.

Accessibility Improvements

August 29th, 2019|Tags: |

In our continuing efforts to improve our accessibility, we have made the following improvements:

  • Users with screen readers will now hear
    • The page title announced as a Heading 1 on the Simple Course Assignment page and in the Redeem Training Key dialog.
    • The Training Key announced as required on the Redeem Training Key dialog.
    • The TMS Logo announced as “Link, Learn on Demand TMS”.
  • The language has also been set to English on pages for screen readers.
  • Users who use keyboard controls will be able to cleanly tab through the Current Training page due to removing tabindex values greater than 0.
  • For users with impaired vision, the Integrated Help article links now have a color contrast greater than 4.5.

TMS Improvements and Fixes

August 29th, 2019|Tags: |

We have made the following improvements to our TMS:

  • On the Find Organizations search page, you can turn on an output option to see whether an organization has achievements enabled. You can also use the Enable Achievements filter to quickly narrow your results on this page.
  • Operations Managers and Course Creators can now turn on the Expected Duration output option in the Choose Lab dialog when creating a course to help them control the duration of the course. The can also see this output option on the Find Lab Instances page.
  • We have changed several defaults for new organizations and new child organizations.
  • We have updated the Maintenance and System Message to have a more modern look.
  • The Theme field has been removed from the Company Profile page.
  • The icon on the External Link activities is now a chain link instead of the same icon used for video activities.

LOD Improvements and Fixes

August 24th, 2019|Tags: |

  • Fixed a typo on the tool tip for Introduction Content URL, on the Advanced tab of lab profiles.
  • Fixed a bug that caused an error to occur when printing search results from a container image search or a cloud subscription pool search.
  • Fixed a bug that prevented some fields from printing or exporting, on cloud credential pool search results.

Active Lab Instances Search

August 17th, 2019|Tags: |

A filter has been added to filter active lab instances by cloud platform. This allows an active lab instance search to filter results by the cloud platform that is being used in the lab.

Lab with No Menu Options

August 17th, 2019|Tags: |

When no menu items appear in the Lab Client’s main menu, the menu button will no longer be visible. This can happen when the lab doesn’t allow Cancel, or Save.

AWS Improvements

August 17th, 2019|Tags: |

  • AWS Amazon Simple Notification Service (SNS) service is now available to use in AWS labs.
  • AWS lab user account names will include a lab specific unique identifier. This will enable better auditing of activity in AWS labs, particularly in exam scenarios.
  • Support for Amazon CloudWatch Events and Logs in AWS Cloud Slice labs.

LOD Improvements and Fixes

August 17th, 2019|Tags: |

  • Fixed a bug that prevented concurrent ABA to perform in AWS labs.
  • Fixed a bug that would cause the number of available cloud credentials to display incorrectly.
  • Fixed a bug that prevented low availability emails from being sent when a cloud credential pool meets the low availability threshold.
  • A bug has been fixed that prevented launching a lab as a non-administrator from an internal Lab Series Assignment.

TMS Improvements and Fixes

August 16th, 2019|Tags: |

We have pushed the following items to TMS production:

  • On the Organization Profile page, there is now a Manage Class Vouchers link in the quick access bar for all organizations for those with the proper permissions to manage vouchers for their organizations.
  • The Lab Profile page in the TMS now includes both the Expected and Maximum Durations set in LOD for the lab.
  • On the Activities tab of the Course Profile, the URL field for activities now has an unlimited character length.
  • On the Find Training Key Pools search page, the Expiration filter now returns accurate results.

Course Duration versus Activities Duration Check

August 9th, 2019|Tags: |

When creating or editing a course, you will receive an error message upon saving if the course duration is less than the sum of the course’s activity durations. This only applies to activities available to everyone, based on a 12 hour day. For instance, if your course has the duration set to 1 day but the activities available to everyone have durations that add up to 12 hours and 15 minutes, you will be unable to save the course. You will receive the following error message: “The expected duration of the activities you have added to this course exceeds the time given in the Course’s duration for a student to complete the work. Please increase the Course’s duration. You may contact our help desk for further assistance.” Please be advised that any changes to the Activities tab prior to the save attempt currently will not be saved.

TMS Updates and Fixes

August 9th, 2019|Tags: |

We have pushed the following items to TMS production:

  • Current organizations have been updated to have achievements enabled for their users. If you would like to disable achievements for your organization’s users, you can do this by unchecking ‘Enable Achievements’ at the bottom of the Preferences tab of your organization profile. Child organizations, at the time of creation, will have achievements enabled/disabled based on their parent organization’s setting.
  • The TMS will now return a 403 “Not Found. Sorry, the page you requested could not be found.” message when someone tries to access an invalid or disabled site URL.

Token Aliases

August 3rd, 2019|Tags: |

The following items in LOD are now referenced by an alias instead of an ID, in replacement tokens. This was done to make items in LOD more flexible and import/export without errors.

  • IDLx Activities
  • Cloud Resource Groups
  • Cloud Templates
  • Cloud Credentials
  • Cloud Portal Credentials

In-Lab Notifications

August 3rd, 2019|Tags: |

Long notifications now allow scrolling. This was done to prevent the close button from being hidden when a long notification was displayed in a lab.

July 2019

Private Networking in Container Labs

July 20th, 2019|Tags: |

Docker containers are now able to communicate with other containers in the same lab instance using a private network. A container network is configured the same way as a VM in LOD — add a network from the Networks tab and make it available to the container on the Containers tab.

Deleting Lab Profiles

July 20th, 2019|Tags: |

It is now possible to delete a lab profile that has lab instances associated with it. Preventing the lab from being deleted in this scenario isn’t necessary, now that lab profiles aren’t deleted from the database.

API Consumer Configuration

July 20th, 2019|Tags: |

Configuration templates have been updated to allow Default Max Lab Instances to be modified on a non-custom API consumer configurations. (Per Instance, Per Series Assignment, and Concurrent Usage)

Azure Resource Deployment Output Data

July 20th, 2019|Tags: |

Azure resource templates can now be configured to output data from Azure, back to LOD in the lab instance data. This data can be displayed in the lab via @lab replacement tokens. This is helpful in scenarios when a student needs to RDP or SSH into a VM in Azure, or when information is needed about a deployed resource such as a storage account.

LOD Improvements and Fixes

July 20th, 2019|Tags: |

  • Fixed a bug that prevented the lab extension timer from being extended by the configured amount.
  • Fixed an issue that could cause a lab to not reflect recent changes made. This issue affected a very small number of lab authors.
  • Fixed a bug that prevented Azure cloud slice labs from deploying resources in the background and allowing the lab to display before resources were deployed.

Lab Display Delay and Custom Message

July 13th, 2019|Tags: |

Lab profiles can now be configured with a time delay and a custom message, while the lab is loading. You can configured these options on the Advanced tab of a lab profile. This feature is available on all lab types in LOD (Hyper-V, VMware, Azure, AWS, Docker).

This was done to provide a more seamless lab experience in labs when additional services are deployed when the lab is launched and are needed to be ready and displayed when the lab launches.

New AWS Services Available

July 13th, 2019|Tags: |

Support for additional AWS Services have been enabled for use in LOD. These services can be used in labs that use AWS services.

  • AWS OpsWorks
  • AWS OpsWorks Configuration Management
  • AWS Secrets Manager
  • AWS Step Functions
  • Amazon Athena
  • Amazon Cognito User Pools
  • Amazon Kinesis
  • Amazon Kinesis Analytics
  • Amazon Kinesis Firehose
  • Amazon Kineses Video Streams
  • Amazon Route 53
  • Auto Scaling Plans

AWS Improvements

July 13th, 2019|Tags: |

AWS cloud subscription names now have a default prefix: Prefix-Platform Instance ID-Subscription ID. If a prefix is defined in the automation settings of a cloud subscription, the prefix will be appended to the default prefix.

This was done to make subscription names more human readable, as well as helping to determine which account in AWS is associated with which cloud subscription in LOD.

Exposed Ports in Docker Labs

July 13th, 2019|Tags: |

Lab authors will now have the ability to reference host and/or port values independently of the overall address. Many applications reference addresses differently than the standard host:port syntax, so making the components available independently will allow maximum flexibility

  • @lab.Container(alias).ExposedPort(exposedPortValue).Address
  • @lab.Container(alias).ExposedPort(exposedPortValue).HostPort
  • @lab.Container(alias).ExposedPort(exposedPortValue).HostName

Azure Lab Host Management Service Improvements

July 13th, 2019|Tags: |

The Azure lab host management services has been updated with some improvements that will help improve performance, resilience, scalability and long-term maintainability.

  • Updated all API interactions to help cope with transient Azure service issues.
  • Moved to an Azure app service for better resilience, reliability and scalability.
  • Rebuilt on .NET Core, which will improve performance and maintainability.


LOD Updates and Fixes

July 13th, 2019|Tags: |

  • Cloud subscription pages now have a link to find lab instances for the subscription. This is helpful for determining the use of a specific cloud subscription within LOD.
  • Fixed a bug that would prevent a non-super user from being able to select Docker from the available virtualization platforms when creating a lab profile.
  • Fixed a bug that prevented VMs from being cloned using Save As from a VM profile.

IDLx Improvements

July 5th, 2019|Tags: |

Code Blocks have received minor changes. Clicking on the copy or type text icons trigger the expected behavior and clicking the code block itself will no longer copy or type text.


TMS Updates and Fixes

July 3rd, 2019|Tags: |

We have pushed the following items to TMS production:

  • As an administrator, you can now use the keyboard to navigate the Organization, Program, and Classroom filter dropdowns on search pages.
  • End users and administrators using Event Training Keys for class enrollment should be aware that the keys now expire. There are two options on the Create/Edit Class page when automatic enrollment using an event training key is set. The first one is the default and prevents the key from being redeemed when the class is over. The second allows the key to be used for as long as the labs are available after the class has ended.
  • You can now access the Learn on Demand Systems Roadmap directly from the default top navigation bar. If you are unable to see this link, it is due to customizations to your site’s top navigation bar.
  • The Recordings link is no longer visible on classes using Event Builder as the virtual meeting host.

Achievements for Passing Exams and Learning Paths

July 3rd, 2019|Tags: |

Your students can now earn achievements when they pass an exam or complete a learning path! And if badges are attached to the achievements, they can share the externally hosted badge with others.

When you build these achievements, you can use simple JSON conditions or more complex JSON with multiple conditions. Here are examples of each:

  • Simple JSON condition for passing an exam lab with the ID of 12345: [{Subject:0,Count:1,Passed:true,LabProfileIds[12345]}]
  • Complex, multiple conditions for completing a learning path that is comprised of 2 courses with one lab each (IDs 11223 and 11223) and a course with an exam lab (ID 12345): [{Subject:0,Count:1,Complete:true,Distinct:true,LabProfileIds[11223,11224]},{Subject:0,Count:1,Passed:true,LabProfileIds[12345]}]

The Help documentation for this will be updated soon.

External Badges

July 3rd, 2019|Tags: |

Students can now share badges through an external badge provider for activities they completed through the TMS. This gives your users an additional sense of accomplishment, and they can share this accomplishment with others outside of the TMS through social media.

This new feature has the following components:

  1. Badge Provider – a repository to distribute Badges. This is a third-party vendor that will issue the badge to the user.
  2. Badge – the token given by a Badge Provider to a student to share based on the achievement earned.
  3. Achievement – the criteria needed to earn the badge. An achievement is given to users who complete specific task(s) in the TMS. These have already been in use, but up until now awards could only be seen in the TMS.

The process to create badges has four steps you will need to complete:

  1. Create a badge template in the Badge Provider’s repository. This requires access to that platform and an account to create badges. Currently we only support Credly badges.
  2. Create the Badge Provider entity in the TMS. This requires permissions in the TMS. You also need the Organization ID and API Authentication Token provided by the Badge Provider.
  3. Create the Badge entity in the TMS. This requires permissions in the TMS. You also need the Template ID for the badge provided by the Badge Provider.
  4. Associate the badge with an existing or new achievement.

Articles fully describing these steps in the TMS will be published to the Help documentation soon.

June 2019

LOD Updates and Fixes

June 28th, 2019|Tags: |

  • When a lab profile is deleted, it is now archived instead of purged from our platform entirely. This will preserve usage data, as well as speed up the deletion process.
  • Improved our host health check procedures to reduce the amount of time a student is stuck on the connection lost screen after recovering from a network-related failure.
  • Virtual machines that are not visible to the student but have the option for Make lab instance data available inside virtual machine selected will no longer inject the username and password into the VM. This was done to prevent a hidden VM from being tampered with by the student.

IDLx Updates

June 21st, 2019|Tags: |

 New IDLx markdown syntax has been added to modify code blocks in lab instructions.

  • Code blocks that contain multi line commands will now wrap to the next line, by adding ‘-wrap’ when declaring the code block language. For instance “PowerShell-wrap”.
  • Line numbers can now be added to code blocks, by adding ‘-linenums’ when declaring the code block language. For instance “PowerShell-linenums”


LOD Updates and Fixes

June 21st, 2019|Tags: |

  • Fixed a bug that caused @lab replacement tokens not to render in a lab when they were added to the lab instructions using a Markdown include from a GitHub RAW file.
  • Fixed a bug that caused users to be unable to be able to view subscription pool pages, unless they had a permission to view credential pool pages.
  • Fixed an issue that would cause some characters in a cloud credential to render as HTML. ‘&gt’ was rendering as ‘>’ when those characters were displayed in a lab as cloud credentials.
  • Fixed a bug that would cause some developer files uploads to fail.

TMS Updates and Fixes

June 17th, 2019|Tags: |

  • You can now include your External Ids in the Class Import template.
  • The GetClass and the SearchClasses API methods now return:
    • InstructorId
    • InstructorFirstName
    • InstructorLastName
  • The HTML Description field on the Course Profile page is now an accordion section below Activities.
  • All major theme contact pages were updated to the current content.
  • We now properly filter and show output options for enrollments when the payment type is class enrollment training key. Enrollment History is updated when a class enrollment was created using an event training key.
  • On Find Notification Plans, the Received By filter now contains all possible recipient types, including Creator, Class Custom Users and Editing Delegates.
  • On the Organization Profile page, the dependent field, Default Organization Manager Role, is now directly below the Allow Anonymous Organization Registration section instead of after the Account Manager field.
  • Course Assignments had the following accessibility updates:
    • Remove static text from focus order
    • Bookmark control changed to button, state if selected or not
    • Table of Contents changed to actionable items

Personalized Notifications

June 17th, 2019|Tags: |

You can now personalize notifications to recipients by including the new replacement text fields in the body of the notification:

  • RecipientFirstName
  • RecipientLastName
  • RecipientFullName
  • RecipientSiteUrl

When these are used, the email notification will pull the recipient’s information and include it in-place of the fields. For instance, if Amelia Johnston, an instructor, is receiving a notification that a student has cancelled, the notification could be addressed Dear [RecipientFirstName] [RecipientLastName]. The email that Amelia would receive would read Dear Amelia Johnston.

Course Duplication

June 17th, 2019|Tags: |

If you create courses, you can now duplicate an existing course without having to create a new one from scratch. With this you can easily create multiple courses for different customers or uses with slight differences in activities, availability, custom fields, etc.

To duplicate a Course:

  1. On the Course profile page, click Edit.
  2. Scroll down to the bottom of the page and click Save As. You will be prompted to enter the name for the new course.
  3. Click Save. The newly created Course will automatically open in Edit mode to make revisions.

External Badges

June 17th, 2019|Tags: |

Operations managers, we have begun to put in place externally supported badges that your users will soon be able to earn through their training activities in the TMS. This will give your users an additional sense of accomplishment, and they will be able to share that accomplishment with others outside the TMS.

The final pieces for this new feature will be coming soon: the ability to call out to the Badge Provider when a badge is earned and have them send the badge to the student. Permissions to view badging will be put in place when the rest of the functionality is added.

LOD Updates and Fixes

June 10th, 2019|Tags: |

There are updates and fixes in Lab on Demand!

  • Fixed a bug that would prevent files from being deleted from a class after the instructor deleted the file from the Share Files section of the monitor labs page.
  • Fixed a bug that caused the region selection drop-down to display incorrectly on the virtual machines tab of lab profiles, when using Internet Explorer.

TMS Updates and Fixes

June 5th, 2019|Tags: |

There are updates in the Training Management Studio!
You can now use the arrow keys and Enter to scroll the Admin menu search results to select an item from the results.
Course activities now properly roll-up their prices to the course level, regardless of whether they are in a section or not. This was already in Production as an emergency hotfix in May.

Accessibility Updates

June 5th, 2019|Tags: |

The Web is fundamentally designed to work for all people, whatever their hardware, software, language, location, or ability. When the Web meets this goal, it is accessible to people with a diverse range of hearing, movement, sight, and cognitive ability. In this update, we have made several improvements to student facing pages to ensure they are accessble to all students.
  • The Sign In dialog choices now have dotted outlines when they are in focus.
  • Section 508 accessibility compliance updates.
  • System messages and temporary status messages will now stay open until you close them or leave the page. In addition, if you are using a screen reader, the messages and their Close (X) button are now read when you tab to them.
  • The Course Image on the Course Profile page now has the ALT text attribute.
  • Pages available to students have been parsed correctly.
  • The Search link on the Course Profile page has been hidden for students. They should use the Course Catalog, if available to search for courses.
  • The tabs on the Simple Course Assignment page now wrap if the window is zoomed or resized to be smaller. In addition, if you are using a screen reader, the tabs are now read as part of a list including their number in the list and their status at point of focus and selection. The tabs’ contents are also read when you enter the tab and give it focus.

May 2019

Accessibility Improvements

May 17th, 2019|Tags: |

Accessibility improvements for screen readers and other accessibility utilities.

  • Notification dialogs can now be read by screen readers in labs.
  • Keyboard navigation has been improved in IDLx labs, to make items in the instructions window accessible via keyboard navigation, including selecting task check boxes.

Accessibility Improvements

May 16th, 2019|Tags: |

Notification dialog windows can now be read by screen readers in labs. Keyboard navigation has been improved in IDLx labs, to make items in the instructions window accessible via keyboard navigation, including selecting task check boxes.

April 2019

March 2019

February 2019

January 2019

November 2018

October 2018

September 2018

August 2018

Class Browser

August 16th, 2018|Tags: |

TMS | Release date: 8/16/2018

Modern UI update to the Class Browser page for your organization’s upcoming classes.

2-Step Email Verification

August 2nd, 2018|

TMS | Release date: 8/2/2018

Organizations can now add 2-step email verification to their anonymous user registration process to ensure the user identity.

July 2018

Two new API endpoints; Lab Instructions and Update Lab Instructions Package

July 30th, 2018|Tags: |

LOD | Release date: 7/30/2018

Lab Instructions: allows you to update the IDL-MD instructions of a lab.

Update Lab Instructions Package: allows you to update the IDL-MD instructions of a lab by uploading a zip archive containing the instructions and any referenced files, such as images and videos.

For more information about Lab on Demand API, read:

For API best practices, read: