Versions Compared


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

Version 20202021.51

Table of Contents

Legal Notes

Copyright 2021 by TECHNIA AB

All rights reserved.

PROPRIETARY RIGHTS NOTICE: 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 a software installed client side in browser as a web extension with the purpose of boosting user PRODUCTIVITY and ADOPTION to a low COST, this by providing VISUAL GUIDANCE and USER TRAINING directly IN-APP. To display the right instruction at the right time each instruction is bound to application state using html identifiers such as XPATH & CSS selectors. New instructions are also recorded through the web extension. Data is stored and retrieved in external service using http(s) and web sockets called from the extension background script.

  • 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 also supported)

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


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

An extra effort has been put into making it work well with 3DEXPERIENCE platform. Configurations to identify UI elements of 3DSPACE, 3DDASHBOARD and Value Components are built in.

Supported Platforms


    • 2013x until latest

  • DELMIA Apriso

  • Value Components (TVC & Helium)

    • Latest

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 conditions and configs.

This release still require R&D collaboration (to ensure the product works well for you and so we fully understand common need). Product development has mainly been driven with 3DSPACE 2018x - 2021x Create Part and Change Process use cases so far. A long detailed list of supported targets, conditions and focus elements can be shared on request.

System Requirements


The server will be hosted as a cloud service sometime 2021. Meanwhile the server can be installed in private networks or external servers. The server is based on and nodejs system requirements applies.


Supported browsers

  • Chrome (85 or later)

  • Microsoft Edge (85 or later)


The 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.


As CLOUD service

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.

Server on premises

If you for some reason unable to use the CLOUD service there is also the option to install and host the server locally on premises.

  1. Install latest (LTS)

  2. Expand into desired directory

  3. Run start.cmd

Port configuration

Server is started by default using the port 8080 - http://localhost:8080  

The port can be configured the following ways:

  • by setting the Environment Variable PORT=1234

  • starting the server with an argument -p or --port e.g. node server/src/index.js --port 1234 

Note that a web socket connection is opened on the configured port ws://localhost:<port>/lmw/

As a windows service

Light My Way (and other nodejs apps) can be set up as a service using

Setting up a space

The server can hold multiple spaces (domains). Each space has its own data and configuration files. This way multiple platforms and environments can be hosted on the same server. To add a new space add data and configuration files to the space domain under the config folder.

<server path>/config/<domain>/<subdomain>/config.json

<server path>/config/<domain>/<subdomain>/ignorelist.json

<server path>/config/<domain>/<subdomain>/data.json

<server path>/config/<domain>/<subdomain>/license.json


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

  • Consumer

    • Display instructions

  • Author

    • Display instructions

    • Create instructions

In this release concurrent authoring is disabled to prevent transactional issues.

Installation Option 1 - Installer (.msi)

For IT teams to be able to distribute the extension to large user groups and prevent excessive support an .msi file is provided.

The .msi installer adds registry entries for automatic side loading of the chrome store hosted extension.

Installation Option 2 - Chrome web store

The web extensions are hosted on chrome store and is actually what the .msi file side loads into the browser. One option is to manually install the extension directly from chrome store. The result will be the same.

  1. Open in Chrome or MS Edge

    1. Click open Author in chrome store

    2. Click open Consumer in chrome store

  2. Click “Add to Chrome”

Connecting to the server space

  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


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.







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 conditions to tie instructions to app state.

  • 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).

User guide

Finding the application

The Light My Way 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.

The Consumer

The consumer will find the ‘LIGHT MY WAY’ tab at the right of the application. This tab will be used to access all content and control preference.


All instructions belongs to a group. A group allows you to manage multiple instructions in one go and is often equal to a use case.

Toggle on/off

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

Available now!

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 blinking i 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 group labels matching the text. The filter function is cancelled by pressing the arrow and any entered text is cleared by pressing the x.


The tags are accessed under the preference icon at the top right corner. By enabling at least one tag all groups 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.

E.g. Tags can be used to filter instructions by role, experience level or language.


