2.8 KiB
2.8 KiB
Frontend Plugin System (Discovery, Sandbox, Extension Slots)
Module
Web
Status
VERIFIED
Description
Frontend plugin architecture with plugin discovery service, dynamic module loader, sandboxed execution, a registry for managing plugin lifecycle, tenant-scoped plugin configuration, navigation integration for plugin-contributed menu items, and an extension slot component allowing plugins to inject UI at designated extension points.
Implementation Details
- Feature directory:
src/Web/StellaOps.Web/src/app/core/plugins/ - Components:
extension-slot(src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts)
- Services:
plugin-discovery(src/Web/StellaOps.Web/src/app/core/plugins/discovery/plugin-discovery.service.ts)extension-slot(src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.service.ts)plugin-loader(src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-loader.service.ts)plugin-manifest-loader(src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-manifest-loader.service.ts)navigation-plugin(src/Web/StellaOps.Web/src/app/core/plugins/navigation/navigation-plugin.service.ts)plugin-registry(src/Web/StellaOps.Web/src/app/core/plugins/registry/plugin-registry.service.ts)plugin-sandbox(src/Web/StellaOps.Web/src/app/core/plugins/sandbox/plugin-sandbox.service.ts)tenant-plugin-config(src/Web/StellaOps.Web/src/app/core/plugins/tenant/tenant-plugin-config.service.ts)
- Models:
src/Web/StellaOps.Web/src/app/core/plugins/models/extension-slot.model.tssrc/Web/StellaOps.Web/src/app/core/plugins/models/plugin-lifecycle.model.tssrc/Web/StellaOps.Web/src/app/core/plugins/models/plugin-manifest.model.ts
- Source: Feature matrix scan
E2E Test Plan
- Setup:
- Log in with a user that has appropriate permissions
- Navigate to the relevant page/section where this feature appears
- Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
- Core verification:
- Verify the component renders correctly with sample data
- Verify interactive elements respond to user input
- Verify data is fetched and displayed from the correct API endpoints
- Edge cases:
- Verify graceful handling when backend API is unavailable (error state)
- Verify responsive layout at different viewport sizes
- Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
Verification
- Run:
docs/qa/feature-checks/runs/web/frontend-plugin-system/run-001/ - Tier 0 (source): pass (
tier0-source-check.json) - Tier 1 (build/tests): pass (
tier1-build-check.json) - Tier 2 (behavior): pass (
tier2-e2e-check.json) - Verified on (UTC): 2026-02-11