Skip to content

build your first basic workflow experimentation#3994

Open
jsundai wants to merge 57 commits into
mainfrom
tutorial-layout-money-transfer-experimentation
Open

build your first basic workflow experimentation#3994
jsundai wants to merge 57 commits into
mainfrom
tutorial-layout-money-transfer-experimentation

Conversation

@jsundai
Copy link
Copy Markdown
Contributor

@jsundai jsundai commented Nov 13, 2025

What does this PR do?

https://temporal-documentation-git-tutorial-layout-money-transfe-0fc0c4.preview.thundergun.io/build-your-first-basic-workflow/build-your-first-workflow

Notes to reviewers

files changed include new components for interaction and sdk boxed logos
aiming for: concise + engaging, dev-to-dev tone, consistent interactions, progressive disclosure.
can include sdk box logos in the sdk tabs section in the future

@jsundai jsundai requested a review from a team as a code owner November 13, 2025 20:00
@vercel
Copy link
Copy Markdown

vercel Bot commented Nov 13, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
temporal-documentation Ready Ready Preview, Comment May 22, 2026 2:18pm

Request Review

@jsundai jsundai changed the title tutorial layout money transfer experimentation build your first basic workflow experimentation Nov 13, 2025
… add snipsync where needed, merge task queue explanation into step 3 with constants tip, renumber steps
…ground for diagram, simplify worker intro text, java note spacing
@tlalfano
Copy link
Copy Markdown
Contributor

I'd love to see the name of the page and in the left hand nav be something more like:
Build a Financial Transaction Application, or Build a Financial Transaction Workflow

I'm mainly concerned with this appearing to be 'build your first net new workflow' which it really isn't - and that's something we do want to solve.

@jsundai

jsundai added 3 commits May 15, 2026 14:53
- Cut from 2,248 to 1,771 lines (1,133 lines removed)
- Replaced SetupSteps side-panel pattern with inline code blocks
- Merged Steps 3+4+"Run" into a single "Run the application" section
- Removed <details open>, Introduction heading, and "Let's Recap" sub-step
- Condensed intro prose to three sentences; moved prereqs to a short callout
- Worker code now co-located with its run command per SDK tab
- Removed unused imports (SetupSteps, CodeSnippet)
Copy link
Copy Markdown
Contributor

@tlalfano tlalfano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added my notes! Overall looking so good, loving this option of adding more tailored quick starts for users and can't wait to add more.


### Activities

Activities do the real work. Each one calls an external service. If an Activity fails, Temporal retries it. The three Activities in this app: Withdraw, Deposit, and Refund.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This phrasing sounds a little odd, maybe 'There are three Activities' ?

Start the local Temporal server. This runs the scheduler, state store, and Web UI at [localhost:8233](http://localhost:8233). The `--db-filename` flag persists Workflow state to disk, which is required for the crash recovery demo in Part 2.

:::note Port conflict
If you get an `address already in use` error, a previous process may still hold port 7233. Run `lsof -ti:7233 | xargs kill` on macOS/Linux to clear it.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the sentence above, we say the UI is running on 8233, but in this sentence we talk about port conflicts with 7233, where the temporal service is running, but we have never intro'ed that info even though we are referencing 7233 throughout the sample application code.


Start the Worker. It connects to Temporal, polls the Task Queue, and executes your Workflow and Activity code. Leave it running.

:::note Java: first-run compile time
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a deal breaker, but is there a way to only display this when Java is active? if its a massive lift its not worth spending a ton of time on imo

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will likely need updating soon, UI colors and treatments have changed a bit.

<img src="/img/moneytransfer/webuisample.png" alt="Temporal Web UI showing a completed money transfer Workflow" style={{maxWidth: '100%', height: 'auto'}} />
</div>

Click on the Workflow in the list to see the full event history. In Part 2, you'll use that history to debug a live failure.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get to the bottom of part 1, and I don't have an easy way to get to Part 2. I have to go all the way back to the top to click part 2. The footer of the page also suggests that 'Evaluate' is the next page that I should go to.


## Scenario A: Crash recovery

The goal is to show that Temporal stores Workflow state durably. State lives on the server, not in the Worker process, and survives server restarts.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Phrasing feels internal, perhaps 'this scenario will show that Temporal....'

{ id: 'workflow', label: 'Workflow Status', value: 'RUNNING', status: 'running' }
]} />

:::note Python and .NET: move quickly
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an important reason for this? Feels like extra work for the end user while learning


### Step 3: Fix the bug and redeploy

Stop the Worker (`Ctrl+C`) and revert your change. Put the working deposit line back and remove (or re-wrap) the failing version. Then restart the Worker in Terminal 2:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In step 2 we have a code snippet that shows exactly what to comment/uncomment, should we do the same here? put the line back or re-wrap failing version sounds like a different instruction than step 2

- **.NET**: Terminal 3 is still running and prints the transfer result when the Workflow completes.

:::tip
You just fixed a bug in a running application without losing state or restarting the transaction. Temporal stored every completed step, so Withdraw was not re-run. Execution resumed from the first failing Activity and completed from there.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd love to see this as an explicit step to review instead of a tip. I'm imagining an image of event history, or even timeline view where it shows very clearly that Withdraw was successful (green), but the deposit step continually retried (red).

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.

5 participants