Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Legal Notes

Copyright 2022 by TECHNIA AB

All rights reserved.


This documentation is proprietary property of TECHNIA AB. In accordance with the terms and conditions of the Software License Agreement between the Customer and TECHNIA AB, the Customer is allowed to print as many copies as necessary of documentation copyrighted by TECHNIA relating to the software being used. This documentation shall be treated as confidential information and should be used only by employees or contractors with the Customer in accordance with the Agreement.


Light My Way is the Digital Adoption Solution (DAS) for the 3DEXPERIENCE platform. With the ambition to be recognized internationally as the best way to train and support your users on the 3DEXPERIENCE platform.

Digital Adoption Solutions (DAS)

Enterprise platforms (and the business processes it governs) are often complex and hard to learn. Traditional training methods & support is inefficient and costly. On top of that traditional methods causes user productivity loss and frustration.

DAS boost user productivity and adoption while avoiding cost related to excessive and inefficient training or support by providing guidance directly in-app. A good business case with a quick ROI is often easy create and there are general reports available from Gartner, Forrester etc to back it up.

Light My Way - DAS for 3DEXPERIENCE

Light My Way is a generic software that works with all html based applications, as long as the right configurations is in place (described in the administration chapter).

The software is installed client side in the browser as a web extension providing visual guidance and user training directly in-app. To display the right instruction at the right time each instruction is tied to application state using html identifiers such as ‘xpath' & 'css selectors’. New instructions are recorded through the web extension, data is stored and retrieved in an external service hosted by TECHNIA and made available by subscription.

  • 3DEXPERIENCE in-app user training

    • The right instruction at the right time

    • App state sensitive

    • Complex / dynamic processes supported

  • 3DEXPERIENCE in-app training creation

    • Create instruction by point and click

    • Relate instructions to app state (object type, UI components etc)

    • Best practices built in

  • Up and running with 3DEXPERIENCE in a minute!

    • Cloud subscription (no infra structure required)

    • No server deployment or dependency to normal release cycle (cloud target environments also supported)

    • No service required (pure software deal / instant value)

Light My Way is the only DAS product with 3DEXPERIENCE platform configurations built-in. The platform configurations are owned and maintained as supported product by TECHNIA (there will be fixes and improvement over time and there is a dedicated support team).

The built-in, high quality and rich target platform configurations (delivered as a cloud service/SaaS) makes guide recording easy (point & click, no dev needed), setup is done within a minute and the resulting in-app user guides will deliver just-in-time off the shelf. On top of that no extra configuration work required over time as new areas are covered or the platform upgrades etc.

Supported Platforms


    • 3DSPACE


    • Value Components

      • TVC

      • Helium


    • Apriso

Configurations making the Consumer and Author roles work well are built in for the supported platforms. No project specific administration required to get started recording standard use cases using a rich set of built-in and supported conditions and configs.


A long and detailed list of supported targets, conditions and other built-in platform configurations can be shared on request.


This release still require R&D collaboration (to refine platform support together).

Product development has so far mainly been driven with good customer coverage on 3DSPACE and some customer coverage with TVC and 3DDASHBOARD.


Light My Way supports 3 different roles or types of users. The ‘User guide’ covers the Consumer and Author roles while the ‘Administration guide’ covers the Administrator role.




Web Extension

Web Extension

Admin UI

Needs guidance using a web application

(user, engineer or similar)

Knows how to use a web application

(process owner, teacher or support)


(developer / system administration)

  • Consumes in app user guides.

  • Gets the right instruction at the right time (based on app state).

  • Easily finds and toggles valid process guides relevant for him.

  • Records instructions in app by clicking the UI.

  • Chooses from a list of app state conditions to control when instructions should show.

  • Lists & maintains instructions over time.

  • Configures the tool to better support (hide complexity) the author.

  • Extend element selection (3DX standards built in).

  • Extends conditions (3DX standards built in).

System Requirements


Supported browsers

  • Chrome

  • Microsoft Edge

If there is a need for Light My Way on any other browser, contact us, we are happy to add it.


The server is hosted as a cloud service and made available to customers as part of the subscription.

For special cases the server can be installed in private networks or external servers. The server is based on and nodejs system requirements applies.


The web extension architecture allows to provide user guidance without dependency to normal release cycles. No access to the server of the target application is required and guides recorded and distributed for CLOUD hosted solutions is supported. Light My Way has no footprint on the target server application what so ever and no server side deployment is required.


The client extension comes in 2 versions: The consumer and the author application. The Author extension also includes the consumer app.

Web Extension

View guides

Create guides


(blue star)



(blue star)

(blue star)

Installation Option 1 - Distributing the client

For IT teams to distribute the extension to large user groups, side loading by registry is recommended.

