Files
git.stella-ops.org/docs/features/checked/web/frontend-plugin-system.md
2026-02-12 10:27:23 +02:00

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.ts
    • src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-lifecycle.model.ts
    • src/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