Skip to content

docs: dimension links render inline in Workbooks - #11452

Open
igorlukanin wants to merge 5 commits into
masterfrom
igor/cub-2253-render-values-as-links-docs
Open

docs: dimension links render inline in Workbooks#11452
igorlukanin wants to merge 5 commits into
masterfrom
igor/cub-2253-render-values-as-links-docs

Conversation

@igorlukanin

Copy link
Copy Markdown
Member

Makes two documented promises about dimension links specific and true, now that Workbooks renders them.

links. The page said links "can be rendered as HTML links by supporting tools" without saying what that meant. It now states what actually happens: every link is available from the table cell context menu, and the link marked primary also renders inline on the cell value.

primary. The flag was accepted and validated (at most one per dimension) but never documented. It's now described where icon and target are, and shown in the YAML example.

format: link. The table entry now says the value itself is used as the URL, and documents the object form — format: { type: link, label: … } — which was already accepted but undocumented. Also notes that values outside http, https and mailto render as plain text.

The table chart page's "Links" section described an older flow (picking a hidden URL column as the source) that doesn't match the product; it now describes declaring links in the data model and choosing which one renders.

@igorlukanin
igorlukanin requested a review from keydunov as a code owner August 2, 2026 16:26
@mintlify

mintlify Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
cubed3 🟢 Ready View Preview Aug 2, 2026, 4:26 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@claude

claude Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 58s —— View job


Docs review: accurate against the code — 1 broken anchor, 1 stale sibling page

Full review (2 inline comments)
  • Read the diff and both changed files
  • Verify claims against the code (primary, format: link object form, validation)
  • Check internal links and anchors resolve
  • Post review

Verified against the code

Claim Source Status
primary: true is accepted on a link CubeValidator.ts:321
At most one primary per dimension CubeValidator.ts:337-340 (Only one link can be marked as primary)
format: { type: link, label: … } object form CubeValidator.ts:116-123 (formatAlternatives) ✅ — note type is optional there, label is required; documenting the explicit type: link form is the right call
Object form applies to string dimensions CubeValidator.ts:358-364formatSchema is the otherwise branch, so time/number use their own schemas ✅ correctly placed under the "For string dimensions" table
Empty/null URL → plain text matches docs/data-modeling/dimensions.mdx:508 ("that link is omitted") ✅ consistent

The http/https/mailto restriction and the Style-tab picker behavior are Workbooks frontend behavior, not visible in this repo — taken on trust.

Findings

  1. Broken anchortable.mdx:93 links format: link to /docs/data-modeling/dimensions#format, but that page has no Format section; format lives at /reference/data-modeling/dimensions#format. Inline suggestion posted. Fix this →
  2. Stale sibling pagedocs/data-modeling/dimensions.mdx claims to defer to the reference for "the canonical parameter list", but its parameter table (lines 404-412) omits primary and its Behavior section (line 510) still describes links as cell-menu-only. Worth updating in the same PR.

Smaller notes

  • The ## Display tab## Style tab rename changes the section anchor (#display-tab-…#style-tab-…). No inbound links to the old anchor exist in the docs, and the rest of the page already said "Style tab" (lines 111, 128), so this is a net consistency fix — just be aware external/bookmarked links to the old anchor will 404 to the top of the page.
  • The two bullets in the new Links section point at different pages (concept for links, reference for format). Pointing both at the reference page would be more consistent, since primary is only described there.
  • Style matches docs-mintlify/CLAUDE.md: surgical edits to existing pages, no padding, <Frame>-less TODO screenshot placeholders in the established comment form. No naming-convention violations (no "Cube Cloud" in the new prose).

No security, performance, or test concerns — docs-only change.