For web extension side loading by registry, the ExtensionSettings policy is used. For detailed understanding, please refer Detailed guide to the ExtensionSettings policy | Microsoft Docs and Managing Extensions in Your Enterprise - Google Docs

Specific site limitations

Restricting the extension access to the sites it is intended for is good practice. This so that the panel tabs or evaluation is excluded on all other sites. Site access is controlled using the runtime_allowed_hosts entry.

Code Block

If limiting to specific sites, the data service host must be included for Light My Way server communication to work

Registry entries using file

Registry entries could be defined using file. Such a file is simply a text file with the .reg extension that will add registry entries when executed.


Sample registry files are available at

Installing registry entries using file
  • Users can double click a .reg file to add the registry entries.

  • For large scale distribution, Group Policy Preferences(GPP) allows the administrator to easily import a .reg file into Group Policy with several registry settings.

Uninstalling registry entries using file

Added entries can be removed at any time using the same import method on modified .reg files by adding hyphen(-) before every value. Example:- "installation_mode"=-"normal_installed"


For further information on REG files, please refer

Installation Option 2 - Manual client installation

The web extensions are hosted on respective browser store. These are the same sources side loading use to add extensions to the browser. One option is to manually install the extension directly from the browser store. The result will be the same.

Chrome Store

  1. Open in Chrome or MS Edge

  2. Click the desired Chrome Store link made available at

  3. Click “Add to Chrome”

  4. “Manage extensions” to control settings such as specific site limitations

Microsoft Edge Add-ons

  1. Open In MS Edge

  2. Click the desired Microsoft Edge Addon link made available at

  3. Click “Get”

  4. “Manage extensions” to control settings such as specific site limitations

Connecting to the data service


To use the by admin pre-configured server mapping just leave this field empty. You will connect to the data service mapped and intended for your current web page URL automatically.

Connecting unmapped data service

It is possible to connect with unmapped server targets using the Server field in the web extension menu found at the top right of your browser. This could be useful for authors connecting to sandbox guide repositories etc that should not be used by the overall user community.

  1. Click the extensions menu

  2. Click “Light My Way“ icon

  3. Enter server URL with domains and press TAB

  4. “Connected successfully” should appear in green


The normal setup is that TECHNIA will host the data service in the CLOUD and all you have to do is to connect to the account you get with your subscription.

For special cases the server can be installed in private networks or external servers. The server is based on and nodejs system requirements applies.

The Web Extension

The Light My Way browser extension UI layer is added to the right side in the target application. Depending on role one or two tabs will be visible. The tabs are rendered on top and will not interfere with the UI. If the tabs for some reason are in the way you can move them by drag and drop. Clicking a tab will expand and display its content so that you can access its features. By clicking the tab again it will collapse to its original state.

Quick disable

If you for some reason want to disable all Light My Way evaluation and rendering there is a quick enable slider available in the web extension menu found at the top right of your browser.

Toggle panel

It is possible to toggle panel tabs to hide or show depending on preference. Toggle is available in the context menu accessed by right clicking somewhere in the target application. Toggle panel could be useful in case the panel is in the way or if you have set your preferred guides and you are only interested in the callouts.


The user can move the panel tabs vertically. Reposition could be useful in case the tabs is in the way.

The new position is persisted so that the user preference is stored over sessions and the user do not have to repeat it.

Moving the panel horizontally

The Consumer

To consume in-app guides the web extension is used. The extension present guides recorded by the author based on the application state so that the right instruction is displayed at the right time. The consumer can choose among available guides from a panel tab at the side and guide callouts are presented just in time as the user click around in the application. The consumer will find the ‘LIGHT MY WAY’ tab at the right of the application. This tab will be used to access all guide content and control preference.

Guides (aka group)

Each instruction belongs to a guide. A guide allows the consumer to enable a series of instructions in one go and is often equal to a use case or a training chapter.

Toggle on/off

The consumer can toggle guides to be displayed on/off. The toggle state is persisted over time (browser local storage) and allows the user to keep his favorite guides on so that the right instruction automatically appears as the application state is right.

Available guides

To make it easy for users to find help relevant to the current view the guides, with at least one instruction valid for the current view (app state) is displayed on top.

The user also get aware there is help to get in case the panel tab is minimized. If there is a guide available but it is disabled a shining indication appears on the panel tab.

Finding guides

Users can find instruction groups by a filtering functionality. The filter field opens by clicking the search icon. Entered text will filter down the guide matching the text in labels, description and instruction content. The filter function is cancelled by pressing the arrow and any entered text is cleared by pressing the x.


A detailed description for each guide can be added by the author and is made available to the consumer by expanding an accordion. A good description makes the guide searchable and makes it easy for the consumer to understand what it is about and when it is made available.


