1.7 KiB
1.7 KiB
Chart PageBlock Plugin Family Plan
Goal: Move all four admin Chart BusinessBlocks into a shared PageBlock plugin family that owns dataset validation, query context, shared runtime files, and ProjectSpec release selection.
Task 1: Shared Template And File Contributions
- Resolve both block-relative and classpath-absolute template declarations through one resource contract.
- Extend PageBlock plugins with executable shared-file contributions.
- Require every shared file template to be published in the contributing Manifest.
- Deduplicate identical shared outputs and reject conflicting declarations deterministically.
Task 2: Chart Plugin Family
- Add a common Chart PageBlock base for dataset validation and query render context.
- Publish line, bar, pie, and metric chart plugins as trusted
1.0.0releases. - Publish seven shared Chart templates plus the
chartRuntime.jstemplate in each Chart Manifest. - Emit one owned
src/utils/chartRuntime.jsfile for any number of admin charts.
Task 3: Remove Legacy Chart Branches
- Remove direct Chart dataset validation from
BusinessBlockRegistryService. - Remove Chart query and Velocity context assembly from
BusinessBlockGenerationService. - Remove hardcoded Chart runtime emission from the generation service.
- Preserve existing chart SQL, API, component, display, span, and runtime output.
Task 4: Version Selection And Verification
- Auto-select all used Chart plugin releases in stable code order.
- Cover family Manifests, validator execution, query context, shared files, and absolute templates.
- Run page design, project generation, Registry, template rendering, and full generator regressions.