You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Readme
* Single-line NOTE
* Single-line INFO
* Single-line SUCCESS -> TIP (only 3 in tutorials)
* Single-line WARN/WARNING
* Single-line DANGER
* Easy multi-lines
* `downloadbutton` works in blockquotes in tutorials
* This is OK until ArticleRenderer can be fixed to allow `downloadbutton` in blockquotes
* MIssed a few as they were on the first line
* First-line single-line
* Title cased Note and Info
* Title cased Warn/Warning
* Test to ensure legacy alerts not used and GitHub style alerts are valid
* Missed a merge conflict artifact
Copy file name to clipboardExpand all lines: README.md
+3-65
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,8 @@ The repository contains a devcontainer that has all the necessary tools to devel
36
36
37
37
For more information about devcontainers visit the [official documentation](https://code.visualstudio.com/docs/devcontainers/containers). Install the pre-requirements mentioned in the [getting started guide](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started) and open the repository in Code (`> code .`).
38
38
39
-
Note: The docstool is currently started in the foreground. While it is possible to run it in the background with `&` or the parallel execution feature of devcontainer it might be more cumbersome to inspect the log output of the tool. The downside of starting in the foreground is that Code will continuously show a spinner with "Configuring container".
39
+
> [!NOTE]
40
+
> The docstool is currently started in the foreground. While it is possible to run it in the background with `&` or the parallel execution feature of devcontainer it might be more cumbersome to inspect the log output of the tool. The downside of starting in the foreground is that Code will continuously show a spinner with "Configuring container".
40
41
41
42
### Building samples and snippets
42
43
@@ -932,70 +933,7 @@ The integrity tests include:
932
933
933
934
### Alerts
934
935
935
-
Sometimes it is necessary to draw attention to items you want to call out in a document.
936
-
937
-
This is achieved through [bootstrap alerts](https://getbootstrap.com/components/#alerts).
938
-
939
-
There are several keys each of which map to a different colored alert
940
-
941
-
| Key | Color |
942
-
|---------------------|--------|
943
-
|`SUCCESS`| green |
944
-
|`NOTE` or `INFO`| blue |
945
-
|`WARNING` or `WARN`| yellow |
946
-
|`DANGER`| red |
947
-
948
-
Keys can be used in two manners
949
-
950
-
#### Single-line
951
-
952
-
This can be done with the following syntax
953
-
954
-
```markdown
955
-
KEY: the note text.
956
-
```
957
-
958
-
For example, this
959
-
960
-
```markdown
961
-
NOTE: Some sample note text.
962
-
```
963
-
964
-
will be rendered as
965
-
966
-
```html
967
-
<pclass="alert alert-info">
968
-
Some sample note text.
969
-
</p>
970
-
```
971
-
972
-
#### Multi-line
973
-
974
-
Sometimes it is necessary to group markdown elements inside a note. This can be done with the following syntax
975
-
976
-
```markdown
977
-
{{KEY:
978
-
Inner markdown elements
979
-
}}
980
-
```
981
-
982
-
For example, this
983
-
984
-
```markdown
985
-
{{NOTE:
986
-
* Point one
987
-
* Point Two
988
-
}}
989
-
```
990
-
991
-
will be rendered as
992
-
993
-
```html
994
-
<pclass="alert alert-info">
995
-
* Point One
996
-
* Point Two
997
-
</p>
998
-
```
936
+
[GitHub style alert boxes](https://github.com/orgs/community/discussions/16925) are supported and rendered as [bootstrap alerts](https://getbootstrap.com/docs/5.3/components/alerts/).
Copy file name to clipboardExpand all lines: architecture/azure/data-stores.md
+4-2
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,8 @@ Azure offers [several data stores](https://learn.microsoft.com/en-us/azure/archi
27
27
28
28
[**Try the NServiceBus Cosmos DB sample →**](/samples/cosmosdb/simple/)
29
29
30
-
Note: Cosmos DB offers _serverless_ and _provisioned throughput_ pricing models. When using _provisioned throughput_, Cosmos DB rejects further requests after the reserved Request Units are used. The [Cosmos DB pricing model documentation](https://learn.microsoft.com/en-us/azure/cosmos-db/how-pricing-works) has further information.
30
+
> [!NOTE]
31
+
> Cosmos DB offers _serverless_ and _provisioned throughput_ pricing models. When using _provisioned throughput_, Cosmos DB rejects further requests after the reserved Request Units are used. The [Cosmos DB pricing model documentation](https://learn.microsoft.com/en-us/azure/cosmos-db/how-pricing-works) has further information.
31
32
32
33
## Azure Table Storage
33
34
@@ -48,7 +49,8 @@ Note: Cosmos DB offers _serverless_ and _provisioned throughput_ pricing models.
48
49
49
50
[**Try the NServiceBus Azure Table Storage sample →**](/samples/azure/azure-table/simple/)
50
51
51
-
Note: Applications built for Table Storage are compatible with Cosmos DB. See [this table](https://learn.microsoft.com/en-us/azure/cosmos-db/table/support) for a more in-depth comparison.
52
+
> [!NOTE]
53
+
> Applications built for Table Storage are compatible with Cosmos DB. See [this table](https://learn.microsoft.com/en-us/azure/cosmos-db/table/support) for a more in-depth comparison.
Copy file name to clipboardExpand all lines: architecture/azure/index.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,8 @@ The Particular Service Platform supports the Azure services required to build di
27
27
28
28
Additional technology choices are described in [Technology choices for Azure solutions](https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/technology-choices-overview).
29
29
30
-
Note: Azure services do not support distributed transactions. Read the [consistency guidance](/architecture/consistency.md) for more information about managing consistency in systems without distributed transactions.
30
+
> [!NOTE]
31
+
> Azure services do not support distributed transactions. Read the [consistency guidance](/architecture/consistency.md) for more information about managing consistency in systems without distributed transactions.
Copy file name to clipboardExpand all lines: architecture/consistency.md
+9-8
Original file line number
Diff line number
Diff line change
@@ -44,12 +44,11 @@ Databases and queueing technologies may support atomic transactions for a single
44
44
45
45
Distributed transactions span multiple technologies, such as a database and a message queue. On Windows, the [Distributed Transaction Coordinator (DTC)](https://en.wikipedia.org/wiki/Microsoft_Distributed_Transaction_Coordinator) coordinates distributed transactions across multiple compatible participants using a [two-phase commit protocol](https://en.wikipedia.org/wiki/Two-phase_commit_protocol). Each participant must explicitly support the two-phase commit protocol.
46
46
47
-
{{WARN:
48
-
While traditional on-premises focused services like MSMQ or Microsoft SQL Server support DTC transactions, managed cloud services do not, and require other strategies for achieving consistency between resources such as:
49
-
50
-
* The [outbox pattern](#transactions-outbox-pattern), which uses database capabilities to achieve atomic consistency for data and message operations
51
-
*[Stateful workflows](workflows.md), which supervise the successful completion of all involved resources and manage compensating actions to achieve eventual consistency.
52
-
}}
47
+
> [!WARNING]
48
+
> While traditional on-premises focused services like MSMQ or Microsoft SQL Server support DTC transactions, managed cloud services do not, and require other > strategies for achieving consistency between resources such as:
49
+
>
50
+
> * The [outbox pattern](#transactions-outbox-pattern), which uses database capabilities to achieve atomic consistency for data and message operations
51
+
> *[Stateful workflows](workflows.md), which supervise the successful completion of all involved resources and manage compensating actions to achieve eventual consistency.
53
52
54
53
### Outbox pattern
55
54
@@ -59,7 +58,8 @@ The outbox pattern is implemented by storing outgoing messages in the same datab
59
58
60
59
The nature of the outbox pattern may cause outgoing messages to be dispatched multiple times, which requires [idempotency](#idempotency) in receivers.
61
60
62
-
Note: Implementing the outbox pattern is very risky and error-prone. Small mistakes can lead to unintended behavior and message or data loss. The [NServiceBus outbox feature](/nservicebus/outbox/) implements the outbox pattern, including built-in message deduplication when receiving messages, and is thoroughly tested and well-documented.
61
+
> [!NOTE]
62
+
> Implementing the outbox pattern is very risky and error-prone. Small mistakes can lead to unintended behavior and message or data loss. The [NServiceBus outbox feature](/nservicebus/outbox/) implements the outbox pattern, including built-in message deduplication when receiving messages, and is thoroughly tested and well-documented.
63
63
64
64
## Idempotency
65
65
@@ -81,7 +81,8 @@ Message deduplication is the easiest way to detect if a message has been process
81
81
82
82
One advantage of this approach is its simplicity. However, it has downsides. Every message needs to be stored and searched for, which can reduce message throughput. Deduplication storage is not infinite, limiting the deduplication guarantees of this approach to the provided storage capacity. Identifiers for deduplication typically operate on technical IDs (e.g. message ID), which means this approach does not work for duplicate message _content_.
83
83
84
-
Note: Implementing message deduplication is risky and error-prone. Small mistakes can lead to unintended behavior or message loss. The [NServiceBus Outbox feature](/nservicebus/outbox/) implements message deduplication and is thoroughly tested and well-documented.
84
+
> [!NOTE]
85
+
> Implementing message deduplication is risky and error-prone. Small mistakes can lead to unintended behavior or message loss. The [NServiceBus Outbox feature](/nservicebus/outbox/) implements message deduplication and is thoroughly tested and well-documented.
Copy file name to clipboardExpand all lines: architecture/recoverability.md
+14-15
Original file line number
Diff line number
Diff line change
@@ -16,14 +16,14 @@ Transient failures are temporary and are not caused by errors in business logic.
16
16
17
17
[**Blog: I caught an exception. Now what? →**](https://particular.net/blog/but-all-my-errors-are-severe)
18
18
19
-
Note: The nature of retries implies that messages might be processed in a different order under some circumstances.
19
+
> [!NOTE]
20
+
> The nature of retries implies that messages might be processed in a different order under some circumstances.
20
21
21
-
{{Note:
22
-
The Particular Platform simplifies the handling of transient errors:
23
-
24
-
- NServiceBus has [built-in support for immediate and delayed retries](/nservicebus/recoverability/) for all supported messaging technologies. The automated retries behavior is highly customizable.
25
-
- ServicePulse shows [real-time metrics monitoring retries](/servicepulse/#real-time-monitoring) occuring in the system.
26
-
}}
22
+
> [!NOTE]
23
+
> The Particular Platform simplifies the handling of transient errors:
24
+
>
25
+
> - NServiceBus has [built-in support for immediate and delayed retries](/nservicebus/recoverability/) for all supported messaging technologies. The automated > retries behavior is highly customizable.
26
+
> - ServicePulse shows [real-time metrics monitoring retries](/servicepulse/#real-time-monitoring) occuring in the system.
27
27
28
28
29
29
## Persistent errors
@@ -36,14 +36,13 @@ Once the root cause of a persistent error has been resolved, messages can be mov
36
36
37
37
[**Video: An exception occurred... Try again →**](https://www.youtube.com/watch?v=gSQxtgw1Qz4)
38
38
39
-
{{Note:
40
-
The Particular Platform simplifies the handling of persistent errors:
41
-
42
-
- NServiceBus automatically forwards messages exceeding the configured number of automated retries to the [error queue](/nservicebus/recoverability/configure-error-handling.md).
43
-
- ServiceControl can send [email notifications](/servicepulse/health-check-notifications.md) for dead-lettered messages.
44
-
- Messages moved to the error queue are [enhanced with additional metadata](/servicepulse/intro-failed-messages.md#failed-messages-page-message-details-page) to help with root cause detection.
45
-
- Both [ServiceInsight](/serviceinsight/managing-errors-and-retries.md) and [ServicePulse](/servicepulse/intro-failed-messages.md) offer monitoring and inspection of failed messages and advanced retry functionality.
46
-
}}
39
+
> [!NOTE]
40
+
> The Particular Platform simplifies the handling of persistent errors:
41
+
>
42
+
> - NServiceBus automatically forwards messages exceeding the configured number of automated retries to the [error queue](/nservicebus/recoverability/configure-error-handling.md).
43
+
> - ServiceControl can send [email notifications](/servicepulse/health-check-notifications.md) for dead-lettered messages.
44
+
> - Messages moved to the error queue are [enhanced with additional metadata](/servicepulse/intro-failed-messages.md#failed-messages-page-message-details-page) to help with root cause detection.
45
+
> - Both [ServiceInsight](/serviceinsight/managing-errors-and-retries.md) and [ServicePulse](/servicepulse/intro-failed-messages.md) offer monitoring and inspection of failed messages and advanced retry functionality.
Business processes typically involve various distributed components that need to be invoked in a coordinated manner. The Particular Service Platform supports both choreography and orchestration of workflows.
9
9
10
-
Note: Choreography and orchestration are not mutually exclusive. The patterns may be combined at different levels of business workflows.
10
+
> [!NOTE]
11
+
> Choreography and orchestration are not mutually exclusive. The patterns may be combined at different levels of business workflows.
11
12
12
13
## Choreography
13
14
@@ -46,7 +47,8 @@ _An orchestrated workflow implemented as an NServiceBus Saga, visualized by [Ser
46
47
47
48
[**Tutorial: Introduction to NServiceBus sagas →**](/tutorials/nservicebus-sagas/1-saga-basics/)
48
49
49
-
Note: NServiceBus sagas focus on providing a convenient and efficient way to manage message-based workflows as described by the [Process Manager pattern](https://www.enterpriseintegrationpatterns.com/patterns/messaging/ProcessManager.html). The [_saga distributed transactions_ pattern](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/saga/saga) is primarily concerned with managing long-lived transactions and ensuring consistency between multiple operations, especially in the presence of failures. The NServiceBus saga feature can be used to implement the _saga distributed transactions_ pattern.
50
+
> [!NOTE]
51
+
> NServiceBus sagas focus on providing a convenient and efficient way to manage message-based workflows as described by the [Process Manager pattern](https://www.enterpriseintegrationpatterns.com/patterns/messaging/ProcessManager.html). The [_saga distributed transactions_ pattern](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/saga/saga) is primarily concerned with managing long-lived transactions and ensuring consistency between multiple operations, especially in the presence of failures. The NServiceBus saga feature can be used to implement the _saga distributed transactions_ pattern.
Copy file name to clipboardExpand all lines: monitoring/custom-checks/install-plugin.md
+4-2
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,15 @@ component: CustomChecks
6
6
versions: 'CustomChecks:*'
7
7
---
8
8
9
-
NOTE: This plugin can be enabled and configured with the [ServicePlatform Connector plugin](/platform/connecting.md).
9
+
> [!NOTE]
10
+
> This plugin can be enabled and configured with the [ServicePlatform Connector plugin](/platform/connecting.md).
10
11
11
12
To install the custom checks plugin into an endpoint, reference the [NServiceBus.CustomChecks NuGet package](https://www.nuget.org/packages/NServiceBus.CustomChecks/) and add the following to the endpoint configuration:
12
13
13
14
snippet: CustomCheckNew_Enable
14
15
15
-
NOTE: `ServiceControl_Queue` is a placeholder for the actual ServiceControl Instance (Not a ServiceControl Audit instance) input queue. The ServiceControl input queue is equal to the [ServiceControl service name](/servicecontrol/installation.md#servicecontrol-plugins) as configured in the ServiceControl Management Utility.
16
+
> [!NOTE]
17
+
> `ServiceControl_Queue` is a placeholder for the actual ServiceControl Instance (Not a ServiceControl Audit instance) input queue. The ServiceControl input queue is equal to the [ServiceControl service name](/servicecontrol/installation.md#servicecontrol-plugins) as configured in the ServiceControl Management Utility.
16
18
17
19
It may not make sense to enable the custom checks plugin in all environments. For instance, a development environment may not have a running ServiceControl instance to consume custom check messages. In these cases, enable the plugin conditionally, based on an environment variable or configuration setting.
Copy file name to clipboardExpand all lines: monitoring/heartbeats/expired-heartbeats.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,8 @@ Heartbeat messages have a [time to be received (TTBR)](/nservicebus/messaging/di
12
12
13
13
Although NServiceBus configures the use of DLQ by default, messages that are defined with TTBR will not be automatically forwarded to the DLQ and will be discarded. Configuration can be specified to [override this behavior](/transports/msmq/dead-letter-queues.md#enabling-dlq-for-messages-with-ttbr) so that these messages can be forwarded to the DLQ.
14
14
15
-
WARNING: When using NServiceBus Versions 6.1 or below, messages will be forwarded to the DLQ even if TTBR is set on the messages. To avoid this behavior, DLQ can be disabled by configuring the [MSMQ connection strings](/transports/msmq/connection-strings.md). The heartbeat messages will be forwarded to the DLQ when ServiceControl is either stopped or very busy. In this case, the dead letter queue needs to be monitored and cleaned up.
15
+
> [!WARNING]
16
+
> When using NServiceBus Versions 6.1 or below, messages will be forwarded to the DLQ even if TTBR is set on the messages. To avoid this behavior, DLQ can be disabled by configuring the [MSMQ connection strings](/transports/msmq/connection-strings.md). The heartbeat messages will be forwarded to the DLQ when ServiceControl is either stopped or very busy. In this case, the dead letter queue needs to be monitored and cleaned up.
Copy file name to clipboardExpand all lines: monitoring/heartbeats/in-servicepulse.md
+4-2
Original file line number
Diff line number
Diff line change
@@ -30,12 +30,14 @@ Heartbeat monitoring for endpoint instances can be configured in the configurati
30
30
31
31
Setting the endpoint to "Off" will prevent it from appearing on the endpoints overview screen and from affecting the dashboard.
32
32
33
-
NOTE: This is a configuration setting only and the endpoint itself may still be configured to send heartbeat messages.
33
+
> [!NOTE]
34
+
> This is a configuration setting only and the endpoint itself may still be configured to send heartbeat messages.
34
35
35
36
## Removing endpoints
36
37
37
38
When an endpoint has been decommissioned and should no longer be displayed in ServicePulse it can be removed. From the Endpoint Heartbeats screen, click the trash bin icon next to an endpoint's name to remove it from ServicePulse. The trash icon is only visible when displaying endpoint instances. It is not shown when displaying logical endpoints.
38
39
39
-
NOTE: This feature requires ServicePulse version 1.23 or higher and ServiceControl version 4.4 or higher.
40
+
> [!NOTE]
41
+
> This feature requires ServicePulse version 1.23 or higher and ServiceControl version 4.4 or higher.
Copy file name to clipboardExpand all lines: monitoring/heartbeats/index.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,8 @@ redirects:
13
13
14
14
The Heartbeat plugin enables endpoint health monitoring by sending regular heartbeat messages from the endpoint to a ServiceControl instance. The ServiceControl instance keeps track of which endpoint instances are sending heartbeats and which ones are not.
15
15
16
-
NOTE: Even if an endpoint is able to send heartbeat messages, other failures may occur within the endpoint and its host that prevent it from performing as expected. For example, the endpoint may not be able to process incoming messages, or it may be able to send messages to the ServiceControl queue but not to another queue. [Performance metrics](/monitoring/metrics/) can be used to monitor the processing of messages within an endpoint.
16
+
> [!NOTE]
17
+
> Even if an endpoint is able to send heartbeat messages, other failures may occur within the endpoint and its host that prevent it from performing as expected. For example, the endpoint may not be able to process incoming messages, or it may be able to send messages to the ServiceControl queue but not to another queue. [Performance metrics](/monitoring/metrics/) can be used to monitor the processing of messages within an endpoint.
0 commit comments