To easily differentiate between guides the author can assign different colors.

Guide colors are also displayed next to the guide name in the panel.


The visual callout elements that guides the user are called instructions.

Just-in-time delivery

To ensure that the right instruction appear at the right time, all callouts reacts and validates as the application state change.

Instructions valid for the current view and application state automatically appears on screen. With the condition that its guide is toggled active.

In case of multiple instructions appearing on top of each other. The hovered instruction would go on top.

Dismissing instructions

In case an instruction callout is in the way it can be dismissed by clicking it. Instruction dismissal is temporary and will appear next session as long as application state and group toggle state still say it should .

Some instructions can contain links. When a link is clicked the content will open in a new browser tab.


To increase usability the consumer can control some of the behavior through preferences found at the top right corner of the panel.


The tags are accessed under the preference icon at the top right corner. By enabling at least one tag all guides will be filtered down to only include those matching the selected tags. Tag filtering is a good way to hide the guides not of value to you and allow you to focus on the ones that are.


Tags can be used to filter instructions by role, experience level or any other label like detail level. Tags are set and maintained by the author, consumer selects the ones to filer by.

UI Preferences

Under the preferences option the user can control callout layout and styling.

Flip LMW Panel

This is used to switch side of the panel from the right to the left and vice versa.

The Author

With the Author extension guides are recorded easily by point and click, without getting into the technical details, using pre-set configurations for the different platform target elements and app states.

For the supported platforms, such as 3DEXPERIENCE, a rich and build-in default configuration is included with the product. The built-in platform configurations allows authors to:

  • Tie instructions to UI elements

  • Control when it should be shown.

The author extension has two tabs:

  • ‘AUTHOR’

    • Used to record new or modify existing guides.


    • Used to test the guides exactly how the consumer would see it.

If for some reason the built-in configurations (targets, conditions etc) is not enough, it is possible to extend it. Administrators can extend configurations (see the admin chapter). TECHNIA is also interested in extending the built-in configurations and standard platform product support.

Guides (aka groups)

Listing Guides

In the authors tab ‘GROUPS VIEW’ all guides will be be listed. Using the ‘TAGS VIEW’ guides can be navigated by tag and could be useful making it easy to find guides.

Deleting Guides

To delete a guide click the trash bin icon next to it

Modifying Guides

Clicking the edit icon next to a group will open the create form an allows you to modify group definition.

Creating Guides

Click ‘Create Group’ button to open the create form, give the guide a label and click save.


The title is presented to the author and consumer in the list of guides and is used to identify the guide chapter. It is also presented as a header inside the instruction callouts.


The description is presented to the consumer in the list of guides by expanding an accordion.


A good description is rich, contains many key words to make the guide searchable. It should also make it easy for the consumer to understand what the guide is about and when it is made available.


A guide can be tagged with one or more tags allowing the consumer to filter out the guides that matters to him. Simply type the desired tags in the tags field to tie the guide with it.

Tags can be maintained in the preference menu later on.


The guide color controls the color of the callouts and also puts a colored circle in the list for easy identification.

Blue is the default color.

You can also change the color of a specific instructions by expanding Options and changing the color of that instruction.

Group is the default value, meaning same color as the Guide.


The visual callout elements that guides the user are called instructions.

Creating instructions

To create an instruction go to the authoring tab and click the plus icon on the row of the guide you like to record. Added instructions will be added to the end of the list of instructions of that guide.

Modifying instructions

Find the instruction in the group tree list and click the edit icon next to it.

Ordering instructions

To change the order of instructions simply move the mouse over an instruction until you see the movement cursor. You can now use drag and drop to move the instruction up or down in the list.


As conditions are used to define when instructions are shown, the order of the instructions have no effect on the display sequence. Order is currently only used by authors to structure their work.

Selecting target elements

When adding an instruction the user is automatically in target selection mode.


During selection you can find related information in the info footer at the bottom of the page.

There are two ways of pointing out target elements.

Supported (green) targets

The preferred method of selecting target elements is by using one of the built-in and supported green targets. The supported targets identification is carefully considered and maintained as part of the product. Supported targets are quality assured, cleaned off version specifics and html detail so that a only minimum required to identify the element is recorded with the instruction data. The rest is maintained in the configuration as part of the product.

Fall back - XPATH based (yellow) targets

To provide flexibility there is also a fall back target recording method using xpath. You could see xpath as more of a direct map through the html elements to your target element. Using the flexibility of xpath you can record anything you want but you will also tie your instruction closer to the html and it will be more sensitive to change. More html version specifics will end up in the recorded data. We support this recording method but not the specific targets. Built in with the product is a set of ignored classes attributes etc to generate a good xpath starting point that is likely to work well as a start.

