- new generic vitec:rename-page --page=<uid|slug> --title="...": renames
a page, recalculates its own slug from the parent slug plus the new
title and cascades every descendant slug - the gap a backend rename
leaves open. Used to fix the "Engagament" page (#465): title, own
slug and five child slugs in one run, verified live (zero occurrences
left in the JSON)
- SubsolutionWorkbookImporter::norm() tolerates the engagament spelling:
the 39 delivered workbook metas carry the old page title, re-imports
keep matching (verified)
- typo3/cms-redirects installed - it had NEVER been installed, so every
"redirect follows" of the 10-23 renames was wishful thinking and all
old URLs answered 404. Backend slug changes now auto-create redirects
- EXT:redirects' auto-creation does not fire for CLI DataHandler runs,
so vitec:rename-page, vitec:normalize-slugs and
vitec:align-market-pages now queue their 301 sys_redirect rows
themselves in the same DataHandler run
- new one-off vitec:backfill-redirects: the 28 paths vacated on
2026-10-23/26, reconstructed from the command protocols, guarded
against existing redirects and live slugs; applied and verified.
Note the headless semantics: a redirect arrives as the JSON envelope
{"redirectUrl": ..., "statusCode": 301} with HTTP 200 - the front end
must act on redirectUrl (briefing updated)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- evo_megamenu_json: new entry layout "pagetree" - the panel columns
mirror the live subtree of the page the entry links to (one child per
column, grandchildren as items, getMenu() restrictions apply), so the
menu can never age against the page structure again. The stale
9-market panel after the markets realign was the trigger. Curated
columns are ignored on this layout; teasers and the featured slot
stay editorial. Same columns shape in the payload - front ends need
no change beyond knowing the new layout string
- new vitec:normalize-slugs --root=<slug> [--style=plain|and]:
recursively realigns every slug below a root to
<parent-slug>/<slugified-title>, cascading, with a sibling-collision
warning; EXT:redirects covers the old URLs. TYPO3's slug generator
keeps slashes from page titles (third hit: rtcc-/-rtic), this sweeps
a whole tree. Run on /solutions: four fixes, including the
long-standing passenger page and solution page 467. The misspelled
"engagament" slug stays deliberately - it follows the page title and
is fixed in the coordinated typo task
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>