Skip to main content

Feature Extension

Requirements

ONES
v6.18.0

Architecture Overview

The ONES open platform achieves flexible extension of core business functions through a plugin/application mechanism. It abstracts key business processes into standardized extension points and combines decoupled contract interfaces to support dynamic loading and hot-plugging of functional modules. Third-party developers can flexibly extend system functionalities through non-intrusive development (without modifying the system source code), thereby enabling customized enhancements for various business scenarios.

Core Concepts

Extension Point

Defines the interface specifications and abstract logic of standardized business processes, consisting of two parts:

  • Backend Interface Functions (funcs): Define the execution interfaces for the business logic of the extension point.
  • Frontend Slots: Define the frontend page rendering containers for the extension point.
info

For brevity, “extension point” is referred to as “extension” in the following text.

Extension Point Provider

Implements the specific logic of an extension point. An extension point provider can be integrated via one of the following approaches:

  • Built-in Implementation: The default logic provided natively by ONES. For example, in Two-Factor Authentication, ONES natively implements the TOTP authenticator.
  • Plugin System: Providers extended through plugins. For instance, in Two-Factor Authentication, a Mobile SMS Authenticator can be implemented via a plugin.
  • Application System (Planned)
  • Third-Party API Registration (Planned)
info

For brevity, “extension point provider” is referred to as “extension implementation” in the following text.

Core Process

Implementing Dynamic Loading

When a user triggers a specific business process, the system matches and loads the corresponding extension implementation based on the current context.

Example: MFA Login Verification Process (Partial)

  1. The user enters the MFA verification page, and the system loads the available verification methods, such as the TOTP authenticator (provided by ONES) and the mobile SMS authenticator (provided via plugin).
  2. The user selects "Mobile SMS Verification", and the system calls the slot provided by the plugin to render the SMS verification page.
  3. After the user submits the verification code, the system calls the backend interface function (funcs) implemented by the plugin to complete the verification.

Extension Classification

  • Organization Level: Extensions that are effective within an organization/tenant.
  • Instance Level: Extensions that are effective across the entire ONES instance.

Extensions and Plugins

Extension and Plugin Lifecycle

Extension Plugin SDK