Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

overhaul dev guide indices, titles, tags #3088

Merged
merged 12 commits into from
Oct 1, 2024
8 changes: 5 additions & 3 deletions docs/develop/dotnet/asynchronous-activity.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
id: asynchronous-activity
title: Asynchronous Activity - .NET SDK feature guide
sidebar_label: Asynchronous Activity
title: Asynchronous Activity Completion - .NET SDK
napcs marked this conversation as resolved.
Show resolved Hide resolved
sidebar_label: Asynchronous Activity Completion
napcs marked this conversation as resolved.
Show resolved Hide resolved
description: Learn how to asynchronously complete an Activity in Temporal. Follow simple steps to allow an Activity Function to return without the Activity Execution completing.
toc_max_heading_level: 4
keywords:
Expand All @@ -23,8 +23,10 @@ keywords:
- getasyncactivityhandle
tags:
- asynchronous-activity
- dotnet-sdk
- overview
- sdk
- dotnet-sdk
- developer guide
---

This page describes how to asynchronously complete an Activity.
Expand Down
18 changes: 10 additions & 8 deletions docs/develop/dotnet/cancellation.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: cancellation
title: Interrupt a Workflow - .NET SDK feature guide
title: Interrupt a Workflow - .NET SDK
sidebar_label: Interrupt a Workflow
description: Learn how to interrupt Workflow Execution in .NET using the Temporal SDK. Cancel for graceful stops; terminate for forceful stops. Handle Cancellation in Workflow and Activities efficiently.
toc_max_heading_level: 4
Expand Down Expand Up @@ -28,8 +28,9 @@ keywords:
- workflow code examples
tags:
- cancellation
- sdk
- dotnet-sdk
- overview
- developer guide
---

This page shows how to interrupt a Workflow Execution.
Expand All @@ -38,12 +39,13 @@ You can interrupt a Workflow Execution in one of the following ways:

- [Cancel](#cancellation): Canceling a Workflow provides a graceful way to stop Workflow Execution.
- [Terminate](#termination): Terminating a Workflow forcefully stops Workflow Execution.
Terminating a Workflow forcefully stops Workflow Execution.
This action resembles killing a process.
- The system records a `WorkflowExecutionTerminated` event in the Workflow History.
- The termination forcefully and immediately stops the Workflow Execution.
- The Workflow code gets no chance to handle termination.
- A Workflow Task doesn't get scheduled.

Terminating a Workflow forcefully stops Workflow Execution.
This action resembles killing a process.
- The system records a `WorkflowExecutionTerminated` event in the Workflow History.
- The termination forcefully and immediately stops the Workflow Execution.
- The Workflow code gets no chance to handle termination.
- A Workflow Task doesn't get scheduled.

In most cases, canceling is preferable because it allows the Workflow to finish gracefully.
Terminate only if the Workflow is stuck and cannot be canceled normally.
Expand Down
6 changes: 3 additions & 3 deletions docs/develop/dotnet/child-workflows.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: child-workflows
title: Child Workflows - .NET SDK feature guide
title: Child Workflows - .NET SDK
sidebar_label: Child Workflows
description: Learn how to start a Child Workflow Execution and set a Parent Close Policy using Temporal .NET SDK. Discover methods like ExecuteChildWorkflowAsync and manage Workflow behaviors.
keywords:
Expand All @@ -23,9 +23,9 @@ keywords:
- parentclosepolicy
- child workflow in .net
tags:
- developer-guide
- sdk
- dotnet
- dotnet-sdk
- developer guide
- child-workflow
---

Expand Down
5 changes: 3 additions & 2 deletions docs/develop/dotnet/continue-as-new.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: continue-as-new
title: Continue-As-New - .NET SDK feature guide
title: Continue-As-New - .NET SDK
sidebar_label: Continue-As-New
description: Learn how to use Continue-As-New with the Temporal .NET SDK to manage Workflow Event Histories, ensuring optimal performance by starting new Executions seamlessly.
keywords:
Expand All @@ -9,7 +9,8 @@ keywords:
- continue-as-new
tags:
- sdk
- dotnet
- developer guide
- dotnet-sdk
- continue-as-new
---

Expand Down
7 changes: 4 additions & 3 deletions docs/develop/dotnet/core-application.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: core-application
title: Core application - .NET SDK feature guide
title: Core application - .NET SDK
sidebar_label: Core application
description: Learn how to develop a basic Workflow and Activity Definition using the Temporal .NET SDK, run a Worker Process, and set up Dynamic Workflows and Activities.
toc_max_heading_level: 4
Expand All @@ -20,13 +20,14 @@ tags:
- activity-definition
- activity-execution
- code-samples
- dotnet
- dotnet-sdk
- worker
- workflow
- workflow-execution
- workflow-parameters
- workflow-return-values
- sdk
- dotnet-sdk
- developer guide
---

This page shows how to do the following:
Expand Down
5 changes: 3 additions & 2 deletions docs/develop/dotnet/data-encryption.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: data-encryption
title: Data encryption - .NET SDK feature guide
title: Data encryption - .NET SDK
sidebar_label: Data encryption
description: Learn how to use a custom Payload Codec and Converter in the .NET SDK to modify Temporal Data Conversion behavior, including examples for encryption and camel case conversion.
keywords:
Expand All @@ -11,7 +11,8 @@ keywords:
- converter
tags:
- sdk
- dotnet
- dotnet-sdk
- developer guide
- data encryption
- codec server
- converter
Expand Down
5 changes: 3 additions & 2 deletions docs/develop/dotnet/debugging.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: debugging
title: Debugging - .NET SDK feature guide
title: Debugging - .NET SDK
sidebar_label: Debugging
description: Learn how to debug Workflows in development and production environments using Temporal .NET SDK. Utilize logging, debugger, Web UI, CLI, replay, tracing, and more for efficient troubleshooting.
toc_max_heading_level: 4
Expand All @@ -10,7 +10,8 @@ keywords:
- debugging
tags:
- sdk
- dotnet
- dotnet-sdk
- developer guide
- debugging
---

Expand Down
5 changes: 3 additions & 2 deletions docs/develop/dotnet/durable-timers.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: durable-timers
title: Durable Timers - .NET SDK feature guide
title: Durable Timers - .NET SDK
description: Learn how to set a Durable Timer using the Temporal .NET SDK. Pause Workflow execution for days or months. Timers are persisted and highly resource-efficient using Workflow.DelayAsync.
sidebar_label: Durable Timers
keywords:
Expand All @@ -11,7 +11,8 @@ keywords:
- time-skipping
tags:
- sdk
- dotnet
- dotnet-sdk
- developer guide
- durable-timers
- sleep
- time-skipping
Expand Down
7 changes: 3 additions & 4 deletions docs/develop/dotnet/failure-detection.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: failure-detection
title: Failure detection - .NET SDK feature guide
title: Failure detection - .NET SDK
sidebar_label: Failure detection
description: Learn how to set Workflow and Activity Timeouts, implement Retry Policies, and manage Activity Heartbeats using the Temporal .NET SDK for efficient Workflow Execution.
toc_max_heading_level: 4
Expand All @@ -11,10 +11,9 @@ keywords:
- sdk
- failure detection
tags:
- guide-context
- how-to
- dotnet
- sdk
- dotnet-sdk
- developer guide
- failure-detection
---

Expand Down
89 changes: 44 additions & 45 deletions docs/develop/dotnet/index.mdx
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
---
id: index
title: Temporal .NET SDK feature guidance
title: .Net SDK developer guide
sidebar_label: .NET SDK
description: Discover how to utilize Temporal .NET SDK features to develop Temporal Applications, connect to the Temporal Service, test Workflows and Activities, handle failures, send messages, and more.
description: Use the Temporal .NET SDK to develop Temporal Applications, connect to the Temporal Service, test Workflows and Activities, handle failures, send messages, and more.
toc_max_heading_level: 4
keywords:
- dotnet
- sdk
- feature guidance
tags:
- dotnet
- sdk
- feature guidance
- dotnet-sdk
- developer guide
---

<!-- .NET SDK feature guidance landing page-->

The following Temporal .NET SDK feature guides aim to show how to use Temporal features when developing [Temporal Applications](/temporal#temporal-application).
Build [Temporal Applications](/temporal#temporal-application) with the .Net SDK.

## Core application
## [Core Application](/develop/dotnet/core-application)

The [Core application feature guide](/develop/dotnet/core-application) shows how to use the basic building blocks of a Temporal Application (Workflows, Activities, and Workers).
Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.

- [Develop a basic Workflow Definition](/develop/dotnet/core-application#develop-workflow): Workflows are the fundamental unit of a Temporal Application, and it all starts with the development of a Workflow Definition.
- [Develop a basic Activity Definition](/develop/dotnet/core-application#develop-activity): One of the primary things that Workflows do is orchestrate the execution of Activities.
Expand All @@ -29,27 +27,27 @@ The [Core application feature guide](/develop/dotnet/core-application) shows how
- [Set a Dynamic Workflow](/develop/dotnet/core-application#set-a-dynamic-workflow): Set a workflow that can be invoked dynamically at runtime.
napcs marked this conversation as resolved.
Show resolved Hide resolved
- [Set a Dynamic Activity](/develop/dotnet/core-application#set-a-dynamic-activity): Set an Activity that can be invoked dynamically at runtime.

## Temporal Client
## [Temporal Client](/develop/dotnet/temporal-client)

The [Temporal Client feature guide](/develop/dotnet/temporal-client) shows how to connect to a Temporal Service and start a Workflow Execution.
Connect to a Temporal Service and start a Workflow Execution.

- [Create a Temporal Client](/develop/dotnet/temporal-client#create-a-client): Learn to instantiate and configure a client to interact with the Temporal Service.
- [Connect to Temporal Cloud](/develop/dotnet/temporal-client#connect-to-temporal-cloud): Securely connect to the Temporal Cloud for a fully managed service.
- [Start a Workflow](/develop/dotnet/temporal-client#start-workflow): Initiate Workflows seamlessly via the .NET SDK.
- [Get Workflow results](/develop/dotnet/temporal-client#get-workflow-results): Retrieve and process the results of your Workflows efficiently.

## Testing suite
## [Testing](/develop/dotnet/testing-suite)

The [Testing suite feature guide](/develop/dotnet/testing-suite) shows how to set up the testing suite and test Workflows and Activities.
Set up the testing suite and test Workflows and Activities.

- [Test frameworks](/develop/dotnet/testing-suite#test-frameworks): Testing provides a framework to facilitate Workflow and integration testing.
- [Testing Workflows](/develop/dotnet/testing-suite#testing-workflows): Ensure the functionality and reliability of your Workflows.
- [Testing Activities](/develop/dotnet/testing-suite#test-activities): Validate the execution and outcomes of your Activities.
- [Replay test](/develop/dotnet/testing-suite#replay-test): Replay recreates the exact state of a Workflow Execution.

## Failure detection
## [Failure detection](/develop/dotnet/failure-detection)

The [Failure detection feature guide](/develop/dotnet/failure-detection) shows how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.
Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.

- [Workflow timeouts](/develop/dotnet/failure-detection#workflow-timeouts): Each Workflow timeout controls the maximum duration of a different aspect of a Workflow Execution.
- [Workflow retries](/develop/dotnet/failure-detection#workflow-retries): A Workflow Retry Policy can be used to retry a Workflow Execution in the event of a failure.
Expand All @@ -58,11 +56,11 @@ The [Failure detection feature guide](/develop/dotnet/failure-detection) shows h
- [Heartbeat an Activity](/develop/dotnet/failure-detection#activity-heartbeats): An Activity Heartbeat is a ping from the Worker that is executing the Activity to the Temporal Service.
- [Heartbeat Timeout](/develop/dotnet/failure-detection#heartbeat-timeout): A Heartbeat Timeout works in conjunction with Activity Heartbeats.

## Message passing
## [Workflow message passing](/develop/go/message-passing)

The [Workflow messages feature guide](/develop/dotnet/message-passing) shows how to send messages to and read the state of Workflow Executions.
Send messages to and read the state of Workflow Executions.

**Signals**
### Signals

- [Define Signal](/develop/dotnet/message-passing#define-a-signal): A Signal is a message sent to a running Workflow Execution.
- [Send a Signal from a Temporal Client](/develop/dotnet/message-passing#send-signal-from-client): Send a Signal to a Workflow from a Temporal Client.
Expand All @@ -71,49 +69,55 @@ The [Workflow messages feature guide](/develop/dotnet/message-passing) shows how
- [Dynamic Handler](/develop/dotnet/message-passing#dynamic-handler): Dynamic Handlers provide flexibility to handle cases where the names of Workflows, Activities, Signals, or Queries aren't known at run time.
- [Set a Dynamic Signal](/develop/dotnet/message-passing#set-a-dynamic-signal): A Dynamic Signal in Temporal is a Signal that is invoked dynamically at runtime if no other Signal with the same input is registered.

**Queries**
### Queries

- [Define a Query](/develop/dotnet/message-passing#define-query): A Query is a synchronous operation that is used to get the state of a Workflow Execution.
- [Send Queries](/develop/dotnet/message-passing#send-query): Queries are sent from the Temporal Client.
- [Set a Dynamic Query](/develop/dotnet/message-passing#set-a-dynamic-query): A Dynamic Query in Temporal is a Query that is invoked dynamically at runtime if no other Query with the same name is registered.

**Updates**
### Updates

- [Define an Update](/develop/dotnet/message-passing#define-update): An Update is an operation that can mutate the state of a Workflow Execution and return a response.
- [Send an Update](/develop/dotnet/message-passing#send-update-from-client): An Update is sent from the Temporal Client.

## Interrupt a Workflow
## [Interrupt a Workflow](/develop/dotnet/cancellation)

The [Interrupt a Workflow feature guide](/develop/dotnet/cancellation) shows how to interrupt a Workflow Execution with a Cancel or Terminate action.
Interrupt a Workflow Execution with a Cancel or Terminate action.

- [Cancel a Workflow](/develop/dotnet/cancellation#cancellation): Interrupt a Workflow Execution and its Activities through Workflow cancellation.
- [Terminate a Workflow](/develop/dotnet/cancellation#termination): Interrupt a Workflow Execution and its Activities through Workflow termination.

## Versioning
## [Asynchronous Activity Completion](/develop/dotnet/asynchronous-activity)
napcs marked this conversation as resolved.
Show resolved Hide resolved

The [Versioning feature guide](/develop/dotnet/versioning) shows how to change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.
Complete Activities asynchronously.

- [Asynchronous Activity](/develop/dotnet/asynchronous-activity): Asynchronous Activity Completion enables the Activity Function to return without the Activity Execution completing.
napcs marked this conversation as resolved.
Show resolved Hide resolved

## [Versioning](/develop/dotnet/versioning)

Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.

- [Use the .NET SDK Patching API](/develop/dotnet/versioning#dotnet-sdk-patching-api): Patching Workflows using the .NET SDK.

## Observability
## [Observability](/develop/dotnet/observability)

The [Observability feature guide](/develop/dotnet/observability) shows how to configure and use the Temporal Observability APIs.
Configure and use the Temporal Observability APIs.

- [Emit Metrics](/develop/dotnet/observability#metrics): Each Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.
- [Set up Tracing](/develop/dotnet/observability#tracing): Explains how the Go SDK supports tracing and custom context propogation.
napcs marked this conversation as resolved.
Show resolved Hide resolved
- [Log from a Workflow](/develop/dotnet/observability#logging): Send logs and errors to a logging service, so that when things go wrong, you can see what happened.
- [Use Visibility APIs](/develop/dotnet/observability#visibility): The term Visibility, within the Temporal Platform, refers to the subsystems and APIs that enable an operator to view Workflow Executions that currently exist within a Terminal Service.

## Debugging
## [Debugging](/develop/dotnet/debugging)

The [Debugging feature guide](/develop/dotnet/debugging) covers the various ways to debug your application.
Explore various ways to debug your application.

- [Debug in a development environment](/develop/dotnet/debugging#debug-in-a-development-environment): In addition to the normal development tools of logging and a debugger, you can also see what’s happening in your Workflow by using the Web UI and the Temporal CLI.
- [Debug in a development production](/develop/dotnet/debugging#debug-in-a-development-production): Debug production Workflows using the Web UI, the Temporal CLI, Replays, Tracing, or Logging.

## Schedules
## [Schedules](/develop/dotnet/schedules)

The [Schedules feature guide](/develop/dotnet/schedules) shows how to schedule Workflows and to delay the start of a Workflow.
Run Workflows on a schedule and delay the start of a Workflow.

- [Schedule a Workflow](/develop/dotnet/schedules#schedule-a-workflow)
- [Create a Scheduled Workflow](/develop/dotnet/schedules#create-a-workflow): Create a new schedule for a scheduled Workflow.
Expand All @@ -126,34 +130,29 @@ The [Schedules feature guide](/develop/dotnet/schedules) shows how to schedule W
- [Update a Scheduled Workflow](/develop/dotnet/schedules#update-a-scheduled-workflow): Updates a schedule with a new definition for a scheduled Workflow.
- [Use Start Delay](/develop/dotnet/schedules#start-delay): Start delay functionality if you need to delay the execution of the Workflow without the need for regular launches.

## Data encryption
## [Data encryption](/develop/dotnet/data-encryption)

The [Data encryption feature guide](/develop/dotnet/data-encryption) provides guidance on how to support compression, encryption, and other data handling by implementing custom converters and codecs.
Use compression, encryption, and other data handling by implementing custom converters and codecs.

- [Use a custom Payload Codec](/develop/dotnet/data-encryption#custom-payload-codec): Create a custom PayloadCodec implementation and define your encryption/compression and decryption/decompression logic.
- [Use a custom Payload Converter](/develop/dotnet/data-encryption#custom-payload-converter): A custom data converter can be set via the `DataConverter` option when creating a client.

## Durable Timers
## [Durable Timers](/develop/go/timers)

The [Durable Timers feature guide](/develop/dotnet/durable-timers) shows how to use Timers and sleep within Workflows.
Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.

- [Sleep](/develop/dotnet/durable-timers): A Timer lets a Workflow sleep for a fixed time period.

## Continue-As-New
## [Child Workflows](/develop/dotnet/child-workflows)

The [Continue-As-New feature guide](/develop/dotnet/continue-as-new) shows how to continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.

- [Continue-As-New](/develop/dotnet/continue-as-new): Continue-As-New enables a Workflow Execution to close successfully and create a new Workflow Execution in a single atomic operation if the number of Events in the Event History is becoming too large.

## Child Workflows

The [Child Workflows feature guide](/develop/dotnet/child-workflows) shows how to spawn a Child Workflow Execution and handle Child Workflow Events.
Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.

- [Start a Child Workflow Execution](/develop/dotnet/child-workflows): A Child Workflow Execution is a Workflow Execution that is scheduled from within another Workflow using a Child Workflow API.
- [Set a Parent Close Policy](/develop/dotnet/child-workflows#parent-close-policy): A Parent Close Policy determines what happens to a Child Workflow Execution if its Parent changes to a Closed status.

## Asynchronous Activity
## [Continue-As-New](/develop/dotnet/continue-as-new)

The [Asynchronous Activity feature guide](/develop/dotnet/asynchronous-activity) shows how to complete Activities asynchronously.
Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.

- [Continue-As-New](/develop/dotnet/continue-as-new): Continue-As-New enables a Workflow Execution to close successfully and create a new Workflow Execution in a single atomic operation if the number of Events in the Event History is becoming too large.

- [Asynchronous Activity](/develop/dotnet/asynchronous-activity): Asynchronous Activity Completion enables the Activity Function to return without the Activity Execution completing.
Loading