Skip to main content

What is XTP?

XTP is a managed service provided by Dylibso, which enables applications to easily become more extensible by securely running user's code. This empowers users to customize an application to their needs far beyond what can be done with premade customization options.

In order to do this, XTP provides Hosts (who maintain & deliver an application) the ability to execute Guest plug-ins (code from authorized users), which are managed entirely by XTP. Guest plug-ins adhere to a schema defined by the Host, such that all Guest plug-in code loaded by a Host is successfully executed within the Host application.

XTP Integration Overview Diagram

XTP provides Hosts with schema configuration, plug-in validation, storage, delivery, and Guest user management. For Guests, XTP provides convenient tools to create and test plug-ins, and ship them to XTP which delivers them to Host applications.

XTP provides a dashboard application and command line interface for Hosts and Guests, as well as an HTTP API to integrate into Host applications.

Important Concepts

Host App

The Host App is the representation of an extensible application in XTP. Think of it as a workspace where metadata can be defined about the various points in your application that can be extended with plug-ins, as well as the users that are authorized to publish those plug-ins.

Extension Point

Extension Points represent the specific areas of a host application that can execute plug-ins created and installed by users of the application e.g., Guests.

One or more Extension Points can be defined as part of a Host App, each with its own unique schema that governs the compatibility of any plug-ins installed there.

For example, if you have an eCommerce platform, you might define an Extension Point for the section of the application flow where discount logic is applied during the checkout process, enabling your Guests to push plug-ins that alter the rules and actions associated with discounts.

XTP User Accounts

Represents a user of the XTP Platform. Can hold one or more "memberships" to XTP Host Apps, with Admin or Guest privileges.

Guest

Guest access to a Host App enables an XTP User Account to push plug-ins to Extension Points.

Typically, Guests are the users of a Host Application who want to extend that application via plug-ins. A Guest is identified by an assigned identifier which correlates to an identifier within the Host Application (e.g. a user ID or similar).

Admin

Admin access to a Host App enables an XTP User Account to manage the Host App, with the ability to manage Extension Points and manage Guest access to the Host App.

Admin accounts are able to create and edit Extension Points, invite or revoke guests, create API Tokens, etc.