docs(plugins): route plugin skill to platform data-table provisioning (EnsureDataTable, View-rootable)

This commit is contained in:
Alex Dunmow 2026-06-22 07:57:24 +08:00
parent 182d64403e
commit d7c7607058

View File

@ -21,6 +21,9 @@ Core-vs-plugin: platform-wide behavior → core; domain-specific or owns its own
| Working on | Read first (under `cms/docs/`) | | Working on | Read first (under `cms/docs/`) |
|---|---| |---|---|
| Scaffold, registration, blocks, `CoreServices` | PLUGIN_DEVELOPMENT.md | | Scaffold, registration, blocks, `CoreServices` | PLUGIN_DEVELOPMENT.md |
| Depositing media into the library (seed `EnsureMedia` / runtime `CoreServices.Media`) | PLUGIN_DEVELOPMENT.md §Depositing Media |
| Plugin migrations / DB tables — each plugin owns a Postgres schema (named after it), never `public` | PLUGIN_DEVELOPMENT.md §Migrations |
| **Platform data tables** — provision via `Provisioner.EnsureDataTable` (`RegisterWithProvisioner`); the row-as-JSONB store the admin Data Platform / buckets / **data Views** read, idempotent + **View-rootable**. NOT the plugin's own Postgres schema above | PLUGIN_DEVELOPMENT.md §Provisioning → Data tables |
| Public HTTP routes (webhooks, widgets) | PLUGIN_HTTP_HANDLERS.md | | Public HTTP routes (webhooks, widgets) | PLUGIN_HTTP_HANDLERS.md |
| Load/Unload, runtime state, goroutines | PLUGIN_LIFECYCLE_HOOKS.md | | Load/Unload, runtime state, goroutines | PLUGIN_LIFECYCLE_HOOKS.md |
| Themes, templates, master pages, CSS | TEMPLATE_PLUGINS.md | | Themes, templates, master pages, CSS | TEMPLATE_PLUGINS.md |