Workflow Retry
Having reviewed the audit and discovering a workflow hasn't run, it would be nice to be able to do something about it. Fortunately, now you can.
For any workflows that did not complete successfully, a "Retry" link is available to trigger the workflow again. This is useful for example if there was a temporary infrastructure issue that perhaps prevented an email from going out. You would be able to retrigger the workflow once the issue is resolved.
Customizing Default Workflows
When a new, empty form is created, by default a workflow is added that sends an email containing the form submission to the address of the editor that creates the form. This can be a useful function and serves to make editors aware of the workflow functionality, but it may not be necessary for all setups.
Previously this logic was hard-coded, but we've now moved it into a behavior defined by an interface which means there's a seam for customization for the needs of a particular solution. If you require different functionality, then creating a custom implementation of this interface and swapping out the default one, will allow this. Documentation for this feature is here.
As part of that customization, you may also want to make certain workflows mandatory. This is possible now too, and if set, an editor won't be able to remove the workflow from the form. See details in the documentation.
Conditions for Workflows
Umbraco Forms has support for conditional fields when constructing forms, which allows certain fields to be shown or hidden based on the status of other fields. For example, you can show a text box when a user selects "Other" from a drop-down list. Conditions are also available for whole field sets and the buttons on multi-page forms used for navigating forward and back.
With this release, we've extended the same functionality to workflows. By applying a condition to a workflow, it can be set to run or be ignored depending on the values submitted by the user with the form entry.
Redirect from Workflows
When creating a form an editor has the option to either display a message or redirect to another Umbraco page following the form submission. We had a requirement though for an integration with a payment provider, that needed to redirect from a custom workflow to an external URL (that hosted a payment page).
Redirecting from a custom workflow can be carried out by issuing a redirect statement on the response object, but it's a rather blunt technique, short-circuiting the normal operation of workflows. For example, any workflows configured to run after the custom one would be skipped.
Instead, we've provided a method where a value can be set on the HttpContext's Items dictionary, that will be used to redirect once the form processing and all workflows are complete. Documentation for this feature can be found here.
Folder-Based Form Picker
In a recent release of Umbraco Forms, we added the ability for editors to organize forms into folders. We then subsequently utilized that feature in the permissions model, so certain editors can be restricted to only be able to manage and select forms from within a folder.
With this release, we've implemented what will hopefully be the final requirement related to this feature, which is to extend the form picker to allow selection of forms via the folder structure. This should be a useful enhancement for editors, particularly for installations with many forms available for selection.