Skip to content

Conversation

@ssddanbrown
Copy link
Member

@ssddanbrown ssddanbrown commented Nov 23, 2025

Adds a purpose-built slug tracking system to note old slugs on changes, so that they can be used for lookup.
We're already doing something similar via page revisions, but this will be a more robust implementation which works for all core content types.

For #5411

Todo

  • Create new table & migrate revision slug data.
  • Log shelf slug changes
  • Log book slug changes
  • Log chapter slug changes
  • Log page slug changes
  • Add shelf slug handling fallback
  • Add book slug handling fallback
  • Add chapter slug handling fallback
  • Update page slug handling fallback to use this
  • Ensure child items can be looked up after parent slug change
  • Add testing coverage

Also moved some model-level helpers, which used app container
resolution, to be injected services instead.
Switched page lookup to use this.
Added testing to cover.
Also added batch recording of child slug pairs on book slug changes.
@ssddanbrown ssddanbrown merged commit 0f40aeb into development Nov 24, 2025
20 checks passed
@ssddanbrown ssddanbrown deleted the slug_history branch November 24, 2025 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants