1.8 KiB
1.8 KiB
PageBlock Contribution Lifecycle Plan
Goal: Turn PageBlock Manifest template, Validator, and Quality Check declarations into executable contributions while migrating Notice and News without changing generated output.
Task 1: Common Resource Plugin Contract
- Add a resource-backed PageBlock base that loads the existing
block.jsondefinition. - Build Manifest template ownership from the definition instead of duplicating template paths in Java.
- Publish a stable Validator code and rendered-source Quality Check for each resource plugin.
Task 2: Executable Contribution Lifecycle
- Verify PageBlock identity, capability, Validator, Quality Check, and template declarations during Registry loading.
- Reject missing template resources and declarations that do not exactly match
block.json. - Route instance validation and generation-context contribution through one coordinator.
- Execute the declared rendered-source check after Velocity rendering.
Task 3: Notice And News Migration
- Publish
page-block.notice@1.0.0andpage-block.news@1.0.0as trusted built-in plugins. - Move Notice primary key, status, active value, and publish-time context into its plugin.
- Move News primary key, status, active value, publish-time, summary, and image context into its plugin.
- Preserve the existing definitions, templates, output paths, API routes, and generated source behavior.
Task 4: ProjectSpec And Verification
- Auto-select exact Notice and News plugin releases when projected layouts use those blocks.
- Keep migrated PageBlock selection enforcement generic in
PluginResolver. - Cover Manifest mismatch, missing executable identity, empty rendered output, generation context, and legacy rendering compatibility.