The releases are available for solutions based on both CMS versions 8 and 9, and are functionally equivalent. As such if you are using one of both of the products in Umbraco 8, you can update to the release candidate for Forms 8.8 and Deploy 4.4. If you’ve started projects with Umbraco 9 running on .NET 5, version 9.1 of both products is available.
As with previous releases of the products we are issuing them first as release candidates so you can evaluate what’s included and ideally try them out on your existing solutions. Of course, if you do find any issues, or simply have comments for further improvement on the new features, we welcome any feedback.
How to get access to the new versions and where to submit any comments and report issues is discussed at the bottom of the post. Firstly though, let’s have a look at what you can expect.
What’s new in Umbraco Forms 8.9/9.1?
With the release, there’s not so much one big headline feature more a number of smaller improvements, both in features and bug fixes, that collectively adds to the continual enhancement of the product.
Page Based Conditions
Umbraco Forms has for some time offered the ability to construct forms based on conditions that vary based on information previously entered. So for example you can show or hide particular questions, or groups of questions (fieldsets), based on information already submitted.
We’ve extended this now to apply at the level of the whole form, or to a page of a form where multi-page forms are constructed. Specifically, this means you can show or hide the Submit or Next/Previous buttons based on the information supplied, ensuring that the entry so far is complete before accepting it or allowing the user to move onto the next page.
Send Form Details in Workflow
When integrating form submissions with external systems a common method to employ is the built-in “Post to URL” workflow. This workflow, when attached to a form, allows an editor to map the fields to a JSON structure that can then be posted to an external URL or webhook.
With this release, we’ve added the ability to also include details of the form as well as the entry in the sent information - including the form ID, form name, date of submission, and the URL of the page where the form was hosted.
This can be particularly useful if you have multiple forms, all posting information to the same URL, as you now have a way to more easily distinguish which form the submission came from.
Download Files By Entry
When forms contain file upload functionality, the details and a link to the uploaded files are available in the back-office when reviewing entries. You can also download the entries in spreadsheet format, accompanied by a zip archive containing the files.
It’s currently not easy though to match up which file goes with which entry, but we’ve improved the situation now, by including the entry’s identifier to the spreadsheet download and adding a new option for downloading the files where they are structured in folders based on this entry identifier, rather than in the raw structure in which they are stored on the web server’s disk.
We’ve had some very useful feedback recently on some improvements the Umbraco Forms products could offer in terms of accessibility, that we’ve started to work through implementing. The first of these is ensuring that the first field with a validation error is given the focus when the issue is reported to the user.
The other updates included in the release are as follows:
- Fixed null reference exception when deleting records within workflows.
- Fixed issue where check-boxes are used in conditions.
- Added missing custom CMS class to text field template.
- Show list of licensed domains in the backoffice.
- Restored behaviour of excluding scripts when rendering forms to only do so when explicitly requested to.
- Added a new event to support hooking into form entry display in the back-office.
- Ensured when forms are created from templates that they have unique page, fieldset and field Ids.
- Fixed issue with saving of forms with sensitive data by editors not in the sensitive data user group.
- Removed display of fields in email template that have no expected user input.
- Amended the “-ing” events (e.g. “Saving”) to be cancellable and allow changes to the object being saved.
- Added a field type property to hide the mandatory option where it’s not appropriate (i.e. where there’s no expected user input).
- Ensured consistent ordering of setting fields (V9 only)
- Avoid clash of constants in field type views
And Deploy 4.4/9.1?
Similarly for Umbraco Deploy, we’ve included a selection of small features and resolution of issues in this latest release.
Restore of a Single Tree
The current version of Umbraco Deploy, available both on-premises and in Umbraco Cloud, offers two options for restoring content from an upstream environment. You can either do a full restore of the whole workspace - content, media, forms, and perhaps other entities - or a partial restore of a single node, optionally including its descendents.
We’ve realised though there can be some confusion with what happens when you trigger a full restore, and that there’s value in an option in-between the two currently available. Hence we’ve introduced “Tree Restore” (and renamed “Full Restore” to “Workspace Restore” to better identify it).
Using this you can now for example restore all your content only. This will restore any media that’s referenced in that content, but it won’t attempt to restore the full media library.
Handling Broken Dependencies
When Umbraco Deploy attempts to transfer an item between two environments, it first does some checks that any dependent items either exist or can also be sent to the target environment. For example, if a content item references a media item that doesn’t exist, or is in the recycle bin, the operation does not complete.
In recent releases we’ve improved the messaging here, allowing for all issues to be reported and fixed at once. The issues still need to be resolved though before the operation can be attempted again - unless you get a configuration option to ignore such broken dependencies.
Although you almost certainly won’t want to do this when pushing to an upstream environment such as production, it may well be something you don’t care about too much when restoring down into a local or test environment. As such we’ve introduced further configuration options to support this scenario and documented them here.
The other updates included in the release are as follows:
- Removed the redundant and misleading deploy operations available on the form “entries” menu item.
- Fixed issue with operations involving Form prevalue sources using XPath.
- Fixed issue with restore options when Forms 8.8 is used with form definitions stored on disk.
- Improved reliability of extractions triggered from Umbraco Cloud git deployment operations by introducing a new marker file used only on start-up.
- Fixed issues with styling and scripts on the custom “no content” page displayed when Deploy is used.
- Fixed issue with language deployment when fallbacks are configured.
- Improved the error reporting when authorization fails between environments (V9 only).
How to test
You can either create a new installation using one or both of these packages that are available from the links below or upgrade an existing project. Both scenarios can provide valuable feedback. If upgrading, you may find you need to bump your client-dependency version.
If you find anything in the release candidates that are not working as you’d expect, we’d be grateful for feedback on the Github issue trackers for Forms and Deploy. You’re welcome to add comments to the features and fixes listed linked above or to submit new bug reports (click New Issue and select Bug Report), please prefix the issue with 8.9RC or 9.1RC (for Forms) and 4.4RC or 9.1RC (for Deploy):
How to get your hands on the release candidates
For Forms, release notes can be found on our.umbraco.com download page where there’s also a download available for Umbraco 8. The release candidates are also available from the appropriate NuGet feed:
For Deploy, the release notes can be found on the our.umbraco.com download page.
Installation is via NuGet:
If you are using Umbraco Cloud and happy to run some tests there, please reach out to Umbraco support and we can make available the files for update.
When is the public release?
We’re aiming for a full public release on Tuesday, November 16th, 2021, when the packages will be available for upgrade on Umbraco Cloud, via Nuget and/or the download page.
A big H5YR 🙌 to everyone who has contributed to these releases by highlighting pain points, reporting issues, providing feedback, and suggesting solutions. And thanks to everyone willing to lend a hand in testing it out.
Bug reports are best handled on the issue tracker and as always, we welcome you to submit product feedback and questions to firstname.lastname@example.org.