2021.1 Light My Way - Product Documentation

Version 2021.1

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.

 

 

Supported Platforms

  • 3DEXPERIENCE (3DSPACE & 3DDASHBAORD)

    • 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

Server

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

Client

Supported browsers

  • Chrome (85 or later)

  • Microsoft Edge (85 or later)

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.

Server

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) https://nodejs.org/en/download/

  2. Expand lmw-server-VERSION.zip 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/socket.io

As a windows service

Light My Way (and other nodejs apps) can be set up as a service using https://www.npmjs.com/package/qckwinsvc

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

Client

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

 

 

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

User

User

System

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

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.

Groups

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.

Tags

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

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.

Groups

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.

Tags

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.

Color

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

 

Instructions

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.

Conditions

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.

 

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.

 

 

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.

Links

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

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.

Administration guide

Conditions

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.

https://technia.jira.com/wiki/spaces/TSD/pages/2520973349 (accessible for customers)

 

Selecting target elements

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

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

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.

https://technia.jira.com/wiki/spaces/TSD/pages/2520973349 (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.

https://technia.jira.com/wiki/spaces/TSD/pages/2520973349 (accessible for customers)

Focus

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:

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

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

https://technia.jira.com/wiki/spaces/TSD/pages/2520973349 (accessible for customers)

 

Password

Password are controlled in the following file

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

https://technia.jira.com/wiki/spaces/TSD/pages/2520973349 (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

server/ignorelist.schema.json

server/config.schema.json

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.

 

Licenses

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

Release notes

2021.1

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