Skip to content

Restore DynamicKeyboardBase as its own page in abstract-nodes/#36

Merged
jduval23 merged 1 commit into
rokudev:v2.0from
chrisdp:restore-dynamic-keyboard-base
May 12, 2026
Merged

Restore DynamicKeyboardBase as its own page in abstract-nodes/#36
jduval23 merged 1 commit into
rokudev:v2.0from
chrisdp:restore-dynamic-keyboard-base

Conversation

@chrisdp
Copy link
Copy Markdown
Contributor

@chrisdp chrisdp commented May 12, 2026

Summary

Companion to #31 (LabelBase), #34 (Dialog), and #35 (LayoutGroup), addressing the fourth instance of the same consolidation pattern. Upstream commit 5435954e ("fixed superfluous index pages", May 6 2026) merged dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md into the section index.md, deleting the dedicated DynamicKeyboardBase reference page and breaking 14 inbound doc:dynamic-keyboard-base link sites.

Like LabelBase, DynamicKeyboardBase is a genuine abstract base class — not directly instantiable; you only ever instantiate DynamicKeyboard, DynamicPinPad, DynamicMiniKeyboard, or DynamicCustomKeyboard, which all extend it. Its natural home is abstract-nodes/, matching the convention used by ArrayGrid, AnimationBase, and the just-merged LabelBase.

Why this restructuring matters

Same developer-impact concerns from the previous three PRs:

  • Component clarity was lost. DynamicKeyboardBase is the abstract class all four dynamic-voice keyboard nodes extend. The docs are full of "Extends DynamicKeyboardBase" references that need a real page to land on. Folding the reference into the section index made DynamicKeyboardBase no longer searchable as its own node.
  • The section landing stopped doing landing-page work. Post-consolidation it was a 103-line DynamicKeyboardBase reference dump with no overview of the four keyboard variants, no description of the underlying components (DynamicKeyGrid, VoiceTextEditBox, Key Definition File), and no signposting to legacy migration or the Standard dialog framework alternatives.
  • Inbound doc:dynamic-keyboard-base links broke silently across 14 link sites.

What changed

  • New page: docs/REFERENCES/scenegraph/abstract-nodes/dynamic-keyboard-base.md. Slug doc:dynamic-keyboard-base (preserved). Same content as the deleted page, with SEO metadata backfilled, fields-table HTML reformatted with proper indentation, and a typo fix ("dication""dictation" in two cells of the domain field description).
  • Rewritten landing: docs/REFERENCES/scenegraph/dynamic-voice-keyboard-nodes/index.md. Short intro, certification blockquote, a representative DynamicKeyboard image, a Choosing-a-node table covering all four keyboard variants, a separate components table (DynamicKeyGrid / VoiceTextEditBox / Key Definition File), an Inheritance note, a Voice entry note (currently English and Spanish), a Looking-for-something-else section pointing at the legacy Keyboard / legacy PinPad and the Standard dialog framework's StandardKeyboardDialog and StandardPinPadDialog, and a sample-app pointer.
  • Release notes file-path updates: 3 references in docs/DEVELOPER/release-notes/index.md (lines 461, 643, 655) rewritten from /docs/references/scenegraph/dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md/docs/references/scenegraph/abstract-nodes/dynamic-keyboard-base.md. Anchors preserved.

Inbound-link audit

Audited four ways: slug refs, file-path refs, camelCase variants, anchor refs into the old index. Findings:

  • 14 doc:dynamic-keyboard-base slug references — resolve naturally to the new abstract-nodes location (slug unchanged): release-notes:1072 (no, sorry — that was for Dialog); the references include certification.md:207, cert-tests/index.md:546, the four sibling keyboard pages (dynamic-keyboard.md, dynamic-pinpad.md, dynamic-mini-keyboard.md, dynamic-key-grid.md, dynamic-custom-keyboard.md via <Anchor>), FEATURES/engagement/voice.md:36, VIDEOS/demos/summit-2021.md:17, and several in the rewritten landing itself.
  • 3 file-path refs in release-notes — rewritten in this PR.
  • 1 doc:dynamic-voice-keyboard-nodes reference (release-notes:593) — resolves to the rewritten section landing.
  • camelCase/no-dash slug variants (doc:DynamicKeyboardBase, etc.) — 0.
  • Anchor refs into the consolidated index — 0.

Companion to PR rokudev#31 (LabelBase), rokudev#34 (Dialog), and rokudev#35 (LayoutGroup),
addressing the fourth instance of the same consolidation pattern.
Upstream commit 5435954 (May 6, 2026) merged
dynamic-voice-keyboard-nodes/dynamic-keyboard-base.md into the section
index.md, deleting the dedicated DynamicKeyboardBase reference page
and breaking 14 inbound doc:dynamic-keyboard-base link sites.

Like LabelBase, DynamicKeyboardBase is a genuine abstract base class
(not directly instantiable; you only ever instantiate DynamicKeyboard,
DynamicPinPad, DynamicMiniKeyboard, or DynamicCustomKeyboard, which
all extend it). Its natural home is abstract-nodes/, matching the
convention used by ArrayGrid, AnimationBase, and the just-merged
LabelBase.

This change:
- Restores the page at abstract-nodes/dynamic-keyboard-base.md with
  SEO metadata backfilled, fields-table HTML reformatted with proper
  indentation, and a typo fix ("dication" -> "dictation" in two cells
  of the `domain` field description).
- Rewrites dynamic-voice-keyboard-nodes/index.md as a real section
  landing: short intro, Choosing-a-node table for the four keyboard
  variants, a separate components table covering DynamicKeyGrid,
  VoiceTextEditBox, and Key Definition File, an Inheritance note,
  a Voice entry note (currently English and Spanish, sourced from
  the existing DynamicKeyboardBase copy), a Looking-for-something-
  else section pointing at the legacy Keyboard/PinPad and the
  Standard dialog framework's StandardKeyboardDialog/
  StandardPinPadDialog, and a Sample app pointer.
- Updates 3 file-path-style refs in release-notes/index.md from
  /docs/references/scenegraph/dynamic-voice-keyboard-nodes/
  dynamic-keyboard-base.md to /docs/references/scenegraph/
  abstract-nodes/dynamic-keyboard-base.md.

All 14 inbound doc:dynamic-keyboard-base references resolve naturally
to the restored page (slug unchanged). The 1 inbound
doc:dynamic-voice-keyboard-nodes reference (release-notes:593)
resolves to the rewritten section landing.
@jduval23 jduval23 merged commit 6d2c34e into rokudev:v2.0 May 12, 2026
1 check failed
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.

2 participants