Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,16 @@ However, in real life,the application could use as many Worker Processes (each w

## How do you ensure PII is encrypted in the Temporal Platform?

To ensure data is encrypted while in the Temporal Platform, you use a customized [Data Converter](https://docs.temporal.io/security/#custom-data-converter).
To ensure data is encrypted while in the Temporal Platform, you use a customized [Data Converter](https://docs.temporal.io/default-custom-data-converters#custom-data-converter).

## How do you know what the status of a Background Check is

The status refers to the whether a Background Check is Open or Closed.

You can use the Temporal Platform's [Visibility APIs](https://docs.temporal.io/visibility/#advanced-visibility) to see the status of any oftheWorkflow Executions.
You can use the Temporal Platform's [Visibility APIs](https://docs.temporal.io/visibility#advanced-visibility) to see the status of any oftheWorkflow Executions.
In this application you wrapped the `bgc-company list` command around these Visibility APIs.
You also make sure to add custom Search Attributes totheBackground Check Workflows.
When you run `bgc-company list` you are using the Visibility APIs and passing a [List Filter](https://docs.temporal.io/visibility/#list-filter) that gives us back only the Background Check Workflow Executions.
When you run `bgc-company list` you are using the Visibility APIs and passing a [List Filter](https://docs.temporal.io/list-filter#list-filter) that gives us back only the Background Check Workflow Executions.

## How do you know what the state of a Background Check is?

Expand Down
60 changes: 30 additions & 30 deletions docs/examples/go/background-checks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,40 +85,40 @@ And the Temporal Platform has built-in Visibility APIs to view the status and ge

This project introduces the following concepts:

- [Activity Definition](https://docs.temporal.io/activities/#activity-definition)
- [Activity Execution](https://docs.temporal.io/activities/#activity-execution)
- [Advanced Visibility](https://docs.temporal.io/visibility/#advanced-visibility)
- [Child Workflow Execution](https://docs.temporal.io/workflows/#child-workflow)
- [Custom Data Converter](https://docs.temporal.io/security/#custom-data-converter)
- [List Filters](https://docs.temporal.io/visibility/#list-filter)
- [Search Attributes](https://docs.temporal.io/visibility/#search-attribute)
- [Side Effect](https://docs.temporal.io/workflows/#side-effect)
- [Task Queue](https://docs.temporal.io/tasks/#task-queue)
- [Temporal Client](https://docs.temporal.io/temporal#temporal-client)
- [Activity Definition](https://docs.temporal.io/activity-definition#activity-definition)
- [Activity Execution](https://docs.temporal.io/activity-execution#activity-execution)
- [Advanced Visibility](https://docs.temporal.io/visibility#advanced-visibility)
- [Child Workflow Execution](https://docs.temporal.io/child-workflows)
- [Custom Data Converter](https://docs.temporal.io/default-custom-data-converters#custom-data-converter)
- [List Filters](https://docs.temporal.io/list-filter#list-filter)
- [Search Attributes](https://docs.temporal.io/search-attribute#search-attribute)
- [Side Effect](https://docs.temporal.io/workflow-execution/event#side-effect)
- [Task Queue](https://docs.temporal.io/task-queue#task-queue)
- [Temporal Client](https://docs.temporal.io/temporal-client)
- [Temporal Web UI](https://docs.temporal.io/web-ui)
- [Worker](https://docs.temporal.io/workers/)
- [Workflow Definition](https://docs.temporal.io/workflows/#workflow-definition)
- [Workflow Execution](https://docs.temporal.io/workflows/#workflow-execution)
- [Workflow Id](https://docs.temporal.io/workflows/#workflow-id)
- [Workflow Id Reuse Policy](https://docs.temporal.io/workflows/#workflow-id-reuse-policy)
- [Workflow Type](https://docs.temporal.io/workflows/#workflow-type)
- [Worker](https://docs.temporal.io/workers#worker)
- [Workflow Definition](https://docs.temporal.io/workflow-definition#workflow-definition)
- [Workflow Execution](https://docs.temporal.io/workflow-execution#workflow-execution)
- [Workflow Id](https://docs.temporal.io/workflow-execution/workflowid-runid#workflow-id)
- [Workflow Id Reuse Policy](https://docs.temporal.io/workflow-execution/workflowid-runid#workflow-id-reuse-policy)
- [Workflow Type](https://docs.temporal.io/workflow-definition#workflow-type)

## What are the technical how-tos introduced in this application?

The following development "how-tos" provide a foundation for the development patterns expressed in this project:

- [How to develop a Workflow Definition in Go](https://docs.temporal.io/dev-guide/go/foundations/#develop-workflows)
- [How to spawn a Workflow Execution in Go](https://docs.temporal.io/dev-guide/go/foundations/#start-workflow-execution)
- [How to set StartWorkflowOptions in Go](https://docs.temporal.io/dev-guide/go/foundations/#set-task-queue)
- [How to get the result of a Workflow Execution in Go](https://docs.temporal.io/dev-guide/go/foundations/#get-workflow-results)
- [How to send a Cancellation Request to a Workflow Execution in Go](https://docs.temporal.io/dev-guide/go/testing/#cancel-an-activity)
- [How to use Signals in Go](https://docs.temporal.io/dev-guide/go/features/#signals)
- [How to send a Query to a Workflow Execution in Go](https://docs.temporal.io/dev-guide/go/features/#send-query)
- [How to handle a Query in a Workflow in Go](https://docs.temporal.io/dev-guide/go/features/#handle-query)
- [How to spawn a Child Workflow Execution in Go](https://docs.temporal.io/dev-guide/go/features/#child-workflows)
- [How to spawn an Activity Execution in Go](https://docs.temporal.io/dev-guide/go/foundations/#activity-execution)
- [How to develop an Activity Definition in Go](https://docs.temporal.io/dev-guide/go/foundations/#activity-definition)
- [How to set ActivityOptions in Go](https://docs.temporal.io/dev-guide/go/foundations/#activity-parameters)
- [How to develop a Worker Program in Go](https://docs.temporal.io/dev-guide/go/foundations/#run-worker-processes)
- [How to develop a Workflow Definition in Go](https://docs.temporal.io/develop/go/workflows/basics#develop-workflows)
- [How to spawn a Workflow Execution in Go](https://docs.temporal.io/develop/go/client/temporal-client#start-workflow-execution)
- [How to set StartWorkflowOptions in Go](https://docs.temporal.io/develop/go/client/temporal-client#set-task-queue)
- [How to get the result of a Workflow Execution in Go](https://docs.temporal.io/develop/go/client/temporal-client#get-workflow-results)
- [How to send a Cancellation Request to a Workflow Execution in Go](https://docs.temporal.io/develop/go/workflows/cancellation#request-cancellation)
- [How to use Signals in Go](https://docs.temporal.io/develop/go/message-passing#signals)
- [How to send a Query to a Workflow Execution in Go](https://docs.temporal.io/develop/go/message-passing#send-query)
- [How to handle a Query in a Workflow in Go](https://docs.temporal.io/develop/go/message-passing#queries)
- [How to spawn a Child Workflow Execution in Go](https://docs.temporal.io/develop/go/workflows/child-workflows#child-workflows)
- [How to spawn an Activity Execution in Go](https://docs.temporal.io/develop/go/activities/execution#activity-execution)
- [How to develop an Activity Definition in Go](https://docs.temporal.io/develop/go/activities/basics#activity-definition)
- [How to set ActivityOptions in Go](https://docs.temporal.io/develop/go/activities/execution#activity-options-reference)
- [How to develop a Worker Program in Go](https://docs.temporal.io/develop/go/workers/run-worker-process#develop-worker)
- [How to provide a custom Data Converter in Go](#)
- [How to execute a Side Effect in Go](https://docs.temporal.io/dev-guide/go/features/#side-effects)
- [How to execute a Side Effect in Go](https://docs.temporal.io/develop/go/workflows/side-effects)
2 changes: 1 addition & 1 deletion docs/examples/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ While not intended for production use, Example Applications can nonetheless be u

See the [Codec Server documentation](https://docs.temporal.io/production-deployment/data-encryption) for more information.
* **Codec Server with JWT validation** [[TypeScript]](https://github.com/temporal-sa/temporal-codec-server) The codec server uses JSON Web Tokens (JWT) to confirm the authenticity of JWTs issued by Temporal Cloud.
* **Codec CORS credentials** [[Go]](https://github.com/temporal-sa/codec-cors-credentials) An implementation of a Temporal [Codec Server](https://docs.temporal.io/dataconversion#codec-server) that supports Cross-Origin Resource Sharing (CORS), and specifically CORS requests with credentials.
* **Codec CORS credentials** [[Go]](https://github.com/temporal-sa/codec-cors-credentials) An implementation of a Temporal [Codec Server](https://docs.temporal.io/production-deployment/data-encryption#codec-server-setup) that supports Cross-Origin Resource Sharing (CORS), and specifically CORS requests with credentials.

## Samples

Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started/dotnet/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Write a program from the ground up with tests.

Once you're familiar with the basics, you may want to explore the documentation and code examples.

* [Temporal Application Developers Guide](https://docs.temporal.io/develop/dotnet/)
* [Temporal Application Developers Guide](https://docs.temporal.io/develop/dotnet)
* [Temporal .NET SDK API documentation](https://dotnet.temporal.io/)
* [Temporal .NET SDK code samples](https://github.com/temporalio/samples-dotnet)
* [Temporal .NET SDK on GitHub](https://github.com/temporalio/sdk-dotnet)
4 changes: 2 additions & 2 deletions docs/getting_started/go/first_program_in_go/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Before starting this tutorial:

## ![](images/workflow.png) Application overview

The project in this tutorial mimics a "money transfer" application that has a single [Workflow function](https://docs.temporal.io/dev-guide/go/foundations/#develop-workflows) that orchestrates the execution of `Withdraw()` and `Deposit()` functions, representing a transfer of money from one account to another. Temporal calls these particular functions [Activity functions](https://docs.temporal.io/dev-guide/go/foundations/#activity-definition).
The project in this tutorial mimics a "money transfer" application that has a single [Workflow function](https://docs.temporal.io/develop/go/workflows/basics#develop-workflows) that orchestrates the execution of `Withdraw()` and `Deposit()` functions, representing a transfer of money from one account to another. Temporal calls these particular functions [Activity functions](https://docs.temporal.io/develop/go/activities/basics#activity-definition).

To run the application, you do the following:

Expand Down Expand Up @@ -363,7 +363,7 @@ This tutorial uses a separate program to start the Workflow, but you don't have

:::

You can make the call [synchronously or asynchronously](https://docs.temporal.io/go/workflows/#how-to-start-a-workflow). Here we do it synchronously by fetching the return value of the Workflow execution with `we.Get`. This call waits for the Workflow execution to complete before continuing.
You can make the call [synchronously or asynchronously](https://docs.temporal.io/develop/go/client/temporal-client#get-workflow-results). Here we do it synchronously by fetching the return value of the Workflow execution with `we.Get`. This call waits for the Workflow execution to complete before continuing.

Now that you've seen how to use the SDK to start a Workflow Execution, try running the program yourself.

Expand Down
10 changes: 5 additions & 5 deletions docs/getting_started/go/hello_world_in_go/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,17 +207,17 @@ func (i *IPActivities) GetLocationInfo(ctx context.Context, ip string) (string,

This Activity follows the same pattern as the `getIP` Activity. This time, the service returns JSON data rather than text, so you have to define a type to unmarshal the data.

While Activities can accept input arguments, it's a best practice to send a single argument rather than multiple arguments. In this case you only have a single String. If you have more than one argument, you should bundle them up in a serializable object. This is because later revisions to your Workflows and Activities that change the number of arguments sent to them can otherwise introduce the need for versioning. Review the [Activity parameters](https://docs.temporal.io/dev-guide/typescript/foundations/#activity-parameters) section of the Temporal documentation for more details.
While Activities can accept input arguments, it's a best practice to send a single argument rather than multiple arguments. In this case you only have a single String. If you have more than one argument, you should bundle them up in a serializable object. This is because later revisions to your Workflows and Activities that change the number of arguments sent to them can otherwise introduce the need for versioning. Review the [Activity parameters](https://docs.temporal.io/develop/go/activities/basics#activity-parameters) section of the Temporal documentation for more details.

You've created your two Activities. Now you'll coordinate them using a Temporal Workflow.

## Control application logic with a Workflow

Workflows are where you configure and organize the execution of Activities. You define a Workflow by writing a *Workflow Definition* using one of the Temporal SDKs.

In the Temporal Go SDK, a Workflow Definition is an [exported function](https://go.dev/tour/basics/3) with two additional requirements: it must accept `workflow.Context` as the first input parameter, and it must return `error`. Your Workflow function can optionally return another value, which you'll use to return the result of the Workflow Execution. Review the [Develop Workflows](https://docs.temporal.io/develop/go/core-application#develop-workflows) section of the Temporal documentation for more about Workflows in Go.
In the Temporal Go SDK, a Workflow Definition is an [exported function](https://go.dev/tour/basics/3) with two additional requirements: it must accept `workflow.Context` as the first input parameter, and it must return `error`. Your Workflow function can optionally return another value, which you'll use to return the result of the Workflow Execution. Review the [Develop Workflows](https://docs.temporal.io/develop/go/workflows/basics#develop-workflows) section of the Temporal documentation for more about Workflows in Go.

Temporal Workflows [must be deterministic](https://docs.temporal.io/workflows#deterministic-constraints) so that Temporal can replay your Workflow in the event of a crash. That's why you call Activities from your Workflow code. Activities don't have the same determinism constraints that Workflows have.
Temporal Workflows [must be deterministic](https://docs.temporal.io/workflow-definition#deterministic-constraints) so that Temporal can replay your Workflow in the event of a crash. That's why you call Activities from your Workflow code. Activities don't have the same determinism constraints that Workflows have.

Create the file `workflows.go` in the root of your project:

Expand Down Expand Up @@ -246,7 +246,7 @@ import (

With the imports and options in place, you can define the Workflow itself.

In the Temporal Go SDK, a Workflow Definition is an [exported function](https://go.dev/tour/basics/3) with two additional requirements: it must accept `workflow.Context` as the first input parameter, and it must return `error`. Your Workflow function can optionally return another value, which you'll use to return the result of the Workflow Execution. You can learn more in the [Workflow parameters](https://docs.temporal.io/dev-guide/go/foundations#workflow-parameters) section of the Temporal documentation.
In the Temporal Go SDK, a Workflow Definition is an [exported function](https://go.dev/tour/basics/3) with two additional requirements: it must accept `workflow.Context` as the first input parameter, and it must return `error`. Your Workflow function can optionally return another value, which you'll use to return the result of the Workflow Execution. You can learn more in the [Workflow parameters](https://docs.temporal.io/develop/go/workflows/basics#workflow-parameters) section of the Temporal documentation.

Add the following code to define the `GetAddressFromIP` Workflow, which will call both Activities, using the value of the first as the input to the second:

Expand Down Expand Up @@ -740,7 +740,7 @@ A Workflow ID is unique in a Namespace and identifies a Workflow Execution. Usin
In this tutorial you're generating a UUID and appending it to a string that identifies the Workflow.
:::

You can [get the results](https://docs.temporal.io/dev-guide/go/foundations/#get-workflow-results) from your Workflow right away, or you can get the results at a later time. This implementation attempts to get the results immediately by calling `we.Get`, which blocks the program's execution until the Workflow Execution completes.
You can [get the results](https://docs.temporal.io/develop/go/client/temporal-client#get-workflow-results) from your Workflow right away, or you can get the results at a later time. This implementation attempts to get the results immediately by calling `we.Get`, which blocks the program's execution until the Workflow Execution completes.

Now you can run your Workflow. First, ensure that your local Temporal Service is running, and that your Worker program is running also.

Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started/go/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ In this course, you will go beyond the basics of Temporal application developmen

Once you're familiar with the basics, you may want to explore the documentation and code examples.

* [Temporal Application Developers Guide](https://docs.temporal.io/dev-guide/go)
* [Temporal Application Developers Guide](https://docs.temporal.io/develop/go)
* [Temporal Go SDK API documentation](https://go.temporal.io/)
* [Temporal Go SDK code samples](https://github.com/temporalio/samples-go)
* [Temporal Go SDK on GitHub](https://github.com/temporalio/sdk-go)
Loading