Skip to content

feat: Guided Tour - Subgraphs#2366

Draft
camielvs wants to merge 1 commit into
06-03-feat_guided_tours_framework_subgraphs_from
06-03-feat_guided_tour_-_subgraphs
Draft

feat: Guided Tour - Subgraphs#2366
camielvs wants to merge 1 commit into
06-03-feat_guided_tours_framework_subgraphs_from
06-03-feat_guided_tour_-_subgraphs

Conversation

@camielvs

@camielvs camielvs commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Description

The registered Subgraphs guided tour — a 16-step walkthrough of what subgraphs are, how to navigate them, and how to unpack and re-create them. Uses the subgraph interaction mechanics from #2365 and boots into a temporary tour pipeline seeded from a new Intro: Subgraphs example.

The tour goes full circle: explore three existing subgraphs → dive in and back out → unpack one into its tasks → re-bundle those tasks into a brand-new subgraph.

What's in the tour

  1. Welcome — what a subgraph is (centered popover, no spotlight)
  2. Canvas — the three subgraph tasks ringed: Data Preparation, Training, Evaluation
  3. Interactive — double-click Data Preparation to look inside (navigate-into-subgraph)
  4. Breadcrumbs — you're one level deep; crumbs show your location in the tree
  5. Pipeline Structure window — full tree navigation (restores the pipeline-tree dock window)
  6. Input nodes inside a subgraph → become the parent task's arguments
  7. Output nodes inside a subgraph → become the parent task's outputs
  8. Interactive — click Root in the breadcrumbs to return to the top level (navigate-to-root)
  9. Runtime behavior — subgraphs show an aggregate status, have no logs of their own, and can be nested (informational)
  10. Intro to unpacking (informational)
  11. Interactive — click the Data Preparation task to select it (select-task)
  12. Interactive — open the Node menu and choose Unpack Subgraph (unpack-subgraph)
  13. After unpack — its inner tasks Generate and Split now sit at the top level, already wired in
  14. Interactive — multi-select Generate + Split (Cmd/Ctrl-click or box-select) (multi-select-tasks, min 2)
  15. Interactive — use the selection toolbar's Create Subgraph to re-bundle them (create-subgraph)
  16. Wrap-up — when to reach for subgraphs

