Last updated

App Installation Process from the User's Perspective

This document outlines the typical steps a user takes when installing an app from the JTL Hub and describes the different types of apps available.

Installation Flow

The following diagram illustrates the user's journey when installing an app:

Grant
Deny
Start JTL Hub
Browse Catalog
Select App
View Details
Click Install
Request Permissions
Review Permissions
Installed & Active
Aborted
Use App

Step-by-Step Guide

  1. Browse and Open App in JTL Hub: The user navigates through the app catalog available within the JTL Hub environment. They identify and select an app that meets their needs.
  2. Initiate Installation: On the selected app's dedicated page, the user finds and clicks the "Install" button. This action triggers the installation sequence.
  3. Grant Permissions: The app, operating within an Iframe, presents a request for specific permissions, known as "scopes." These scopes define what data and functionalities the app needs access to. They are typically categorized as:
    • Required: Permissions essential for the app's core functionality. The user must grant these for the installation to succeed and the app to be activated.
    • Optional: Additional permissions that enable extra features or enhanced functionality. The user can choose whether or not to grant these.
  4. Activation: Upon granting at least the required permissions, the app installation is finalized, and the app becomes active within the user's JTL environment. If required permissions are denied, the installation process is halted.

App Types

Apps can be categorized based on how they function and integrate with the JTL application:

  • Description: These apps primarily offer a direct link or integration point accessible from the JTL Hub interface. Their presence and interaction points are often defined in the app's manifest file under the hub capability.
  • Interaction: Mainly serves as an entry point or quick access link within the Hub.

ERP-iFrame

  • Description: These apps operate almost entirely within an embedded Iframe inside the JTL application. They rely on the PluginBridge to communicate back and forth with the host application.
  • Interaction: User interacts with the app's UI within the Iframe. Data exchange happens via messages (e.g., sending generated content back to JTL).
  • Example: An app that fetches product details, uses an external service like OpenAI to generate a product description within its Iframe, and allows the user to send this description back to the JTL product field via a button click.

Pane

  • Description: These apps exist in a specific context of the erp, they have full access to the pluginBridge and can directly communicate with the WaWi over the gateway.
  • Interaction: User interacts with the app's UI within the Iframe, that is present as a sidebar on the right of the content.
  • Example: An app that reacts to events that happen in the context they are rendered in, for example the change of a customer's data.