Colored rectangle

During selection a colored rectangle will appear to indicate:

  • The element that is targeted for selection

  • The status of the selection

Rectangle Color



Supported selection


xpath based selection


Unable to record


Displayed in combination with the red rectangle to indicate that the element is not unique.


Building guides using supported (green) selects makes your recordings more stable over time (minimize risk of re-recording when upgrading etc).

Highlight all supported (green) targets

All supported (green) select targets can be highlighted by pressing ctrl + alt

Submitting your selection

To complete selection hold control key and left click mouse or press space (ctrl + space).

Re-selecting target elements (Advanced)

To re-select the target element click the ‘SELECT TARGET’ button below the ‘Target element’ label found at the top of the instruction form.


Be aware selected conditions will be reset to match the application status of the new selection.

Callout positioning (anchors)

A callout positioning choice could be done during selection by clicking one of the anchor points (grey small circles) at the edge of the rectangle. For some targets, such has really small ones, the anchor points on target selection are disabled by the administrator.

Preview instructions

While creating or modifying instruction an instant preview is made available. The preview instantly reacts and displays changes in text just as the consumer would see it.

Instruction Type

You can change type of the instruction to ‘Info’ to render instructions more compact. Then the user will have to actively click the small info symbol to render the full callout.

Instruction text

Instructions has two fields. The title renders in bold and the description renders as paragraph and is suitable for longer texts.
The description field features a rich text editor which allows you to apply basic formatting with links, lists.


To add a link to an instruction simply enter the link text and then click on the link icon in the editor to add the URL.


Links could be very useful to direct users into the right chapter in documentation or information hosted elsewhere.

Controlling when instructions are shown

There are various ways to control when an instruction should show.


To control when an instruction should be shown, it can be tied with application state. This is achieved by selecting among a set of built in conditions valid for the current view.


E.g. an instruction could be tied to a specific object type or lifecycle state so it only appears, when it should, as these conditions are met.


Using conditions is good for performance as it filters out instructions for evaluation based on matching condition state for the current view.

Parent conditions

There are cases when the target element selection is ambiguous and generates multiple hits in the UI. In such cases you can use parent conditions to specify in which context the callout should be rendered.

You can select multiple parent conditions and in that case the callout will be rendered in the first available condition container.


E.g. when selecting an element that is available in multiple widgets within the same view it can be tied to be within one specifically.

Target element conditions

Some target elements could have carry state itself. Such elements can be configured with a condition that controls instruction visibility based on that state.


E.g. tabs can be configured with a target element condition so that the author can control instruction visibility depending on if it is active or not.

Input conditions

