Skip to content

Entry deep links - #2515

Merged
tf merged 17 commits into
codevise:masterfrom
tf:entry-deep-links
Oct 20, 2026
Merged

tf merged 17 commits into
codevise:masterfrom
tf:entry-deep-links

Conversation

@tf

@tf tf commented Oct 20, 2026

Copy link
Copy Markdown
Member

No description provided.

tf added 2 commits October 20, 2026 14:28
The story combobox and link tooltips should show the titles editors
use to manage their entries, not the titles of published revisions.
Titles are no longer rendered for published entries since they are
only needed by editor tooltips, so internal entry titles do not leak
into published entries.
Linked entries from the seed and from inserted fragments are only
needed to render links and no longer carry signatures. Entries that
new links point to are added to linked entries. The story combobox
only offers entries of the same site the current user can access and
explains when an existing link points to an entry the user cannot
access.
@tf tf added this to the v17.3 milestone Oct 20, 2026
tf added 15 commits October 20, 2026 17:24
Prepares computing chapter slugs on the server. The char map is
stored as JSON to let Ruby use the same mapping. It matches slugify
1.5.1 with the German locale since host apps resolve the previous
dependency to that version. Fixtures generated with the slugify
package ensure output does not change.
Shares the char map and test fixtures with the frontend
implementation to ensure slugs match.
Titles in scripts like Chinese or Arabic used to produce empty slugs,
which turned chapter anchors into plain # links.
Determines which storylines, chapters, sections and content elements
to render in one place. Lets the seed of entries and the fragment
library index share a partial for rendering content collections.
Published entries no longer need to ship the slugify char map. The
editor still computes slugs to update them as chapter titles change.
Slugs take chapters with only hidden sections into account like the
editor does. Lets links to chapters of other entries use the same
slugs by only loading chapters of linked entries.
Matches the frontend, which also determines the main storyline by its
configuration.
Signatures cover the linked chapter or section. Otherwise links could
reveal titles of chapters that nobody with access to the entry chose
to link to. Signatures of links to entries as a whole keep their
payload to stay valid.
Entry link references move to models and only determine ids of
linked entries and chapters. Linked entries load chapters of the
published revisions and drafts of all linked entries with a single
query. Published entries only receive slugs of linked chapters. Slugs
of chapters that are not published yet are taken from the draft to
make links work once the linked entry is published. Previews and the
editor also receive chapter titles and slugs of the draft to let
preview links point to chapters. Links to sections only need the
perma id of the section.
Renders the structure of the draft of the entry including hidden
chapters and sections along with signatures that let links to them
resolve. Chapters also carry titles and slugs to let new links render
in the editor. Entries linked from the entry are not rendered since
the editor might not have access to them. Type names tell which
entries have an outline.
Lets editors see the current destination when editing links to
chapters or sections.
The link dialog offers expanding the outline of the selected story
once linkable entries have been loaded. Links store the signature
rendered for the selected chapter or section. Linked chapters are
added to linked entries to render new links right away. Links to
chapters and sections of entries the editor cannot access are kept as
they are.
Shows the title of the linked chapter or hints that the link points
to a section. Preview links point to the chapter or section in the
draft.
The tooltip for links to entries that are not published yet or
password protected names the linked chapter or section. Its preview
link points to the chapter or section in the draft.
@tf
tf force-pushed the entry-deep-links branch from c4eaedf to f31e791 Compare October 20, 2026 15:34
@tf
tf merged commit bba9b35 into codevise:master Oct 20, 2026
18 checks passed
@tf
tf deleted the entry-deep-links branch October 20, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant