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.
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)
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)
- 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).
- The user selects "Mobile SMS Verification", and the system calls the slot provided by the plugin to render the SMS verification page.
- 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.