You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Native plugins can add their own admin pages, widgets, and fields, but they cannot augment the two core editorial surfaces where editors already work:
the content-list table, and
the saved-entry settings sidebar.
That leaves review status, SEO/readiness scores, workflow state, and similar cross-cutting tools with poor choices: duplicate the content list in a plugin page, ask editors to leave the editor, or use brittle DOM queries and mutation observers.
This is adjacent to, but intentionally different from:
Columns apply to the main content list, not Trash.
Panels render for saved entries only and stay inside the existing narrow/off-canvas settings sidebar.
Disabled plugins, insufficient roles, collection mismatches, or no contributions preserve the classic markup exactly.
Duplicate ids are deterministic and logged.
Each header/cell/panel is isolated by an error boundary so one plugin cannot break the list or editor.
Trust and performance boundary
These slots are available only to format: "native" plugins that already ship an adminEntry into the admin SPA. Sandboxed plugins remain Block Kit-only and cannot reach the registry.
List cells receive the row that is already loaded. The host performs no request per row; documentation explicitly requires shared/batched query keys for any extra data to avoid N+1 traffic.
Prototype
A documented implementation is available for design/API review:
The branch contains no site-specific code, branding, or private plugin implementation.
I will not open a feature PR until maintainers approve the direction. If the API is too broad, the branch can be split into list columns first and editor panels second.
Open questions
Should the first PR include both surfaces, or start with content-list columns only?
Should plugins receive only the saved row/entry, or also a host-provided batched loader primitive?
Is minRole useful at contribution level, or should visibility be entirely controlled inside the component?
Should core expose a constrained Block Kit version for sandboxed plugins later, as a separate proposal?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
Native plugins can add their own admin pages, widgets, and fields, but they cannot augment the two core editorial surfaces where editors already work:
That leaves review status, SEO/readiness scores, workflow state, and similar cross-cutting tools with poor choices: duplicate the content list in a plugin page, ask editors to leave the editor, or use brittle DOM queries and mutation observers.
This is adjacent to, but intentionally different from:
The proposal here is a trusted native-plugin host API for read-only list cells and saved-entry sidebar panels. It does not replace either proposal.
Proposed API
A native plugin's existing admin entry may export two optional typed contribution arrays:
Shared contribution metadata:
idorderHost behavior:
<th>,<td>, panel section markup, placement, and accessibility.Trust and performance boundary
These slots are available only to
format: "native"plugins that already ship anadminEntryinto the admin SPA. Sandboxed plugins remain Block Kit-only and cannot reach the registry.List cells receive the row that is already loaded. The host performs no request per row; documentation explicitly requires shared/batched query keys for any extra data to avoid N+1 traffic.
Prototype
A documented implementation is available for design/API review:
git diff --checkpassed.I will not open a feature PR until maintainers approve the direction. If the API is too broad, the branch can be split into list columns first and editor panels second.
Open questions
minRoleuseful at contribution level, or should visibility be entirely controlled inside the component?Beta Was this translation helpful? Give feedback.
All reactions