2021.5 Light My Way - Product Documentation

 

The format is a subject of change and requires close collaboration with R&D as of this release.

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.


Preface

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)

Platforms

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 and treated as a supported part of the product.

 

 

 

 

Supported Platforms

  • 3DEXPERIENCE

    • 3DSPACE

    • 3DDASHBAORD

  • Value Components

    • TVC

    • Helium

  • DELMIA

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

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

System Requirements

Client

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.

Server

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 https://nodejs.org and nodejs system requirements applies.

Installation

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.

Client

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

Web Extension

View guides

Create guides

Consumer

Author

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.

Example
1 "runtime_allowed_hosts"="[\"https://lmw.technia.cloud\",\"://example.com\",\"://3dx*.com\"]"

If limiting to specific sites, the data service host https://lmw.technia.cloud 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 files
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionSettings\abgmfmhjplgnlmjoglbgddpdnfdcjenj] "installation_mode"="normal_installed" "update_url"="https://clients2.google.com/service/update2/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Chrome\ExtensionSettings\abgmfmhjplgnlmjoglbgddpdnfdcjenj] "installation_mode"="normal_installed" "update_url"="https://clients2.google.com/service/update2/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings\kepdcciemnldenbbfkmkipadfpmbganm] "installation_mode"="normal_installed" "update_url"="https://edge.microsoft.com/extensionwebstorebase/v1/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Edge\ExtensionSettings\kepdcciemnldenbbfkmkipadfpmbganm] "installation_mode"="normal_installed" "update_url"="https://edge.microsoft.com/extensionwebstorebase/v1/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]"

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionSettings\jbcjpglpndnldlfnkhjfdilailcphkfl] "installation_mode"="normal_install" "update_url"="https://clients2.google.com/service/update2/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Chrome\ExtensionSettings\jbcjpglpndnldlfnkhjfdilailcphkfl] "installation_mode"="normal_installed" "update_url"="https://clients2.google.com/service/update2/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings\goedipmmklkdmlcijopgdbfpepgpcfbp] "installation_mode"="normal_installed" "update_url"="https://edge.microsoft.com/extensionwebstorebase/v1/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Edge\ExtensionSettings\goedipmmklkdmlcijopgdbfpepgpcfbp] "installation_mode"="normal_installed" "update_url"="https://edge.microsoft.com/extensionwebstorebase/v1/crx" "runtime_allowed_hosts"="[\"*://*\"]" "runtime_blocked_hosts"="[\"*://*\"]"

 

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"

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

    1. Click open Author in chrome store

    2. Click open Consumer in chrome store

  2. Click “Add to Chrome”

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

 

Microsoft Edge Add-ons

  1. Open In MS Edge

    1. Click open Author in Microsoft Edge Add-ons

    2. Click open Consumer in Microsoft Edge Add-ons

  2. Click “Get”

  3. “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

 

 

Server

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 https://nodejs.org and nodejs system requirements applies.

Roles

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.

Consumer

Author

Administrator

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)

Knows HTML/XPATH/CSS

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

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.

Reposition

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.

 

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)

All instructions belongs to a guide. A guide allows you to manage multiple 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 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 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.

 

Description

A detailed description for each guide can be added by the author and is made available as a tooltip hovering the info icon to the right

 

Color

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

 

Instructions

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

 

Preferences

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

 

Tags

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.

E.g. Tags can be used to filter instructions by role, experience level or language. Tags are set and maintained by the author.

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

The Author

To record guides the Author extension is used. With the extension authors record guides easily by point and click, without getting into the technical details, using pre-set configurations for the different platforms and UI elements.

For the supported platforms, such as 3DEXPERIENCE, rich and build-in default configuration are 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.

  • ‘LIGHT MY WAY’

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

If for some reason the built-in configurations is not enough (because of customization or other specific need) it is possible to extend it. To do so contact your administrator (see the admin chapter).

Guides (aka groups)

Listing Guides

In the authors tab all guides will be be listed.

Deleting Guides

To delete a guide click the trash 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.

Tags

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.

Color

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

 

 

Instructions

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 next to a guide directly.

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.

Re-selecting target elements (Advanced)

To re-select the target element click the ‘SELECT’ button below the ‘Target element’ label found under the ‘Advanced’ section.

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

Coloured rectangle

During selection a coloured rectangle will appear to indicate:

  • The element that is targeted for selection

  • The status of the selection

Rectangle Color

Meaning

Rectangle Color

Meaning

Red

Unable to record

Grey