Interactive steps fall back to non-interactive copy when the prompted state is already satisfied (consistent with #2306 / #2312).

DOM anchors & assets added in this PR

Following the convention that tour-specific anchors ship with the tour:

  • Seed pipelinepublic/tour-pipelines/Subgraphs.pipeline.component.yaml (Intro: Subgraphs: three subgraph tasks — Data Preparation, Training, Evaluation — each wrapping its own internal graph).
  • SubgraphBreadcrumbsViewdata-tour="subgraph-breadcrumbs", plus data-tour-crumb (root / ancestor) and data-tour-crumb-index so steps can ring the Root crumb.
  • NodeMenudata-tour="node-menu-trigger" / node-menu-content / node-menu-unpack for the Unpack Subgraph step.
  • SelectionToolbardata-tour="create-subgraph-popover" (reuses existing data-testid="selection-toolbar" / selection-create-subgraph).
  • tours.json — registers the Subgraphs tour in the Learning Hub.

Interactions consumed (defined in #2365): navigate-into-subgraph, navigate-to-root, select-task, unpack-subgraph, multi-select-tasks, create-subgraph.

Related Issue and Pull requests

Progresses https://github.com/Shopify/oasis-frontend/issues/583

Depends on #2365 (subgraph interaction mechanics) and the framework stack below it.

Type of Change

  • New feature

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Screenshots

image.png

Test Instructions

Dashboard → Learning Hub → Featured Tours → "Guided Tour: Subgraphs". Walk all 16 steps end-to-end.

Interactive steps

  • Step 3 (navigate-into-subgraph) — double-clicking Data Preparation advances; double-clicking another subgraph should not (it's gated to that task name).
  • Step 8 (navigate-to-root) — clicking Root in the breadcrumbs returns to the top and advances.
  • Step 11 (select-task) — only selecting Data Preparation advances.
  • Step 12 (unpack-subgraph) — advances after Node menu → Unpack Subgraph; the highlight should track the menu trigger/content and ring the Unpack item.
  • Step 14 (multi-select-tasks) — selecting both Generate and Split (Cmd/Ctrl-click or box-select) advances.
  • Step 15 (create-subgraph) — the floating toolbar's Create Subgraph → name → confirm advances.

Navigation / re-measurement

  • Steps anchored to the canvas should keep their spotlight aligned after navigating into/out of a subgraph (the viewport re-measure from feat: Guided Tours Framework (Subgraphs) #2365).
  • Step 5 — the Pipeline Structure window should be restored if hidden/minimized, and the highlight should land on the rendered tree (not a not-yet-mounted element).

Tour-mode regressions

  • ESC, clicks on the spotlight mask, and the (hidden) close button are all no-ops; the only mid-tour exit is Exit Tour.
  • Refresh mid-tour — resumes on the same step (/tour/subgraphs?step=N) with canvas state intact (session storage from feat: Guided Tours Ephemeral Pipelines #2334).
  • Done on the final step returns to /learn/tours; the tour pipeline does not leak into the regular pipelines list.

Additional Comments

The seed pipeline is intentionally shallow (one level of nesting per subgraph) so the tour stays legible. The mechanics (#2365) and the framework stack below it need to land first for this to run.

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: 06-03-feat_guided_tour_-_subgraphs/4b15ecd

camielvs commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator Author

@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 49656f5 to a182d2f Compare June 3, 2026 18:32
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch 3 times, most recently from 9fbf807 to d683836 Compare June 3, 2026 19:17
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 5adf525 to 514c488 Compare June 3, 2026 19:17
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from d683836 to da85695 Compare June 3, 2026 19:24
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 05098d2 to b571f54 Compare June 3, 2026 19:30
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch 2 times, most recently from 6ad31e0 to d394e10 Compare June 3, 2026 22:40
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from b571f54 to 0124745 Compare June 3, 2026 22:40
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch 3 times, most recently from c63e444 to a4ded78 Compare June 4, 2026 18:58
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 0124745 to 75ab404 Compare June 4, 2026 18:58
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from a4ded78 to 7ef63ec Compare June 4, 2026 21:02
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 75ab404 to 43e2348 Compare June 4, 2026 21:02
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from 7ef63ec to 9b23355 Compare June 4, 2026 22:17
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch 2 times, most recently from 677a1a3 to 601b598 Compare June 4, 2026 23:42
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch 2 times, most recently from ee939da to 352b162 Compare June 5, 2026 22:43
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch 2 times, most recently from 0bf07b8 to ccceaaf Compare June 9, 2026 16:52
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from 352b162 to 5d3afbc Compare June 9, 2026 16:52
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from ccceaaf to d97d028 Compare June 9, 2026 17:37
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from 5d3afbc to 27c0b3b Compare June 9, 2026 17:37
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from d97d028 to adb10d0 Compare June 9, 2026 17:49
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from 27c0b3b to 0f52445 Compare June 9, 2026 17:49
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from adb10d0 to 3830d88 Compare June 9, 2026 20:03
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch 2 times, most recently from 0f98943 to f541439 Compare June 9, 2026 20:32
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 3830d88 to 0f6861d Compare June 9, 2026 20:32
@camielvs camielvs force-pushed the 06-03-feat_guided_tours_framework_subgraphs_ branch from 0f6861d to 4ba9aae Compare June 11, 2026 20:32
@camielvs camielvs force-pushed the 06-03-feat_guided_tour_-_subgraphs branch from f541439 to 4b15ecd Compare June 11, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50583 Learning Hub

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant