Skip to content

Commit 32c452f

Browse files
authored
Merge pull request #6570 from nathanwoulfe/workflow-content-locks
Workflow release notes - 13.3.0, 14.1.0
2 parents 2d788c5 + b6c3689 commit 32c452f

File tree

5 files changed

+64
-12
lines changed

5 files changed

+64
-12
lines changed

13/umbraco-workflow/getting-started/configuration.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,24 @@ All Workflow configuration is optional and will fallback to defaults, if not set
3434
{
3535
"Workflow": {
3636
"ReminderNotificationPeriod": Timespan.FromHours(8),
37+
"ActionNotificationPeriod": Timespance.FromMinutes(5),
3738
"EnableTestLicense": false,
3839
"EmailTemplatePath": "~/Views/Partials/WorkflowEmails",
39-
"SettingsCustomization”: {...}
40+
"SettingsCustomization": {...},
41+
"HistoryCleanupPolicy": {...}
4042
}
43+
}
4144
```
4245

4346
### Workflow Configuration
4447

4548
#### ReminderNotificationPeriod
4649

47-
A `TimeSpan` representing the period between checking for, and sending, reminder notifications for overdue workflows. This setting is used in conjunction with `ReminderDelay` to determine if a workflow is overdue.
50+
A `string` that represents the period between checking for, and sending, reminder notifications for overdue workflows. This setting is used in conjunction with `ReminderDelay` to determine if a workflow is overdue. The default value is eight hours. The permitted value is a `TimeSpan`-parseable string, for example, `0.00.01:00` for one minute.
51+
52+
#### ActionNotificationPeriod
53+
54+
A `string` that represents the period between checking for and sending action notifications for active workflows. The default value is five minutes. The permitted value is a `TimeSpan`-parseable string, for example, `0.00.01:00` for one minute.
4855

4956
#### EnableTestLicense
5057

@@ -98,6 +105,7 @@ All available `SettingsCustomization` options are illustrated below along with t
98105
"ConfigureApprovalThreshold": bool,
99106
"RejectionResetsApprovals": bool,
100107
"LockIfActive": bool,
108+
"ScheduledContentLock": 0|1|2 matching the ScheduledLockMode enum values,
101109
"MandatoryComments": bool,
102110
"AllowAttachments": bool,
103111
"AllowScheduling": bool,
@@ -123,9 +131,8 @@ All available `SettingsCustomization` options are illustrated below along with t
123131
}
124132
}
125133
```
126-
127134
{% hint style="info" %}
128-
These are complex types and are not recommended to have values set from Configuration. Instead, these values can be set from the BackOffice to hidden or read-only to prevent further changes.
135+
These are complex types and having values set from Configuration is not recommended. Instead, these values can be set to hidden or read-only from the backoffice to prevent further changes.
129136
{% endhint %}
130137

131138
### General
@@ -162,6 +169,16 @@ When true, and ApprovalThreshold is Most or All, rejecting a task resets progres
162169

163170
When true, prevents editing content where the node is in an active workflow. When false, content can be edited at any stage of a workflow.
164171

172+
#### ScheduledContentLock (int)
173+
174+
Sets the scheduled content lock to one of None (0), Workflow (1), or All (2):
175+
176+
| Value | Name | Description |
177+
| ------------- | -------- | -------------------------------------------------|
178+
| 0 (_default_) | None | Scheduled content is not locked |
179+
| 1 | Workflow | Content scheduled via Workflow can not be edited |
180+
| 2 | All | All scheduled content can not be edited |
181+
165182
#### MandatoryComments (bool)
166183

167184
When true (default), comments are required when approving a workflow task. When false, comments are optional when approving a workflow task. Comments are always required when submitting changes for approval.

13/umbraco-workflow/release-notes.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,16 @@ Check the [Version Specific Upgrade Notes](upgrading/version-specific.md) articl
1717

1818
This section contains the release notes for Umbraco Workflow 13 including all changes for this version.
1919

