Repository navigation
1.23.0
Added
- CTA blocks now route by their ContentiQ "Global" / "This page" label (
fields.source; an absent key defaults toglobal, matching ContentiQ's own default). Per imported page:- ≥1 Global CTA → no inline CTA block; the page's
footerCallToAction → showGlobalCallToActionlightswitch is switched on (partial write — the Layout dropdown and other sibling fields are preserved), and — only when globals are unlocked for the run — the shared CTA entry referenced byglobalContent → globalChooseCallToActionis created/updated from the block content. With globals locked, the lightswitch is still set and a warning explains the shared entry was left alone. - Only "This page" CTAs → per-page entry + inline block exactly as before, and the lightswitch is switched off (the page supplies its own CTA).
- No CTA blocks → the footer field is left untouched. Global wins if both labels appear on one page.
- ≥1 Global CTA → no inline CTA block; the page's
- The four consumer handles are configurable (
footerCtaField,footerCtaShowGlobalField,globalContentSet,globalChooseCtaField), defaulting to the starter'sfooterCallToAction/showGlobalCallToAction/globalContent/globalChooseCallToAction. Sites whose layouts lack the footer field degrade gracefully (warning when a Global CTA can't be represented; silent skip when there's nothing to disable). - Routing decisions are shown on both report screens via a new report-only
routingNotesvalue. Entry sync notes (the sidebar's "ContentiQ Notes") remain strictly payload-derived, and routing is not treated as a warning, so run status stays meaningful.
No schema changes; no migration required.