Instructions appear

The visual callout element that guides the user at the end we call instructions. 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 group 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.

The Author

The author will find the ‘LIGHT MY WAY’ tab at the right of the application so he can see how the consumer view would be.

On top of that the ‘AUTHOR’ tab is available for content management.


Listing Groups

In the authors tab all groups will be be listed.

Deleting Groups

To delete a group click the trash icon next to it

Modifying Groups

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

Creating Groups

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


A group 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 group with it.

Tags can be maintained in the preference menu later on.


The color of the callouts can be defined. Blue is the default color.

Image RemovedImage Added


Creating instructions

To create an instruction go to the authoring tab and click the ‘create callout’ button or press the plus icon next to a group directly

Modifying instructions

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

Controlling 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.

Selecting group

You can select the group an instruction should belong to. By pressing the group plus icon the group will be prefilled.

Enter instruction text

Instructions has two fields. The title renders in bold and the description renders as paragraph and is suitable for longer texts.


An instruction can be tied with application state so that it appears only when it should. This is achieved by selecting among a set of built in conditions. The administrator can provide more conditions to choose from if needed.

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

Note: If more conditions are needed to record your use case extending the list is possible by configuration. Contact you administrator. TECHNIA is also interested in building in standard conditions in products.

Image Added

Callout positioning

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

Image RemovedImage Added

Conditional elements

If the built in conditions is not sufficient to control when an instruction should appear one or more elements could be used as conditions.

E.g. To control that an instruction should only appear when logged in user text is not ‘Tom Waits’ you could log in as that user and click that element holding that text. Conditions can be inverted using the NOT option.

Selecting target elements

To select the target element click the ‘SELECT’ button below the ‘Target element’ label. A visual indication will appear (blue rectangle around decisions).

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

Note: If a target is not possible to record the proper configurations to support it is not in place. Contact you administrator. TECHNIA is also interested in building in more standard target support.

Target element conditions

Some target elements change state itself. Such elements can be configured with a condition that controls instruction visibility based on its 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.

Note: If more conditions are needed to record your use case extending the list is possible by configuration. Contact you administrator. TECHNIA is also interested in building in more target element conditions in product.

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.


To add a link to an instruction simply enter the text. Links will automatically be recognized and decorated for the consumer.


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 (can be overridden by author)

  • Title and instruction is mandatory

  • 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.

Administration guide


The list of conditions available to authors to record by can be controlled in the following file: server/config/<domain>/<subdomain>/config.json.

The conditions are configured using XPATH and CSS selectors. (accessible for customers)

Image RemovedImage Added

Selecting target elements

Target elements are identified using XPATH. How XPATH’s are constructed can be controlled in the following file:


The generated XPATH is controlled using exclusion patterns and can be scoped by parent element so that e.g. tables have its own ignore pattern. (accessible for customers)

Target element conditions

The target element conditions can be controlled in the following file: server/config/<domain>/<subdomain>/config.json.

The target element conditions are configured mapping CSS selectors with state.

/wiki/spaces/TSD/pages/22895333882520973349 (accessible for customers)


Focus conditions can be used to make all other callouts not in the focus group automatically hide as long as the focus condition is fulfilled. Focus is a silent feature and the author is not aware this actually happens behind the scenes. Focus is controlled in the following file:


Focus conditions are configured using css selectors and are added during recording (when adding new focus conditions recording have to be updated).

https:/wiki// (accessible for customers)


Password are controlled in the following file

server/config/<domain>/<subdomain>/license.json. (accessible for customers)

JSON Schema

JSON schema files are included to enable flawless and validated configurations but also to give autocompletion and documentation support directly in your configuration editor (IDE) .

The schema files are located in the server root



Using a good editor would support you with validation and schema description (documentation notes) directly inline while typing (see screenshot).

Note: The json schema provided with this release is not fully up to date. Ask R&D for the latest definitions.


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

View file

Release notes






  • 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 tabUpdate 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 WebExtension Version compatibility check