Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Umbraco Workflow is a licensed product that does not require a purchase. New installations default to a trial license while the paid license is available for purchase.
You can look at the pricing, plans, and features on the Umbraco Workflow page. If you want to buy an Umbraco Workflow license, reach out to the sales team at suits@umbraco.com. Existing Plumber license holders who wish to upgrade to Umbraco Workflow should contact suits@umbraco.com.
Once you have received your license code it needs to be installed on your site.
Open the root directory for your project files.
Locate and open the appSettings.json
file.
Add your Umbraco Workflow license key to Umbraco:Licenses:Umbraco.Workflow
:
You can verify that your license is successfully installed by logging into your project's backoffice and navigating to the settings section. Here you will see a licenses dashboard which should display the status of your license.
UmbracoApplicationUrl
The website domain used for validating the license is determined from your Umbraco instance. To ensure the correct one is used, you can configure the UmbracoApplicationUrl
.
If you are running on a single domain for both your frontend and backend environments, it's not necessary to configure a UmbracoApplicationUrl
.
If you have different domains for your frontend and backend, then it's advised that you configure an UmbracoApplicationUrl
set to your backoffice URL. This helps the licensing engine know which URL should be used for validation checks. Without this configuration setting, the licensing engine will try and work out the domain to validate from the HTTP request object. This can lead to errors when switching between domains.
An UmbracoApplicationUrl
can be configured in your appSettings.json
file like so:
See the Fixed Application URL documentation for more details about this setting.
UmbracoApplicationUrl
on Umbraco CloudIf you are hosting on Umbraco Cloud you will find the configuration described above won't be reflected in your environment. The reason for this is that Umbraco Cloud sets this value as an environment variable set to the Cloud project domain (<your project>.umbraco.io
). This overrides what is set via the appSettings.json
file.
There are two options in this case:
Either the domains for each of your Cloud environments can be added to your license.
Or, for more control and to ensure this value is set correctly for other reasons, you can apply the configuration via code.
For example, in your Program.cs
file:
In practice, you will probably want to make this a bit more sophisticated. You can read the value from another configuration key, removing the need to hard-code it and have it set as appropriate in different environments. You can also move this code into a composer or an extension method if you prefer not to clutter up the Program.cs
file.
The trial license introduces some restrictions around advanced features but is otherwise a full-featured workflow platform. The paid license is valid for one top-level domain and all its subdomains.
You can find which features are included in the trial versus the paid license in the Umbraco Workflow page.
To impersonate the full license on a local site, set EnableTestLicense
to true
in the appSettings.json
file:
The test license is restricted to sites running in a development environment with a debugger attached. Hit F5 in Visual Studio, in Debug mode to enable the test license.
Some Umbraco installations will have a highly locked down production environment, with firewall rules that prevent outgoing HTTP requests. This will interfere with the normal process of license validation.
On start-up, and periodically whilst Umbraco is running, the license component used by Umbraco Workflow will make an HTTP POST request to https://license-validation.umbraco.com/api/ValidateLicense
.
If it's possible to do so, the firewall rules should be adjusted to allow this request.
If such a change is not feasible, there is another approach you can use.
You will need to have a server, or serverless function, that is running and can make a request to the online license validation service. That needs to run on a daily schedule, making a request and relaying it onto the restricted Umbraco environment.
To set this up, firstly ensure you have a reference to Umbraco.Licenses
version 13.1 or higher. If the version of Workflow you are using depends on an earlier version, you can add a direct package reference for Umbraco.Licenses
.
Then configure a random string as an authorization key in configuration. This is used as protection to ensure only valid requests are handled. You can also disable the normal regular license checks - as there is no point in these running if they will be blocked:
Your Internet enabled server should make a request of the following form to the online license validation service:
The response should be relayed exactly via an HTTP request to your restricted Umbraco environment:
A header with a key of X-AUTH-KEY
and value of the authorization key you have configured should be provided.
This will trigger the same processes that occur when the normal scheduled validation completes ensuring your product is considered licensed.
Get an overview of the changes and fixes in each version of Umbraco Workflow.
In this section, we have summarized the changes to Umbraco Workflow that were released in each version. Each version is presented with a link to the Workflow issue tracker showing a list of issues resolved in the release. We also link to the individual issues themselves from the detail.
If there are any breaking changes or other issues to be aware of when upgrading they are also noted here.
Check the Version Specific Upgrade Notes article for breaking changes when upgrading to a new major version.
This section contains the release notes for Umbraco Workflow 15 including all changes for this version.
Compatibility with Umbraco 15
You can find the release notes for versions out of support in the Legacy documentation on Github
In this article, we will cover the steps required to install Umbraco Workflow on your website.
There are different ways to install Umbraco Workflow:
To install the Umbraco Workflow package (Umbraco.Workflow), follow these steps:
Run the following command to add a package reference to your Umbraco project:
Restart the web application using the following command:
To install via Visual Studio, follow these steps:
Open your project in Visual Studio.
Go to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution....
Browse for Umbraco.Workflow.
Select the appropriate version from the Version drop-down depending on the Umbraco version you are using.
Click Install.
Once the package is installed, open the .csproj file to make sure the package reference is added:
To test-drive Umbraco Workflow consider installing the Umbraco.Workflow.DataGenerator package.
Once the installation is completed, you will see the following in the Umbraco Backoffice:
Documentation on how to work with Umbraco Workflow in just a few steps
This is the documentation for the Umbraco Workflow 15 Release Candidate.
This version of the Umbraco Workflow documentation is currently slimmed down to contain only new and updated material related to the upcoming release.
Due to the above, some links might reference the GitHub file instead of the GitBook article.
Umbraco Workflow allows the creation of multi-stage approval workflows when writing and publishing content. Umbraco Workflow extends Umbraco's out-of-the-box publishing model with multi-stage and configurable approval workflows. A workflow process comprises multiple steps and multiple users assigned to the group responsible for providing approval at each step.
Learn more or purchase Umbraco Workflow to get all the features and support.
This article shows how to manually upgrade Umbraco Workflow to run the latest version. Umbraco Workflow displays a prompt in the Workflow section when a new version is available.
If you are migrating from Plumber to Umbraco Workflow, see the Migrate from Plumber to Workflow article.
To get the latest version of Umbraco Workflow, you can upgrade using either of the two options:
NuGet installs the latest version of the package when you use the dotnet add package Umbraco.Workflow
command unless you specify a package version:
dotnet add package Umbraco.Workflow --version <VERSION>
Run dotnet restore
to install the package.
Go to Tools
-> NuGet Package Manager
-> Manage NuGet Packages for Solution...
in Visual Studio, to upgrade Umbraco Workflow:
Select Umbraco.Workflow.
Select the latest version from the Version drop-down and click Install.
Open the .csproj file to make sure the package reference is updated:
Umbraco Workflow has its default Dashboards. By default, when you install Umbraco Workflow, you receive two Dashboards: the User Dashboard and the Admin Dashboard. Additionally, Umbraco Workflow replaces the default Umbraco button set in the editor drawer.
Umbraco Workflow adds two Dashboards to your Umbraco project:
User Dashboard - This Workflow Dashboard is added in the Content section. It displays the tasks requiring approval from the user, current user’s submissions, and stale content (content that needs to be reviewed).
Admin Dashboard - This Workflow Dashboard is the default view in the Workflow section. It displays a chart of recent workflow activity, chart of content review activity, licensing details, and any relevant upgrade-related messages. You can also view the workflow and content review activity chart for the specified range of days.
When a workflow is active on the current node, the Publish button is replaced, linking to the workflow content app.
When no workflow is active, the button state is determined by the current user's permissions.
Umbraco Workflow overrides Umbraco's User/Group publishing permissions. If the user has permission to update the node, they will be able to initiate a workflow process on that node. Umbraco Workflow shifts Umbraco from a centrally administered publishing model (controlled by a site administrator) to a distributed model. In this model, editors publish content based on their responsibilities assigned during the workflows.
In cases, where the content is already in a workflow, a notification is displayed at the top of the editor. Depending on the Workflow Settings, you can enable/disable editing access on a content node in a workflow.
For nodes where the workflow has been disabled, the default Umbraco options are displayed.
Version specific documentation for upgrading to new major versions of Umbraco Workflow.
This page covers specific upgrade documentation for when migrating to Umbraco Workflow version 14.
If you are upgrading to a new minor or patch version, you can find information about the breaking changes in the article.
Version 14 of Umbraco Workflow has a minimum dependency on Umbraco CMS core of 14.1.0
. It runs on .NET 8.
Version 14 contains a number of breaking changes, primarily due to the new backoffice introduced in Umbraco 14. The details are listed here:
A new management API has been introduced at umbraco/workflow/management/api
Umbraco CMS dependency was updated to 14.1.0
Workflow 14 includes a non-trivial number of breaking code changes, primarily related to namespace changes. The majority of these related to removing the Implement
namespace for services, and moving appropriate models to Umbraco.Workflow.Core.ViewModels
or Umbraco.Workflow.Core.Interfaces
.
The serialization library has been changed from Newtonsoft.Json
to System.Text.Json
.
Approval group identifiers changes from int to Guid.
Workflow instance author identifier changes from int to Guid.
Workflow task indentifiers for approving user, assigned user and actioning user change from int to Guid.
Services return Attempt<TResult>
or Attempt<TResult, TStatus>
, in line with similar changes in the CMS.
The Workflow section provides an administrator view Workflow Dashboard. It displays a chart of recent workflow activity, chart of content review activity, licensing details, and any relevant upgrade-related messages. You can also view the workflow and content review activity chart for the specified range of days.
You can find the version specific upgrade notes for versions out of support in the .
Advanced Search further expands Workflow's functionality outside its original content-approval focus, adding a new dashboard for performing deep searches of your website content.
The Advanced Search dashboard is added in the content section for all users.
Advanced Search allows searching any number of content types, optionally filtered to a subset of variants. The search can be performed across all indexed fields, a subset of fields, or all fields using a particular Data Type or Property Editor.
You can do an approximate Search using Lucene's default similarity measurement algorithm.
The search types are described below:
All properties: Searches for a single value across all indexed fields for the selected content types.
Some properties: Searches the selected properties. A different search term can be provided for each selected property.
Single property: Searches for a single value in the selected property.
Data Type: Searches for a single value in all fields where the indexed property uses the selected Data Type (for example, all Textstring type).
Property Editor: Searches for a single value in all fields where the indexed property uses the selected Property Editor (for example, all types using the Umbraco.TextBox editor).
Searches can be further refined by restricting results to particular editors, created, or updated date ranges.
The additional fields are all optional.
Results are displayed in a familiar format, linking to nodes in an infinite editors, which allows users to retain their search results.
Search results include published, unpublished and trashed content, and are filtered according to the current user's content start node(s).
The Umbraco Workflow DataGenerator tool is an extension package for quickly generating Umbraco users and Workflow approval groups and permissions.
The generator gets you up and running for testing or product evaluation without having to manually create any Workflow configuration.
The package must only be installed into an empty Umbraco application.
To install the Umbraco Workflow DataGenerator package (Umbraco.Workflow.DataGenerator), follow these steps:
Update appSettings.development.json to enable the Workflow test license. This removes limits on group creation, and enables all features:
Run the following command to add the required package references to your Umbraco project:
Restart the web application using the following command:
When the application restarts, it will automatically install The Starter Kit.
The package adds an additional view in the Workflow settings, which provides controls for the data generation task.
The available settings are explained below.
Number of approval groups - determines how many Workflow approval groups will be created. Defaults to two.
Number of users - determines how many Umbraco users will be created. Defaults to two.
Number of groups per workflow - determines how the created groups are allocated into the generated workflows. Defaults to 0, which allocates a random number of groups to each workflow.
Number of users per group - determines how the created users are allocated into the generated workflow approval groups. Defaults to 0, which allocates a random number of users to each approval group.
When the generator task completes, you will be prompted to take a Workflow tour. The tours can be resumed at any time from the Data generation view.
Groups and users are created with arbitrary names, feel free to rename these to suit.
Once Workflow configuration has been updated, the environment must be reset before regenerating. Resetting cancels all active workflows and deletes all workflow configuration. Umbraco users are not deleted, but will be reused in future data generation actions.