Version 2020.4

Legal Notes

Copyright 2020 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 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 websockets 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

  • Value Components

    • Latest

Configurations making the Consumer and Author roles work well are built in for the supported platforms and no project specific administration should be needed to get started recording the standard use cases.

As the configuration format is a subject of change specific platform support requires close collaboration with R&D as of this release. Product development has mainly been driven with 3DSPACE 2019x & 2020x Part and Change Process use cases.

System Requirements

Server

The server will be hosted as a cloud service in early 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 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 WebSocket connection is opened on the same configured port ws://localhost:8080/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 managed using 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>/blacklist.json

<server path>/config/<domain>/<subdomain>/data.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

Installation Option 1 - Installer (.msi)

Execute the installer to enter registry entries for automatic side loading of the chrome store hosted extension.

The .msi file could be used by IT to distribute the client to specific user groups.

Installation Option 2 - Chrome 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“

  3. Enter server URL

    1. E.g. https://products19xdemo.technia.net

  4. Suffix the space (domain)

    1. E.g. ‘/technia/demo’

  5. Connected successfully should appear

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 groups, with at least one instruction valid for the current application state, is displayed on top.

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.

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 ‘ADMIN’ 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.

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.

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 (see ‘Status’ in the screenshot).

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

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.

 

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.

Administration guide

Conditions

The list of easy to use (checkbox enabled) conditions can be controlled in the following file: server/config/<domain>/<subdomain>/config.json.

The conditions are configured using XPATH and CSS selectors.

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

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>/blacklist.json.

The generated XPATH is controlled using exclusion patterns.

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

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 HTML attributes with state.

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

 

Licenses

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

Release notes

2020.4

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)

TECHNIA CONFIDENTIAL