We are pleased to announce that lab authors can now use the Integrated Digital Lab eXperience (IDLx) platform’s Variable-Display component to show and hide lab instructions and instruction elements. This is done by setting a lab variable and then using that lab variable within the instructions.  

Here is a list of the currently supported methods: 

Setting variables 

  • Lab Variables Menu – Use the @lab menu to create and set the variable. 
  • Life Cycle Actions (LCA) – Set the lab variable in an LCA when the virtual machine or cloud environment are in the First Displayable or Resumed event. 
  • Activity Based Assessments (ABA)  Set the lab variable in an ABA activity when the user clicks the button for the activity in the lab instructions. 

Using variables in a lab 

  • IDLx Drop-down Menu – Show the lab variable by configuring values in a drop-down menu.  
  • API Launch – Use the Launch API command to start a lab for a specified user and use a lab variable in the URL as a parameter.
  • Dynamic Includes from an External Repository – Lab instructions can be dynamically displayed based on the variable set in the lab and the variable value appended to the file name in the external repository. 
  • IDLx Textbox – Show lab instructions based on text a user enters in a textbox. 
  • IDLx Sections – Create a section of lab instructions and IDLx elements so they can be called on as one, using the lab variable. 

While there are several implementation options available, this post will examine the Lab Variable Menu method (setting the variable)IDLx Sections and the IDLx Drop-down Menu methods.  

Setting a Variable (Lab Variables Menu Method)  

The lab variable can be set multiple ways, but only needs to be set once to be used in lab instructions. 

First, we will create the variable we want to use: 

  1. From the lab profile. click Edit Instructions. 
  2. Click the @lab menu and select the Variables tab at the top of the window and then Add Variable. 
  3. Enter a Name that you wish to use for the variable name.
  4. Enter a Value that you wish to use for the variable value.  

The lab token is automatically generated to the right of the Value field. You can either copy the token and paste into lab instruction or click Insert to inset the variable at the current cursor position in the lab instructions.  

       5. Click OK to return to the IDLx Markdown editor. 

IDLx Sections Method 

Now we will create a section of lab instructions and IDLx elements so they can be called as one, using the lab variableSections are hidden by default and will only display when a lab variable set calls on the section.  

When creating within the IDLx editor, sections will use the following Markdown syntax: 



A group of entries for a single section might look like this: 

Tying it Together  

Now that we have set our variable (@lab.variable(language)) and defined a section, we can use @lab replacement tokens to control what information is hidden and what gets displayed to the end user.  

For this illustration we will use the @lab.DropDown(name)[val1,val2] replacement token to create a dropdown that can control which value is displayed.  

Notice that the replacement token has now become @lab.DropDown(language)[en,fr,es]  

Together this replacement token/variable and sections syntax combination will produce a dropdown to allow end users to select which language displays in the IDLx manual, as shown below 

There is no limit to what can be placed in the sections. Imagine that instead of the single line of text, there is an entire lab created within the section block. Lab authors can localize a lab for delivery to users in many different regions around the world. Instructors and users alike can display the different language options as needed with a convenient drop-down menu selection. 

Another example of this method is shown here, where we choose which type of coding language to display.  

For this case, the code-language variable has been set using the Lab Variables Menu and the @Lab replacement token has been defined as @lab.DropDown(code-language)[C#,VB.NET,Python] 

This time, the sections are Markdown code blocks that help ensure that the IDLx editor displays each of the different coding languages properly.  

Here is what the end result looks like 

Lab authors who are looking for a way to create a streamlined all in one place lab, where they can give their students the option to work with their preferred coding language, need look no further 

Increased Functionality with Real Business Value 

We have demonstrated just a sample of how this new functionality can enhance IDLx lab authoring, but the opportunities this brings to API integrated partners cannot be overstatedWith this new feature in place, we now have a method for API consumers to pass assorted information from their home system directly into the lab instructions. Possible scenarios range from class and/or instructor information to custom dynamic support data as this functionality enables any user-defined information in the calling system to be surfaced as lab variables.  

Lab authors can customize their users experience more granularly than ever; the possibilities are truly endless! And here’s the best part: These features came directly from a client’s need. They shared their problem and the solution was a bit of additional functionality to the already versatile IDLx platform.

Additional Resources
Documentation: IDLx Lab Development Best Practices

If you’d like more information or have questions, please contact us.