Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-10-page-block-contribution-lifecycle.md

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.json definition.
  • 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.0 and page-block.news@1.0.0 as 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.