[VS-NfD] Decide the fate of page_links rows pointing at purged pages
#235
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#235
Loading…
Reference in New Issue
Block a user
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?
Plan reference: n/a —
10-ist-aufnahme.md-> I-24ADR: n/a
Effort: S (0,5 AT)
Depends on: —
Milestone note: cheapest issue in the set; deliberately a decision, not
necessarily a change.
Context
After a page is purged, other pages' link rows keep its slug. A slug
carries the page title, and for a classified page that can itself be
protected information.
Current state
PageLink.fromPageisonDelete: Cascade,toPageisonDelete: SetNull(apps/api/prisma/schema.prisma:441–461). Purging apage nulls
to_page_idbut leavestarget_slugin place — by design,because that is what makes a "phantom" link resolve again if a page with
that slug reappears.
Acceptance criteria
rows whose
target_slugmatches the purged page (losing phantom-linkre-resolution), or keeping them as an accepted residue.
deletion chapter of #229 so an operator can answer for it.
survives, and the phantom-link behaviour change is noted in the
release notes.
Out of scope
Redesigning the wikilink index.
Decided in PR #256 (commit
9a43a2f, CI run 512 green, fast-forward merged on Stefan's standing go-ahead for the M24 merges).Decision: page_links rows pointing at a purged page are KEPT as an accepted residue.
Reasoning (full text in operations.md, purge section): the row is only the index of a wikilink whose text - the slug, which carries the page title - remains visible in the linking page's own content either way; content, content cache and the linking page's search index all keep that text, governed by the linking page's permissions and written by an author who could read the target at the time. Deleting the index row would remove nothing the system still shows while breaking the deliberate phantom-link re-resolution (a page recreated under the same slug resolves those links again).
Recorded per acceptance criteria: residual-risk entry with reasoning on #231; named for the deletion chapter in the comment on #229.