Engine capabilities: feature-toggled Access-tab fields, first scheduled visibility of elements #303
Labels
No labels
bug
enhancement
needs-triage
ready-for-agent
ready-for-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/deckle#303
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Let a feature switch on an engine-owned capability that adds editor-managed fields to every element's Access tab, the first one being scheduled visibility (show from / until an instant), the way TYPO3 puts starttime and endtime beside the hidden flag. The capability is defined by the engine and only toggled by the feature, because its rules reach beyond a field type.
Context
From a design discussion on 2026-10-15 about TCA-style sidecar extension. Three mechanisms came out of it, each its own issue: this one, class-wide additive overlays with a theme hook registry, and reusable palettes. Sidecar versioning (#302) is the groundwork all three sit on.
The Access tab holds only the editor's own fields today, the Enabled switch and the
#c-<uid>anchor, andtab: accesson an element param is a load error (AGENTS.md "Form tabs").disabledanduidare reserved params the engine manages, with their theme consumersce/disabled.htmlandce/attrs.html. Issue #78 (News v2 scheduled publishing) covers the same need for pages and the rebuild it requires.Why a capability and not a sidecar field
Scheduled visibility needs rules no sidecar param can carry: a translation sync rule for Access-tab values (General is translated, Appearance synced, Access undefined),
harness checkunderstanding the window, the theme filtering at build time asce/disabled.htmldoes for Enabled, the preview showing scheduled elements, and a rebuild at the instant the window opens, which only deckle-hosted's pipeline can trigger. The litmus test settled in the discussion: a param that needs a rule beyond its field type belongs in the engine, switched on by a feature, not in a sidecar fragment.Sketch
capabilities: [schedule]besideconfig, optional, additive (deckle-hosted parsesfeature.yamlitself; keys are only ever added). Recorded in the receipt;harness removeswitches it off.scheduleon, every block element's Access tab shows two optional datetime fields; the engine stores them as reserved params (names to be decided, frozen once chosen, since content stores them).ce/disabled.htmlor a sibling): outside the window the element renders nothing, as a disabled one does.buildFutureinteractions to be settled.harness check: a window whose end precedes its start is an error; a capability the receipt records but the theme cannot honour is a warning.Open for triage
harness.yamlkey instead of a manifest key).create-feature,redo-theme,add-element.Blocked by
None - can start immediately