Skip to content

ui: Batch/Transaction workspace — upload, preflight review, execute, results summary #476

Description

@angela-helios

From the review call on Brett's Batch/Transaction designs, updated 2026-07-31 against the new Figma frames (330:461 Upload, 330:2 Actions, 330:720 Bundle JSON, 330:1141 Response) — the designs cover the agreed flow; this issue is the implementation.

Flow (per the frames)

  1. Upload — drop/browse a Bundle JSON file.
  2. Preflight (Actions) — request line (POST [base] · Bundle·{type}·{n} entries), one row per entry with its HTTP method chip and target URL, collapsible body per row (chevrons in the design), Bundle JSON tab with the raw payload, Cancel / Upload another / Execute. Entry methods are display-only.
  3. Execute — POST to the server root.
  4. Response — per-action outcomes with the status badges, Execute again / Back to bundle.

Implementation requirements beyond the mock

  • Aggregate result summary (Steve, not in the mock): the Response page states how many resources were created / updated / failed, not just per-row badges.
  • Batch-vs-transaction explainer: one line of copy in the preflight stating the semantics of what is about to run — transaction: all-or-nothing; batch: independent entries, failures don't stop the rest.
  • Texts come from the real payload, not the mock: the bundle type shown is the uploaded bundle's type (the mock mixes batch in the header with transaction in the JSON), and per-entry statuses render verbatim from the response bundle (201 Created, not the mock's 200 CREATED). Flagged to Brett as example-text nits; implementation is the source of truth.
  • GET entries are in-scope: per the R4 spec, transaction processing explicitly includes "Process any GET or HEAD interactions" (step 4), and the server already supports them (BundleMethod::Get).

Out of scope (decided 2026-07-31)

  • Single-resource upload path and a dedicated expanded-accordion mock (Edson's suggestions — dropped).
  • Import ($bulk-submit) and Export remain separate nav entries and separate work.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions