Versions Compared

Key

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

On-prem hybrid setup

There are cases when connecting cloud hosted guide data and evergreen extensions with your production environment is restricted, not possible or desiredundesired.

Examples:

  • Air-gapped production (e.g. top secure defence install without internet)

  • Company Policy

  • Quality assurance process requirements (DEV → QA → UAT → PROD)

  • Compliance (FDA or regulatory require extensive testing

    with all software versions

    and control)

  • Security (Evergreen external extension hosting prevents validation

    of

    and control for each version

For such cases it is possible to host the web extension and data locally on-premises
  • )

The solution is on-prem hosting of both web extension (browser plugin client) and data. The cloud solution is still used to record the guides . Guide recording is done on a lower security environment e.g. dev(on dev or similar env without restrictions). The guide data and web extension is then are exported for self hosting. Guides are exported in JSON data format and the web extension in using self hosting (.crx).

This setup enable full control and with fixed offline package still avoiding complex full stack setup , and system ownership (hosting and related effort).

Note

Matching web extension & data versions

For the on-prem self hosting to work, the data package and web extension versions must match!

To ensure matching versions we recommend extension self hosting and json guide data hosting in pair using the same service. The guide data extraction and web extension self hosting package creation should be done at the same time.

Support

All support is on the account at https://lmw.technia.cloud (problems must be reproducible there and fixes are delivered there, new export and self-hosted version need to be deployed on-prem by customer)

Table of Contents
stylenone

1. Extracting guide data (JSON)

To get started you first need to create your guides on CLOUD (lmw.technia.cloud). This requires the latest Light My Way extension that can either be installed from Chrome/Edge store https://technia.jira.com/wiki/spaces/TSD/pages/4031971409/Light+My+Way+-+Product+Documentation#Client-Installation or self-hosted https://technia.jira.com/wiki/pages/resumedraft.action?draftId=4436164619&draftShareId=dd3ddce0-b670-4835-b3cf-bcfe3eee3426 2. Self hosting client (web-extension).

When the guides are done you login to the Admin UI and export them by clicking on the export icon.

...

The exported json-file can then be provided on-premises as you choose, the only thing . The Light My Way needs is that the file is available client (user browser) need access to the guide data file through https on the network.

To connect the extension to the file add the url to the registry https://technia.jira.com/wiki/spaces/TSD/pages/4031971409/Light+My+Way+-+Product+Documentation#Registry-entries-using-file (e.g. hosted-guides-path: https://companyurl/path-to-file.json).

Light My Way will then load all needed data from this file and the extension can then be used without connecting to CLOUD.image-20240315-133826.pngImage Removedguide data from the export file and the extension will not connect to CLOUD.

image-20240315-133826.pngImage Added

2. Self-hosting client (web extension)

To self-host the extension you need to host two files (3 with the JSON data file)

  1. the update file (e.g. update.xml)

  2. the extension package (e.g. lmw-2024.2.crx).

The files needs to be hosted over HTTPS (Reference: https://developer.chrome.com/docs/extensions/how-to/distribute/host-on-linux#update). We recommend hosting these together with the guide data JSON (there is a version dependency).

Extension package

The extension package (.crx) can be downloaded from products.technia.com.

Update file

The update file (.xml) needs to be edited according to how its hosted.

In below example these values needs to be updated:
<updatecheck codebase='path-to-extension.crx' version='version (must match extension version)' />

Example:

Code Block
languagexml
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='abgmfmhjplgnlmjoglbgddpdnfdcjenj'>
    <updatecheck codebase='https://<YOUR_HOSTING_URL>/lmw-2024.2.crx' version='2024.2' />
  </app>
</gupdate>

Please refer to this page on more details about the elements of the update file.

Learn more

Web Extension self-hosting is supported technology for Chrome and MS Edge.
Please refer to browser documentation for more information.

3. Distribution

Self hosted extensions can be distributed just like the Chrome Store hosted extension using the registry https://technia.jira.com/wiki/spaces/TSD/pages/4031971409/Light+My+Way+-+Product+Documentation#Registry-entries-using-file.

The registry file also needs to be edited with the correct values and path to the update file.

In below example these values would need to be updated:

  • update_url

  • runtime_allowed_hosts

  • hosted-guides-path

Example:

Code Block
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionSettings\abgmfmhjplgnlmjoglbgddpdnfdcjenj]
"installation_mode"="normal_installed"
"update_url"="https://<YOUR_HOSTING_URL>/update.xml"
"runtime_allowed_hosts"="[\"https://lmw.technia.cloud\",\"://example.com\",\"://*.3ds.com\"]"
"runtime_blocked_hosts"="[\"*://*\"]"

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\abgmfmhjplgnlmjoglbgddpdnfdcjenj\policy]
"hosted-guides-path"="https://<YOUR_HOSTING_URL>/data-export.json"
"lmw-server-url-editable"=dword:00000001
"lmw-author-mode"=dword:00000000
"lmw-registry-script-executed"=dword:00000000