20+
### [13.3.0](https://github.com/umbraco/Umbraco.Workflow.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.3.0) (October 23 2024 )
21+
* Adds scheduled content locking feature. Documents can be made readonly until the scheduled release date passes, to ensure approved content is not modified without workflow approval. [#84](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/84)
22+
* Adds support for content segments. Segment names are displayed when requesting approval and in workflow history [#60](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/60)
23+
* Adds support for Arabic.
24+
* Improves UI in workflow detail overlay. Reduces the number of elements and shifts appropriate data points into tag elements.
25+
* Adds email queue for thread-safe email notifications. Emails are now processed in the hosted service, via a first-in first-out queue. This resolves a reported issue where sending large numbers of emails could result in data reader errors. [#85](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/85)
26+
2027
### [13.2.1](https://github.com/umbraco/Umbraco.Workflow.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.2.1) (October 3 2024)
2128
* Ensure scheduling information is displayed in workflow history [#82](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/82)
22-
* Fixes an issue where dates were not correctly localised for scheduled workflows [#81](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/81)
29+
* Fixes an issue where dates were not correctly localized for scheduled workflows [#81](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/81)
2330
* Fixes an issue where scheduled workflows did not apply the release/expire date if the content node was already scheduled [#81](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/80)
2431
* Ensure converting integers to strings uses the invariant culture to avoid unexpected formatting
2532

13/umbraco-workflow/workflow-section/workflow-settings.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,21 @@ You can configure the **General** Settings from the **Workflow** section in the
1919

2020
* **Flow type** - Determines the approval flow progress. These options manage how the Change Author is included in the workflow:
2121
* **Explicit** - All steps of the workflow must be completed and all users will be notified of tasks (including the Change Author).
22-
* **Implicit** - All steps where the original Change Author is _not_ a member of the group must be completed. Steps where the original Change Author is a member of the approving group will be completed automatically and noted in the workflow history as not required.
22+
* **Implicit** - All steps where the original Change Author is _not_ a member of the group must be completed. Steps, where the original Change Author is a member of the approving group, will be completed automatically and noted in the workflow history as not required.
2323
* **Exclude** - Similar to Explicit. All steps must be completed but the original Change Author is not included in the notifications or shown in the dashboard tasks.
2424
* **Approval threshold** - Sets the global approval threshold to One, Most or All:
2525
* **One** - Pending task requires approval from any member of the assigned approval group. This is the default behavior for all installations (trial and licensed).
26-
* **Most** - Pending task requires an absolute majority of group members. For example, a group with three members requires two approvals and a group with four members requires three approvals.
26+
* **Most** - Pending tasks require an absolute majority of group members. For example, a group with three members requires two approvals and a group with four members requires three approvals.
2727
* **All** - Pending task requires approval from all group members.
2828
* **Rejection resets approvals** - When true, and the approval threshold is Most or All, rejecting a task resets the previous approvals for the workflow stage.
2929
* **Allow configuring approval threshold** - Enables setting the approval threshold for any stage of a workflow (on a content node or Document Type).
3030
* **Lock active content** - Determines how the content in a workflow should be managed. Set to `true` or `false` depending on whether the approval group responsible for the active workflow step should make modifications to the content. Content is locked after the first approval in the workflow - until then, the content can be edited as normal.
31+
* **Lock scheduled content** - When not None, prevents edits to content with a scheduled release date:
32+
* **None** - Disables scheduled content locking
33+
* **Workflow** - Prevent editing scheduled content when scheduling was approved via Workflow
34+
* **All** - Prevents editing all scheduled content
3135
* **Administrators can edit** - Set to true to allow administrators to edit content at any stage of the workflow, ensuring flexibility and control over the content approval process.
32-
* **Mandatory comments** - Set to true to require comments when approving workflows. Comments are always required when submitting changes for approval, and are always optional for admin users.
36+
* **Mandatory comments** - Set to true to require comments when approving workflows. Comments are always required when submitting changes for approval and are always optional for admin users.
3337
* **Allow attachments** - Provide an attachment (such as a supporting document or enable referencing a media item) when initiating a workflow. This feature is useful when a workflow requires supporting documentation.
3438
* **Allow scheduling** - Provides an option to select a scheduled date when initiating a workflow.
3539
* **Use workflow for unpublish** - Determines if unpublish actions require workflow approval. Set to true to display the **Action** option when submitting the content for approval.
@@ -165,7 +169,7 @@ Umbraco Workflow provides **Settings** for determining who receives emails at wh
165169
Duplicate users are removed from email notifications.
166170
{% endhint %}
167171

168-
By default, all emails are sent to the **Group**. This might not always be an ideal situation. For example: cancelled workflows would be best sent to the **Author** only, likewise with rejected.
172+
By default, all emails are sent to the **Group**. This might not always be an ideal situation. For example: canceled workflows would be best sent to the **Author** only, likewise with rejected.
169173

170174
It might be useful to notify **All** the participants of completed workflows but even this may be excessive. Depending on your website, you can adjust the best configuration.
171175

14/umbraco-workflow/getting-started/configuration.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ All Workflow configuration is optional and will fallback to defaults, if not set
3434
{
3535
"Workflow": {
3636
"ReminderNotificationPeriod": Timespan.FromHours(8),
37+
"ActionNotificationPeriod": Timespance.FromMinutes(5),
3738
"EnableTestLicense": false,
3839
"EmailTemplatePath": "~/Views/Partials/WorkflowEmails",
3940
"DateFormats": {
@@ -51,7 +52,11 @@ All Workflow configuration is optional and will fallback to defaults, if not set
5152

5253
#### ReminderNotificationPeriod
5354

54-
A `TimeSpan` representing the period between checking for, and sending, reminder notifications for overdue workflows. This setting is used in conjunction with `ReminderDelay` to determine if a workflow is overdue.
55+
A `string` that represents the period between checking for, and sending, reminder notifications for overdue workflows. This setting is used in conjunction with `ReminderDelay` to determine if a workflow is overdue. The default value is eight hours. The permitted value is a `TimeSpan`-parseable string, for example, `0.00.01:00` for one minute.
56+
57+
#### ActionNotificationPeriod
58+
59+
A `string` that represents the period between checking for and sending action notifications for active workflows. The default value is five minutes. The permitted value is a `TimeSpan`-parseable string, for example, `0.00.01:00` for one minute.
5560

5661
#### EnableTestLicense
5762

@@ -109,6 +114,7 @@ All available `SettingsCustomization` options are illustrated below along with t
109114
"ConfigureApprovalThreshold": bool,
110115
"RejectionResetsApprovals": bool,
111116
"LockIfActive": bool,
117+
"ScheduledContentLock": 0|1|2 matching the ScheduledLockMode enum values,
112118
"MandatoryComments": bool,
113119
"AllowAttachments": bool,
114120
"AllowScheduling": bool,
@@ -136,7 +142,7 @@ All available `SettingsCustomization` options are illustrated below along with t
136142
```
137143

138144
{% hint style="info" %}
139-
These are complex types and are not recommended to have values set from Configuration. Instead, these values can be set from the BackOffice to hidden or read-only to prevent further changes.
145+
These are complex types and having values set from Configuration is not recommended. Instead, these values can be set to hidden or read-only from the backoffice to prevent further changes.
140146
{% endhint %}
141147

142148
### General
@@ -173,6 +179,16 @@ When true, and ApprovalThreshold is Most or All, rejecting a task resets progres
173179

174180
When true, prevents editing content where the node is in an active workflow. When false, content can be edited at any stage of a workflow.
175181

182+
#### ScheduledContentLock (int)
183+
184+
Sets the scheduled content lock to one of None (0), Workflow (1), or All (2):
185+
186+
| Value | Name | Description |
187+
| ------------- | -------- | -------------------------------------------------|
188+
| 0 (_default_) | None | Scheduled content is not locked |
189+
| 1 | Workflow | Content scheduled via Workflow can not be edited |
190+
| 2 | All | All scheduled content can not be edited
191+
176192
#### MandatoryComments (bool)
177193

178194
When true (default), comments are required when approving a workflow task. When false, comments are optional when approving a workflow task. Comments are always required when submitting changes for approval.

14/umbraco-workflow/release-notes.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,17 @@ Check the [Version Specific Upgrade Notes](upgrading/version-specific.md) articl
1717

1818
This section contains the release notes for Umbraco Workflow 14 including all changes for this version.
1919

20+
### [14.1.0](https://github.com/umbraco/Umbraco.Workflow.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.1.0) (October 23 2024 )
21+
* Adds scheduled content locking feature. Documents can be made readonly until the scheduled release date passes, to ensure approved content is not modified without workflow approval. [#84](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/84)
22+
* Adds support for readonly mode when a document is pending workflow approval. Along with the scheduled content lock, this feature requires Umbraco 14.3.0, which is now the minumum version dependency for Umbraco Workflow v14.
23+
* Adds support for content segments. Segment names are displayed when requesting approval and in workflow history [#60](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/60)
24+
* Adds support for Arabic.
25+
* Improves UI in workflow detail overlay. Reduces the number of elements and shifts appropriate data points into tag elements.
26+
* Adds email queue for thread-safe email notifications. Emails are now processed in the hosted service, via a first-in first-out queue. This resolves a reported issue where sending large numbers of emails could result in data reader errors. [#85](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/85)
27+
2028
### [14.0.3](https://github.com/umbraco/Umbraco.Workflow.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F14.0.3) (October 3 2024)
2129
* Ensure scheduling information is displayed in workflow history [#82](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/82)
22-
* Fixes an issue where dates were not correctly localised for scheduled workflows [#81](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/81)
30+
* Fixes an issue where dates were not correctly localized for scheduled workflows [#81](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/81)
2331
* Fixes an issue where scheduled workflows did not apply the release/expire date if the content node was already scheduled [#81](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/80)
2432
* Ensure converting integers to strings uses the invariant culture to avoid unexpected formatting
2533
* Fixes an issue related to sending notification emails in sites with a large number of workflow groups [#79](https://github.com/umbraco/Umbraco.Workflow.Issues/issues/79)

0 commit comments

Comments
 (0)