Skip to main content

Plugin Management

Plugins bring Web pages outside the platform into the sidebar as entries. The platform loads the plugin URL in an iframe and appends an api query parameter (the platform's own address) to the URL; the plugin page uses it to call platform APIs. The plugin page implements its own authentication and data access, and the platform controls the visibility of the entry by role and project.

Plugin Management

Prerequisites​

ItemContent
Menu entryManage → Plugin
Route/plugins
Page permission"View Plugins"
API permissions"View Plugins" (list and detail), "Manage Plugins" (create, edit, delete)
RolesAdministrators and project managers can create and edit; the delete button is visible only to administrators
DependencyThe plugin page is deployed as a standalone page reachable by URL

Plugin Configuration and Behavior​

Plugin Fields​

FieldTypeRequiredDefaultDescription
Plugin NameTextYesNoneUnique; used as the sidebar entry name
Plugin DescriptionTextNoEmptyUp to 500 characters
Plugin URLTextYesNoneFull URL, such as https://example.com/plugin
Menu GroupEnumYesDataThree groups: Data, Model, Manage
ActivateSwitchNoOnWhen off, the entry is removed from the sidebar and the page shows a disabled message
Open to All ProjectsSwitchNoOffWhen on, the plugin is visible in all projects
Project PermissionsMulti-selectConditionalEmptyRequired when the global option is off; visible only in the selected projects
Role PermissionsMulti-selectNoEmptyThe entry is shown only to the selected roles; when empty, no role can see the entry

Plugin Types​

Plugins are classified along two dimensions.

DimensionValuesScope
Menu GroupData, Model, ManageDetermines which sidebar group holds the entry
Project scopeGlobal, ProjectGlobal opens the plugin to all projects; Project shows it only in the selected projects

Plugin Behavior​

StepBehavior
Entry generationThe entry appears in the matching menu group when the plugin is "Activated", "the roles include the current user", and "Global or its projects fall within the user's visible projects" at the same time
OpeningClicking the sidebar entry opens /plugins/{id}, and the platform loads the plugin URL in an iframe
Parameter passingThe platform appends api=<platform address> to the plugin URL, and the plugin page reads it as the API base
DisablingAfter the plugin is disabled, the entry is removed from the sidebar and an open page shows "This plugin has been disabled"

Developing a Plugin​

A plugin is a separately deployed Web page; development and release happen outside the platform.

  1. Build a page reachable over HTTPS to serve as the plugin page.
  2. Read the api query parameter from the address bar and use it as the platform API base.
  3. Call the platform RESTful APIs on that base and send session credentials on cross-origin requests.
  4. Create a plugin in Plugin Management, fill in the page URL, menu group, roles, and project scope, then save and enable it.

Constraints and Limits​

ItemValueDescription
Unique nameA plugin with the same name cannot be created againChecked on save
Description length≤ 500 charactersSaving is rejected when too long
URL formatMust be a valid full URLSaving is rejected when validation fails
Empty role permissionsThe entry is shown to no roleSelect at least one role
Project scopeA non-global plugin needs at least one projectOtherwise no user can see the entry
DeletionSoft deleteAdministrator action
Menu updatesChanges take effect in the current session after a refresh, and for other users after they sign in againEntries are generated per session

Troubleshooting​

SymptomPossible causeResolutionOwner
Plugin list is emptyThere are no plugins, or the current account has no visible projectCreate a plugin, or set the plugin to Open to All ProjectsAdministrator, project manager
Save reports that the name already existsThe plugin name is duplicatedUse a different nameAdministrator, project manager
Save reports an invalid URL formatThe URL is incomplete or lacks a schemeEnter a full URL that includes the schemeAdministrator, project manager
No entry appears in the sidebar after creationThe plugin is not activated, role permissions are empty, or the project scope does not include the current projectCheck the activation state, role permissions, and project permissionsAdministrator, project manager
Opening shows "This plugin has been disabled"The plugin is disabledEnable the pluginAdministrator, project manager
Blank page or load failureThe plugin page is unreachable, or the page forbids iframe embeddingConfirm the plugin page is reachable and allows embeddingPlugin developer, administrator
PagePurpose
Module PermissionsConfigure "View Plugins" and "Manage Plugins"
ProjectMaintain the projects where the plugin is visible
UsersAssign roles and module permissions
System SettingsSystem parameters and menu-related settings