Another type of target element conditions is input conditions. Input conditions are available if the selected element is an input element (e.g. text field, textarea, checkbox, radio button, select (dropdown).


For more details on available options and behavior a long and detailed list of supported targets, conditions and other built-in platform configurations can be shared on request.

Opener conditions

If you have placed an instruction in a popup window you get the option to add the opener windows conditions to this instruction.

This is useful since the popup itself usually lack information about the state of the app and with the opener conditions you can tie the instruction to the state of the app when opening the popup.

Conditional Elements / Sequencing (Advanced)

If the built in standard conditions is not sufficient to control when an instruction should appear one or more elements could be used as conditions. Target element conditions also apply to conditional elements and using it in combination is a powerful way to control flow. Multiple conditional elements could be used in combination so that all conditions have to be fulfilled for the callout instruction to display.


E.g. if you have a series of callouts in a form that you want to display in sequence. Conditional elements can be used to control that the second callout should appear first after the previous field has been filled out properly.


Conditional elements is the preferred (over direct dependencies) way to build sequences.

Instruction Dependency / Sequencing (Advanced)

Display one instruction after another with help of making instructions directly dependent on each other. Select the instruction you want to make a dependency to in the dropdowns. In the case multiple instructions are used as display after / before only one have to be shown to fulfill the requirement. The instruction sequence can be followed multiple times by specifying when the display conditions should reset.


E.g. you can specify that an instruction only should be shown after another instruction has been shown. Example picture shows the sequence options for an instruction that is in the middle (in between two other instructions) in a sequence dependency chain.


Always use a carefully considered reset to allow multiple sequence iterations within the same session.


Consider direct dependency sequences as a fall back method and your last resort as complex dependencies to other callouts makes it hard to maintain over time. Instead try to achieve the desired behaviour using conditions and conditional elements with target conditions directly on the instruction itself.

Move to other guide (Advanced)

You can select the guide an instruction should belong to. By creating instructions from the guide it will be pre-filled.

Callout positioning (Advanced)

A callout is possible to position in a number of ways. To select the position, use the drop down. Default position is bottom.

Note that the anchor point could be assigned during target selection (see ‘Selecting Target Elements’).


To ensure proper data some validation is applied to the instruction create / edit form.

  • At least 1 condition is needed otherwise a warning is displayed

  • Title is mandatory

  • If used recorded XPATH have to be valid (details found when expanding target element)


To ensure unauthorized authoring a password is required the first time the author tab is used. The password will be stored in local storage so you don't have to enter it the next time authoring using the same machine.

Evaluation status

In order to help you understand if and why an instruction is (or isn’t) visible the status of the evaluation is shown to the left of the instruction.

  • An open eye icon indicates that the instruction is visible

    • If the icon is yellow the instruction is using XPATH-based targets

  • A closed eye icon indicates that the instruction is not visible

    • If the icon is yellow the instruction is using XPATH-based targets


If you hover the icon you will get more details on which conditions (and other evaluated states and elements) are present and evaluated in the current view.

The Administrator

To enable authors to record guides easily by point and click, without getting into the technical details, pre-set configurations are used to control how things are recorded for different platform target elements and app states.

As example these configurations control

  • How target elements are identified

  • The app state conditions used to control when instructions should show

For the supported platforms, such as 3DEXPERIENCE, rich and build-in default configuration are included with the product.

To allow authors to record new, customized or for other reason modify or override configurations to better fit customer specific needs it is possible to extend these configurations.

TECHNIA is interested in extending the built-in configurations and standard platform product support.

Admin UI


To better support authors specific recording needs in your application there is an Admin UI where you can easily create, edit and remove configuration items (e.g. conditions) directly in your browser without the need of any special software (IDE).


To access the Admin UI go to

The Admin UI is protected by login authentication using your username and password (that you get with your subscription).

Edit & Delete

To edit or remove a configuration item simply choose the target platform in the tree list and the configuration item you want to edit or remove.


To add a new configuration item either click on the add button in the tree list under the chosen configuration type or click “+ Add” in the top bar.

Instruction Targets

Targets are the html elements that an instruction is tied with. The instruction callout is positioned relative to the target and is displayed if the target html element is present only. There are two different methods to identify a target element.

Target elements (green targets)


This is the preferred method for authors to select target elements and will only store key value identifiers of the target with the instruction data. The selector used to identify the target is maintained as configuration and makes it possible to improve over time.

This is the method of the built in and with product supported green targets.

Targets defined this way will be presented in highlight and green to authors (as the supported targets).

Administrators could extend the list of target elements to indicate good target selections to their users.

To create a new target either clone an existing one or add a new one by clicking on the “+ Add” in the top bar and choose “Create New Target”.

Target elements are defined using CSS-based formulas.


Formula: form[name='frmFormView'] tr{0} td.field
Read value: id

In this case the stored data on the instruction is the id of the parent tr but the selected element will be the child td.field.

This can be done with multiple read values and multiple formulas enabling platform independent targets with different css selectors but same matching unique identifier (read values)



a unique id to identify this type of target


how to present the condition to the author

CSS Formulas

css selector-based formulas used to match the target element and read value

Read Values

the unique data used to

  • match the selected target value with the data

  • present it in display to the author

Inner Text

if checked the inner text of the target will be stored as a read value and matched with the selected target


Focus configuration will affect green or highlighted target elements

XPATH based (yellow) targets

To provide flexibility there is also a fall back target recording method using xpath. Using the flexibility of xpath authors can record anything they want but will also tie instruction closer to the html and it will be more sensitive to change. When selecting a yellow fall back element an xpath is automatically generated. Multiple configuration types are used to control how xpaths are generated.

Built in with the product is a set of ignored classes attributes etc to generate a good xpath starting point.

Starting Elements

Starting elements are used to truncate all XPATH before the matching starting element. This to make the stored XPATH nice, clean and less sensitive to context, changes or version.

Starting elements are defined using XPATH.



A description used to understand what the starting element does


an xpath expression, if matched somewhere in the parent structure during target element selection, the recorded data address will start from this point and all xpath beyond this point will be omitted


Using the Focus feature, it is mandatory for target element's selection to start within the focus area. I.e. starting elements have to start on or within the focused area or it will be excluded from evaluation.


Making a too short XPATH would require to control more of when to show the instruction using app state / ui conditions.


For the staring element to match, the data have to be part of the generated xpath (can not be in the ignored list)

Ignore Lists

Ignore lists are used to define the class or attribute names to exclude from the recorded XPATH. This to make the stored XPATH nice, clean and less sensitive to context, session, changes over time or version.



the class to be ignored in the recorded data


the attribute to be ignored in the recorded data


The ignore list configurations are global and will affect all view and target element XPATH selection. Only class and attributes that should be avoided in all cases should go here.

Ignore By Parent

Ignore by parent is used as ignore lists but will make the configuration valid within the scope of a specific parent only. This would be useful if you like to exclude common attributes like name in a specific scope only but retain it in other places. The name and details fields are used to identify parent elements. Attribute, Classes and Inner text to control ignore behavior in scope of that parent.



used by admins to understand what is covered

Parent Name

the element type used to identify the parent element

Details Name

the attribute name used to identify the parent element

Details Value

the value of the matched attribute used to identify the parent element


the list of attributes to ignore in scope of the matched parent element


the list of classes to be ignored in the scope of the matched parent element

Inner Text

if checked the inner text of targets within the scope of the matched parent will be included


To avoid the risk of ignore configuration affecting recordings for other parts of the application in a negative way, using by parent scope is good practice.

Ignore Anchors

Ignoring anchors points during target selection could be useful for cases when it does not work well. Anchor points could be problematic for very small targets or if the target by script automation disappear as you hover an anchor point and then it makes sense to inactivate it. In these cases you could instead define a default and the author could always control this in the next step using the advanced settings for the instruction.



a list of classes to identify elements that should be ignored


the default position to be used in case of match

Controlling when instructions are shown

To make instructions show at the right time, the recordings have to react properly to application state. For this to happen there are some different configurations related. While ‘Conditions’ and ‘Target conditions’ are presented for the author to choose, the ‘Focus’ condition is silently used in the background.


The list of conditions are used by authors to control when an instruction is shown/evaluated. The list of conditions are controlled in the Admin UI and is only presented to the author if available for inclusion with the current target selection.

The conditions are configured using CSS selectors.



a unique id


how to present the condition to the author


the element to use as base for the condition evaluation


  • exist to see if one target element is present

  • option to allow author to choose (often used for target conditions)


the default condition name

Only for target

evaluate the condition for selected target element only (see target conditions)


the unique data used to

  • store the selected condition value with the data

  • present it in display to the author

Conditions Name

a unique id for the condition option

Conditions Display

Displayed to author in drop down in case of option type

Conditions Selection Selector

css selector to match the element

Conditions From

The evaluation technology


Require the condition element to also be visible otherwise excluded

Default Enabled

Defaults the condition to be toggled for inclusion as the author records


Hides the condition under expandable more section


Using conditions is good for performance as it filters out instructions for evaluation based on matching condition state for the current view.

Target conditions

Conditions specific to the selected target element is used to control when a callout should display when the target itself carries state.

The target element conditions are configured using CSS selectors the same way as Conditions but you simply check only for target checkbox.

Focus conditions

Focus conditions are used to limit evaluation within the focused element if present. Very useful to make all other callouts not in the focus group automatically hide as long as the focus condition is fulfilled (e.g. hide background callouts when search is open). Focus is a silent feature and the author is not aware this actually happens behind the scenes.

Focus conditions are configured using CSS selectors.



a unique identifier


used by admins to understand why it was added

Layer Index

defines priority in case of multiple focus elements is found


css query selector currently only supported


css selector to identify the focus element


if the focus element have to be visible to be valid


Using focus is good for performance as it limits the evaluation to happen within the focus element.


Focus configuration will affect green or highlighted target elements during selection


It is mandatory for target element's selection to start within the focus area. I.e. starting elements have to start on or within the focused area or it will be excluded from evaluation.

Overriding the built-in default configuration

Light My Way comes with a rich set of built-in and supported configurations for target platforms. If for some reason like to override behaviour of a built-in configuration it is possible to clone it into your target configuration.

Cloned definitions will be styled italic in the admin UI.


By cloning a configuration you will take over that definition and will not benefit of potential updates to the built-in definition.

Data management

Administrators can view and edit all guide and instruction data from within the Admin UI. Accessing data could be useful in collaboration with Authors, troubleshooting etc. The Data view is accessed from the Data tab found in the top bar.

Data entries using xpath is indicated with yellow.


The author keys prompted to authors are controlled in the Admin UI. To modify, add or remove author keys click the data service target edit icon.

Server Mappings

Server mappings are used to match each service target with a number of environment URL’s. This to allow web extensions to automatically connect with the correct service target. To add a mapping select “Server Mappings” under the chosen target or click “+ Add” in the top bar.



Any unique part of the target environment URL that should be mapped with the data service target.

Be as specific as possible to avoid accidental forwards from domains that shouldn't be covered.


Server URL

The URL to this target.



Be as specific as possible with the key definition to avoid accidental forwards from domains that shouldn't be covered. E.g. you might have a user help at ‘wiki/3dspace’ that you don't like to include so ‘3dspace’ alone is not a good key.

Import & export

To allow managing configuration and data in SCM tools or to bulk change efficiently using IDE features, it is still possible to edit the configurations JSON data as in previous releases. To do this

  1. export the database content to the json format

  2. change the files manually

  3. delete the database

  4. import the json data into a new database

Configuration export

Configurations could be exported from targets. Export could be useful to back up configurations, bulk modifications or storing it in SCM.

Data import / export

Data can be exported and imported from and to targets. This could be useful when moving data from one target to another or if there is a need to bulk modify data in an editor etc. The data export and import commands are available under the ‘Data’ tab found in the top bar.


Importing data including numerical id will override existing and importing without would add new recordings. Numerical id is included with the export format by default. Importing data condition reference have to match. Changes to the data could potentially cause problems with the condition mapping.


Light My Way uses open source libraries. All used software licenses are listed in the attached markdown file.

View file

Update log


2022.2 in numbers


Story Points


(blue star)




(blue star)




(blue star)




(blue star)

Distribution & Cloud



(blue star)




(blue star)

Author tot



(blue star)

Admin tot



(blue star) Platforms

  • 3DEXPERIENCE (blue star)

    • 3DSpace

      • More supported (green) target elements and refinement of existing

      • Full change process demo recorded step-by-step, one instruction at a time, using supported and built in configurations only.

      • Default enabled and improvement to conditions / app states

    • 3DDashboard

      • More supported (green) target elements

    • TVC

      • iframe evaluation fix

  • Apriso

    • Basic configurations in place making it possible to demo and test drive

(blue star) Consumer

  • Tag filtering improved and UI refined (blue star)

  • Performance improvements

  • Reset sequences by toggling guides

  • Documentation links from extension

  • Bug fixes

(blue star) Author

  • Evaluation status (blue star)

    • Makes it easy to understand why a callout is not visible

    • Quickly identify instructions for the current view

  • Input conditions enhancements (blue star)

    • Full remake removing the risk of version dependent data

    • More inputs supported - Radio, buttons, multi select inputs etc.

    • Input conditions available for conditional element

  • Opener conditions for popup windows (blue star)

    • Useful for small popups that do not carry much state itself, now the opener window state could be included

  • Create / edit instruction form restructured to be more user friendly and efficient (blue star)

  • Colors

    • More color options available for guides and callouts.

    • Possibility to set background color on individual callouts.

  • Description field is now optional.

(blue star) Admin

  • Deprecate (blue star)

    • Possibility to phase out conditions and target elements (existing dependent instructions will still work but you cant record new, this way you can improve and create new versions)

  • UI

    • Restructure in a more logical way (e.g ignores found under targets instead of conditions)

    • Sorting of configs alphanumeric

    • The action toolbar when scrolling to the bottom

  • Server url mapping removed / automated

  • Export / import stability improvements

  • 3DEXPERIENCE support

    • Official support for specific targets (tabs, categories, toolbars and many more target types are maintained as part of the product, not as customer owned configurations)

    • Overall extended support scope (more targets, app states etc built into the product, customer and R&D driven)

    • Quality ensured with increased test automation coverage for multiple versions

  • APRISO support

    • First baseline configurations built into the product (making it possible to demo & sell)

  • Admin UI

    • Data view

      • View the recorded guide data (instructions) in the admin ui

      • Indicate / warn xpath (unsupported fallback) based recordings

    • Import

  • Author

    • Build guides by supported targets that you can rely work well over time (less dependency to application html and maintained as part of the product)

    • Extended possibilities building sequences

    • Inside of

      • Possible to define in what app state (condition) content an instruction belongs (useful in case there are multiple similar targets, e.g. pointing out the content of a specific widget that is present in multiple widgets)

  • Consumer

    • Sorted guides alphabetically

    • Search results with description match highlighting

    • Guide description displayed in accordion (to better support rich descriptions and make it easier to understand how to use it)

    • Guide colors presented directly in list (makes it easier to spot the guide matching a callout)

    • Guide toggle state is a global preference (not by URL, could be a problem when login is in separate domain)

    • Quick disable of the full extension (possible in the top menu where you enter the service URL)

  • Stability

    • Bug fixes

    • Focus remake to avoid data dependency (better support additions over time)

  • Cloud Server

    • Multi tenant cloud hosting data service included with the subscription

  • 3DEXPERIENCE support

    • Built-in configurations as supported product (owned and maintained by TECHNIA, improvements overtime, not copied and branched off to customer data)

    • Expanded built-in configurations to cover more areas (based on customer engagements)

    • Clone, override and extend

  • Administration

    • Import / export data and configurations (Admin UI)

    • Focus priority order when multiple focus applies

    • Edit conditions in json view

  • Client

    • Easy toggle extension on / off (quick disable)

    • Big performance improvements



  • Clear data directly after Target switch

  • Fixed: Multi Author broken for one browser - multi window

  • Fixed: Missing innerText in xpaths

  • Fixed: Callouts/Infos get stripped off if container width is too small

  • Fixed: URL in Rich Text does not work if it does not start with http(s)


  • Author key input password

  • Evaluate UI Conditions only while selecting the target
    Fixed: License Key not found after Target Renaming


  • None


  • Authorize author on mutations

  • Restrict Access to LMW Server

  • Track the current Consumer/Author count

  • Improve the log detail if DB Connection cannot be established

  • Fixed: Frequent Server Disconnection

Admin UI

  • Add Login

  • Change innerText to default true

  • Illustrate icons for conditions and ignorelist

  • Add loader component

  • Improve visibility of notifications

  • Make Author keys editable from the AdminUI

  • Move license.json into DB

  • Create new Target

  • Create new Target based on existing Target (Clone)

  • Delete Targets

  • Rename Targets

  • Manage DNS config mappings

  • Import and export of configurations

  • Enable Caching

  • Add success and failure notifications in admin ui

  • Add expand/collapse all commands

  • Add info texts/description for fields

  • Auto-completion for fields

  • Fixed: Undefined booleans in Admin UI should default false


Both Extensions

  • Toggle LMW Panel state should be stored in local storage


  • Allow locked Conditions to be disabled

  • Add Drag and Drop support for Instructions

  • UI Improvements

  • Fixed: Focus Conditions do not work if multiple matches were found


  • No Changes


  • The full Configuration is now stored inside a Database

  • The Export Script now supports exporting from different versions

  • Added caching mechanism for Requests

  • Configurations can now be created and managed using the new Admin UI

  • Removed Dynamic and Custom Conditions

  • Fixed: A Target/Platform Combination can be created multiple times



  • UI conditions can be hidden from the UI

  • UI conditions can be enabled by default

  • Added conditions for 3DDashboard


  • Color HTML elements during selection

  • Allow multiple authors to create/edit/delete groups and instructions

  • Added logging functionality

  • The callout anchor position will be automatically adjusted to best fit

  • If the recordings are changed by other authors, there will be a reload hint displayed

  • If a new tag is created, it will be activated automatically

  • Improved UX

  • Provide a Rich Text Editor for instruction and group descriptions

  • Add a search to easily find groups, instructions or tags


  • Added logging functionality

  • The Info Callout is now animated for better identification


  • Added logging functionality

  • Switched to a GraphQL backend

  • Recordings are now stored inside a Database

  • Added a DNS Server to allow an easy distribution of the web extension



  • Update nodejs to 14.15 LTS

  • Support for 3DX 2014X

  • Updated configuration schema files

  • Add configuration option to ignore anchors for specific elements


  • Improved callout layout control - positioning of the callout

  • More callout colors are available

  • Add Context Menu to enable/disable Light My Way UI

  • Callouts will be rendered behind the Light My Way UI

  • Hide Callouts while in select mode


  • Reposition on scroll

  • Callout Display preferences

    • Make non-hovered Callouts transparent

    • Hide Group Label in Callouts

    • Truncate non-hovered Callout description

  • Emphasize available instructions

  • Server and web extension version compatibility check



  • Built in configs for 3DSPACE & TVC allowing authors to guide users through complex processes (e.g. change process) fully recorded by point and click (without technical configuration)

    • More conditions

    • More targets

    • More target conditions

    • Focus

  • JSON Schema to support system admins


  • Record future proof guides with the stabilized data and efficient configuration format

  • Author validation and password control


  • Large performance improvements allowing state driven guides with large data

  • Consumer Available now indication directly on panel tab


First official release - instead of listing the full product the release notes defined what known issues was not yet covered.

Known limitations / planned


  • Performance - does not scale well with large number of instructions. (Planned for 2020.5)

  • Scrolling some places causes misplaced instruction callouts (Planned for 2020.5)

  • Search/filter limited to group (Planned for 2020.5)

  • Tag limited to group (Planned for 2020.5)


  • Needs help from admin to configure built in conditions to support some/many (50%?) use cases (Planned for 2020.5)

  • Data format will change making content data obsolete (Planned for 2020.5)

  • No import export tool (Planned for 2021.1-2021.2)

  • Change is published immediately without test before publish (Planned for 2021.1-2021.2)


  • Verbose data format (Planned for 2020.5)

  • Verbose configuration format (Planned for 2020.5)

  • Not yet all configurability to fully support author (Planned for 2020.5)

  • No remote admin UI (Planned for 2021.1-2021.2)


  • On prem, not cloud yet (Planned for 2021.1-2021.2)

  • No authentication (Planned for 2021.1-2021.2)