Displayed in combination with the red rectangle to indicate what element is instead (wrongly) evaluated as selection

Blue

Selection works in the current view but future behavior is unknown

Green

Supported selection

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

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 the anchor points are disabled by the administrator.

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.

 

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.

Links

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.

Conditions

To control when an instruction should be shown, an instruction can be tied with application state. This is achieved by selecting among a set of built in conditions valid for the current view. 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, 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.

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 standard conditions in products.

 

Target element conditions

Some target elements could have different states. 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.

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 the product.

 

Conditional elements (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.

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.

 

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

 

 

Validation

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)

 

Password

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.

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 platforms and UI elements.

As example these configurations control

  • How target element XPATH’s, element address, are built up to exclude version specifics and unnecessary attributes to make it less sensitive to change

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

Configuration extension is done in two ways

  1. JSON Format

    1. Export / Import in Admin UI

  2. Admin UI

    1. Modify directly in app

JSON Format

Background

Since the release of Light My Way 2021.3 the former JSON based configuration is now stored in the same database as the instructions.

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.

Adding or removing condition configurations that causes change to the sequence order, could cause a change in generated id and at the end cause problems in the instruction vs condition mapping.

To import configurations you need to connect with R&D.

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 condition reference have to match. Changes to the data could potentially cause problems with the condition mapping.

Importing data with id will override existing and importing without would add new recordings

Admin UI

General

To edit the configurations there us 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 <server path>/admin/
e.g. https://lmw.technia.cloud/admin

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

Should you have any questions or suggestions on how to improve contact TECHNIA support.

 

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.

Add

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. To identify a target elements XPATH is used. How XPATH’s are built up is controlled by configurations in the Admin UI. Multiple configuration types are related to target configuration.

The generated XPATH is controlled using starting elements and exclusion patterns and can be scoped by parent element so that e.g. tables have its own ignore pattern.

 

Target elements

Target elements are used to indicate supported target elements in the current view. This to rely the recording is cleaned off version dependent and unnecessary attributes etc to work well over time. The indication of a good supported target is a green rectangle and if ctrl+alt is used a highlight is used to indicate all target elements in the current view.

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

To create a new target ether 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 or XPATH selectors.

Fields

Name

a unique id to identify this type of target

Xpaths

xpath could be used to identify target elements

Css Selectors

css could be used to identify target elements

Focus configuration will affect green or highlighted target elements

You would have to also provide matching ignore and starting elements to make a good target and this feature is only to indicate what is good or not.

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.

Fields

Name

A description used to understand what the starting element does

Xpath

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.

Fields

Class

the class to be ignored in the recorded data

Attribute

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.

Fields

Description

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

Attributes

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

Classes

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.

Fields

Ignore

a list of classes to identify elements that should be ignored

Position

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.

Conditions

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.

Fields

Name

a unique id

Display

how to present the condition to the author

Container

the element to use as base for the condition evaluation

Type

  • exist to see if one target element is present

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

Default

the default condition name

Only for target

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

Read

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

Visible

Require the condition element to also be visible otherwise excluded

Default Enabled

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

Hidden

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.

Fields

Name

a unique identifier

Description

used by admins to understand why it was added

Layer Index

defines priority in case of multiple focus elements is found

From

css query selector currently only supported

Selector

css selector to identify the focus element

Visible

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.

By cloning a configuration you 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.

Password

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.

Fields

Key

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.

E.g. https://plm.acme.com/3dspace

Server URL

The URL to this target.

E.g. https://lmw.technia.cloud/acme/prod

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.

 

Licenses

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

Release notes

2021.5

  • 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

Extensions

  • 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

  • Author key input password

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

Consumer

  • None

Server

  • 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

Author

  • 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

Consumer

  • No Changes

Server

  • 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

Admin

  • UI conditions can be hidden from the UI

  • UI conditions can be enabled by default

  • Added conditions for 3DDashboard

Author

  • 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

Consumer

  • Added logging functionality

  • The Info Callout is now animated for better identification

Server

  • 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

Admin

  • Update nodejs to 14.15 LTS

  • Support for 3DX 2014X

  • Updated configuration schema files

  • Add configuration option to ignore anchors for specific elements

Author

  • 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

Consumer

  • 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

Admin

  • 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

Author

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

  • Author validation and password control

Consumer

  • 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

Consumer

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

Author

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

Admin

  • 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 administratio UI (Planned for 2021.1-2021.2)

Server

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

  • No authentication (Planned for 2021.1-2021.2)