• branch [`igor/cub-2253-render-values-as-links-docs`](https://github.com/cube-js/cube/tree/igor/cub-2253-render-values-as-links-docs)

Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
Comment thread docs-mintlify/reference/data-modeling/dimensions.mdx Outdated
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 20s —— View job


Docs review: both prior findings fixed; new content verified against the code — 0 blocking, 3 nits

Full review
  • Read the incremental diff (43fb856) and the full PR diff vs origin/master
  • Re-verify primary and the format object form against CubeValidator.ts
  • Check every anchor added or changed in this PR resolves
  • Check prior review threads (both already resolved by the author)

Prior findings — both addressed

Finding Status
Broken #format anchor on table.mdx ✅ now /reference/data-modeling/dimensions#format, which resolves (### \format`atreference/data-modeling/dimensions.mdx:262`)
Concept page stale (primary row, Behavior section) primary row at docs/data-modeling/dimensions.mdx:411, Inline rendering bullet at :516-521

Agreed on skipping the version note — inline rendering ships with Workbooks, not a Core runtime version, so a v1.7.x callout would indeed be wrong.

Verified against the code

Claim Source Status
primary: true accepted on a link CubeValidator.ts:321 (primary: Joi.boolean().strict() in LinkItemSchema)
At most one primary per dimension CubeValidator.ts:337-340Only one link can be marked as primary
format: { type: link, label: … } CubeValidator.ts:116-123 formatAlternatives ✅ (type is optional in the schema, label required — documenting the explicit form is still the right call)
Object form belongs under string dimensions formatSchema sits in the otherwise branch; time/number have their own schemas ✅ correctly placed

Anchor check — all resolve: #links and #cell-menu on table.mdx (lines 83, 158), #behavior and #links on the concept page (502, 382), #format on the reference page (262). No inbound links to the old #display-tab-… anchor exist anywhere in docs-mintlify/.

The http/https/mailto restriction and the Style-tab picker behavior are Workbooks frontend, not present in this repo — taken on trust.

Nits (non-blocking)

  1. Empty-URL wording differs slightly between pages. reference/…/dimensions.mdx:474 says "Rows whose link URL resolves to an empty value render as plain text"; the concept page's Null values bullet (docs/…/dimensions.mdx:509-510) says "that link is omitted from the menu". Both are true for different surfaces (inline vs menu), but the reference sentence reads as general. Tightening it to "…the primary link's URL resolves to an empty value, the cell renders as plain text" would remove the ambiguity.
  2. Concept-page example omits primary. The reference example now shows primary: true (:499), but the concept page's YAML example (:428-435) doesn't, so a reader who lands there sees the parameter in the table with no usage. One line would make the pair symmetric.
  3. Anchor churn, already flagged and accepted## Display tab## Style tab changes the section anchor. Internally clean; only external bookmarks would land at the top of the page.

Style matches docs-mintlify/CLAUDE.md: surgical edits to existing pages, no padding, screenshot placeholders in the established MDX-comment form, no "Cube Cloud" in the newly written prose (the pre-existing occurrences at :409 and :511 are outside this diff). Docs-only change — no security, performance, or test concerns.

• branch igor/cub-2253-render-values-as-links-docs

@igorlukanin

Copy link
Copy Markdown
Member Author

Took nits 1 and 2 in b9db161565: the empty-URL sentence now says "primary link URL" so it no longer reads as covering the menu too, and the concept-page example marks the search link primary: true.

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 13s —— View job


Docs review (b9db161): both nits fixed, verified against the code — 0 blocking, 1 nit (duplicate example)

Full review
  • Read the incremental diff (b9db161) and the full PR diff vs origin/master
  • Re-verify primary and the format object form against CubeValidator.ts
  • Check every anchor added or changed in this PR resolves
  • Check prior review threads (both already resolved by the author)
  • Post review

Prior nits — both addressed in b9db161

Nit Status
Empty-URL sentence read as general reference/…/dimensions.mdx:474 now says "Rows whose primary link URL resolves to an empty value render the cell as plain text" — no longer collides with the concept page's Null values bullet, which is about the menu
Concept-page example omitted primary docs/…/dimensions.mdx:436 marks the search link primary: true, with a comment explaining what it does. The two pages' examples are now symmetric

Verified against the code

Claim Source Status
primary: true accepted on a link CubeValidator.ts:321primary: Joi.boolean().strict()
At most one primary per dimension CubeValidator.ts:337-339Only one link can be marked as primary
format: { type: link, label: … } CubeValidator.ts:116-123 formatAlternatives (type optional, label required)
Object form belongs under string dimensions formatSchema is the otherwise branch; time/number have their own schemas ✅ correctly placed

Anchors — all resolve: #links (table.mdx:83), #cell-menu (table.mdx:158), #behavior (concept :504), #links (concept :382), #format (reference :262), [ref-workbooks] defined at reference :1362. No inbound links to the old #display-tab-… anchor anywhere in docs-mintlify/.

The http/https/mailto restriction and the Style-tab picker behavior are Workbooks frontend, not present in this repo — taken on trust, as before.

Nit (non-blocking) — one new

Duplicate example. The new format object-form code block (reference/…/dimensions.mdx:277-284) repeats the pre-existing crm_link dimension in the CodeGroup 45 lines below (:327-332, mirrored in the JS tab at :363) — same name, same SQL, same label, only the key order differs. The prose is the real addition here; the block is redundant against docs-mintlify/CLAUDE.md's "say it once". Inline suggestion posted keeping the sentence and pointing at the existing example. Fix this →

Anchor churn from ## Display tab## Style tab was already flagged and accepted — internally clean, only external bookmarks land at the top of the page.

Both earlier threads are resolved by the author; nothing to re-affirm. Style matches docs-mintlify/CLAUDE.md: surgical edits to existing pages, screenshot placeholders in the established MDX-comment form, no "Cube Cloud" in newly written prose. Docs-only change — no security, performance, or test concerns.

• branch igor/cub-2253-render-values-as-links-docs

Comment thread docs-mintlify/reference/data-modeling/dimensions.mdx Outdated
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 9s —— View job


Docs review (25aff0d): prior nit fixed, no blocking findings — 0 blocking, 1 trivial nit

Full review
  • Read the incremental diff (25aff0d) and the full PR diff vs origin/master
  • Verify the crm_link example still exists and the new prose points at it correctly
  • Re-verify primary and the format object form against CubeValidator.ts
  • Re-check every anchor and link reference added or changed in this PR
  • Check prior review threads (all three already resolved by the author)
  • Post review

Prior nit — addressed in 25aff0d

The duplicated standalone crm_link YAML block is gone; the prose at reference/data-modeling/dimensions.mdx:274-275 now carries the object form and points at the canonical example. That example is still there — YAML tab at :318-323, JS tab at :354-361 — and it sits inside the very next CodeGroup, so "in the example below" resolves for a reader scanning down. Net effect of the commit: −11/+2, prose kept, duplication removed. Matches docs-mintlify/CLAUDE.md's "say it once" / "one good example beats three near-identical ones".

Verified against the code

Claim Source Status
primary: true accepted on a link CubeValidator.ts:321primary: Joi.boolean().strict()
At most one primary per dimension CubeValidator.ts:337-339Only one link can be marked as primary
format: { type: link, label: … } CubeValidator.ts:116-123 formatAlternatives (type optional, label required)
Object form belongs under string dimensions formatSchema is the otherwise branch; time/number have their own schemas ✅ correctly placed

Anchors and link references — all resolve

Reference Target Status
/reference/data-modeling/dimensions#format (table.mdx:93) ### \format`at reference:262`
/docs/data-modeling/dimensions#links (table.mdx:90) ## Links at concept :382
#cell-menu (table.mdx:92) ## Cell menu at table.mdx:158
#behavior (concept :411, :520) ### Behavior at concept :504
[ref-workbooks] (3 new uses) defined at reference :1353
/docs/explore-analyze/charts/chart-types/table#links (concept :521) ### Links at table.mdx:83

No inbound links to the old #display-tab-… anchor anywhere in docs-mintlify/ (grepped for display-tab — zero matches), so the ## Display tab## Style tab rename is internally clean. Already flagged and accepted: external bookmarks land at the top of the page.

The http/https/mailto restriction and the Style-tab picker behavior are Workbooks frontend, not present in this repo — taken on trust, as in the earlier rounds.

Nit (trivial, non-blocking)

The prose writes the object form as format: { type: link, label: … } (:274) while the example it points at spells the keys in the other order — label first, then type (:322-323, mirrored in JS at :358-359). Key order is irrelevant to YAML, but a reader jumping from the sentence to the example matches on shape. Swapping the two lines in the example would make the pair read as the same thing. Not worth a commit on its own.

Threads

All three of my earlier threads are already resolved and outdated — nothing to resolve or re-affirm. No new inline comments; the single remaining nit is too small to warrant one.

Docs-only change — no security, performance, or test concerns. Style matches docs-mintlify/CLAUDE.md: surgical edits to existing pages, no padding, screenshot placeholders in the page's established MDX-comment form, no "Cube Cloud" in newly written prose.

• branch [`igor/cub-2253-render-values-as-links-docs`](https://github.com/cube-js/cube/tree/igor/cub-2253-render-values-as-links-docs)

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 44s —— View job


Docs review (b631b18): final nit fixed, everything verified — 0 blocking, 0 new findings

Full review
  • Read the incremental diff (b631b18) and the full PR diff vs origin/master
  • Confirm the prose/example key order now match
  • Re-verify primary and the format object form against CubeValidator.ts
  • Re-check every anchor and link reference in the PR
  • Check prior review threads (all four already resolved by the author)
  • Post review

Prior nit — addressed in b631b18

The crm_link example now spells type: link before label: View in Salesforce in both tabs (YAML reference/data-modeling/dimensions.mdx:319-323, JS :353-361), matching the prose's format: { type: link, label: … } at :274. A reader jumping from the sentence to the example now matches on shape. −2/+2, no semantic change (YAML/JS key order is irrelevant to the parser).

Verified against the code

Claim Source Status
primary: true accepted on a link CubeValidator.ts:321primary: Joi.boolean().strict()
At most one primary per dimension CubeValidator.ts:337-339Only one link can be marked as primary
format: { type: link, label: … } CubeValidator.ts:116-123 formatAlternatives / formatSchema (type optional, label required)
Object form belongs under string dimensions formatSchema is the otherwise branch; time/number have their own schemas ✅ correctly placed

Anchors and link references — all resolve

Reference Target Status
/reference/data-modeling/dimensions#format (table.mdx:93) ### \format`at reference:262`
/docs/data-modeling/dimensions#links (table.mdx:90) ## Links at concept :382
#cell-menu (table.mdx:92) ## Cell menu at table.mdx:158
#behavior (concept :411, :520) ### Behavior at concept :504
/docs/explore-analyze/charts/chart-types/table#links (concept :521) ### Links at table.mdx:83
[ref-workbooks] (3 new uses) defined at reference :1353

The http/https/mailto restriction and the Style-tab picker behavior are Workbooks frontend, not present in this repo — taken on trust, as in earlier rounds.

Threads

All four of my earlier threads are resolved and outdated; nothing to re-affirm and nothing new worth an inline comment. The ## Display tab## Style tab anchor rename was flagged and accepted earlier — internally clean (zero display-tab references anywhere in docs-mintlify/); only external bookmarks land at the top of the page.

Style matches docs-mintlify/CLAUDE.md: surgical edits to existing pages, no padding, one canonical example per concept, screenshot placeholders in the page's established MDX-comment form, no "Cube Cloud" in newly written prose. Docs-only change — no security, performance, or test concerns.

Verdict: ready to merge.

• branch igor/cub-2253-render-values-as-links-docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant