We released a minor upgrade to Forms back in April and since then have made available several further patch updates fixing various, some long standing, bugs. With Deploy, minor updates came in 4.1 to support the “on-premises” release, and similarly there have been patch releases for issue resolution.
Over the past few weeks though we’ve prepared some further updates for both products, that contain new features and thus justify a minor release. And, as we did last time, we’d like to make that available first as a release candidate, for anyone wanting to take an early look at the new features, and, if you’re willing to help, to let us know if you find any issues.
What’s new in Umbraco Forms 8.8?
Forms in Folders
Probably the headline feature for the Forms release is the ability to organise your forms into folders. This has been a feature request for some time, and we expect it will be of great help to your editors on installations where a number of different forms are being managed.
The feature is only available for installations that have been upgraded to store forms definitions in the database, and it’ll be a later release where we’ll look to add user permissions by folder, but even this first iteration we hope will be appreciated by editors used to scrolling through a long list.
When installed, and with form definitions configured for database storage, you’ll be able to create nested groups of folders in the back-office, add new forms within folders and carry out other expected operations like rename, move, copy and delete.
The main reason why we have a synchronised Deploy release is to add support also for deploying of folders, and forms in folders, between environments on Cloud or when using Deploy On-Premises. You should find the Deploy upgrade will work with older versions of Forms (for all latest patches back to 8.1), but if you want to use and deploy the new folders functionality, you’ll need to ensure you also have the latest version of Deploy.
Post/Redirect/Get for Form Submissions
This is a subtle one, but with the updated Forms you’ll find that whether you configure a destination page or a message to be displayed after a form submission, in either case a full redirect will be issued and the page re-displayed.
By doing this we avoid various issues around re-submitted forms and handle edge cases around validation and form submission when there is more than one form on a page.
Form Rendering Options
We’ve also added a few features that provide greater flexibility when rendering forms to your visitors.
Firstly, it’s possible now to configure a default theme, other than the out of the box one. So if you have your own default to use when editors don’t explicitly select a theme, you can configure it to fall back to that.
For many field types we’ve added control over whether the labels are displayed, so your editors can choose to include or exclude them as appropriate.
Autocomplete attributes can be added both to forms and fields, and a default attribute for new forms configured.
Conditional Field Handling
This is another small one, though in testing we found a few edge cases to handle, so if anyone is heavily using conditions on their forms and can check this one, it would be particularly appreciated. The issue resolved is that in a situation where a conditional field is revealed, entered and then hidden by changing the value of the original field that caused it to be shown - it still gets recorded. Really it shouldn’t, as although the user has completed the field, it wasn’t visible when they submitted the form.
To resolve this we now re-check the conditions server-side before submitting the form, and only include the visible field entries.
The other updates included in the release are as follows:
- Back-office UX for workflows tidy-up.
- Improvements and bug-fixes to the “Umbraco Documents” prevalue source.
- Addition of “busy” indicators for export and data update operations.
- Added a back-office link to the content page from where a form was submitted in the entry details.
- Fixed CMS CSS incompatibility for icons.
- Improved styling of form preview when rendered in a back-office grid editor.
- Ensured workflow changes are only saved on submit, not close of the dialog.
- Fixed issue with copied forms and conditions.
And Deploy 4.2?
As mentioned, the Deploy release contains the necessary functionality for deployment of forms in folders - so you can both queue for transfer and restore folders, and forms that live within folders, between environments. But there’s more…
List Multiple Dependency Issues on Failed Transfers
This is quite a small update but feedback from the Umbraco SWAT (support) team suggests it may be a popular one, so I’m hoping that’s the case. When restoring content, if you have an item such as a piece of content that depends on another - perhaps a media item selected via a picker - Deploy will restore that related item too.
Previously though, if the item can’t be found - perhaps as it’s been deleted, or is in the recycle bin - an error would be reported, and the deployment ceased. The content then needs to be fixed in the source environment and the operation retried.
The change with 4.2 is that now the dependency issues for all items will be gathered and reported in one go. So the issues still need to be fixed - in order to ensure the integrity of the restored or deployed content - but now you’ll have a list of all issues in one go rather than having to find and fix them one deploy operation at a time.
Deployment of Data From Custom Packages or Solutions
Umbraco Deploy can be used for deploying things other than Umbraco content, but with the current version this support is limited to certain scenarios. With this new release, we’ve looked to break out some of the hard-coded “knowledge” that Umbraco Deploy has about CMS and Forms, and instead use a registration mechanism that other packages can utilise as well.
I talked about this in the second half of my recent presentation at Codegarden, so this may be worth a watch if you want to see if this feature might be useful for your solution or package.
With the updates, it’s possible to provide registration code that will allow for your custom data, presented in Umbraco trees and editors, to be deployed by editors in the same way as they can for content, media and forms.
Dictionary Item Deployment via the Back-Office
When using Umbraco Deploy, generally Umbraco entities are considered as one of two types: as schema, such as document types and deployed via serialized files and source control, or as content, such as content or media, deployed by editors via the back-office.
Dictionary items are currently transferred as schema, but actually for some workflows there’s a preference that these are managed by editors and deployed via the back-office. We’ve now added a configuration option to allow dictionary items to also be deployed in this way.
Signature Clearing on Upgrades
Umbraco Deploy has a caching mechanism built-in that it uses when comparing entities between environments. This is used for performance reasons, to avoid examining the full artifact for differences on every transfer operation.
We’ve found over time though that sometimes these signatures can get out of date, indicating to Deploy that transfers are necessary or schemas are mismatched when actually there’s been no change. Rather a change has been made either in Deploy or the CMS that changes the serialized representation of an entity even though the data is the same. Most often this happens when a new property is added - for example to a data type configuration.
To avoid this we’ve introduced a clearing of this cache on any minor release of Deploy or CMS.
The other updates included in the release are as follows:
- Fixed issue with template deployment after changes to alias casing.
- Added a refresh button to the transfer queue (useful when working with multiple tabs).
- Added a value converter for the new media picker.
- Fixed issue with resolving deleted macro parameters.
- Modified the UDA structure for easier human reading.
- Improved error logging.
- Fixed issue with forms deployment where workflows are deleted via code.
Is this available for Umbraco 9 too?
Yes. As we’ve been improving all the products - CMS, Forms and Deploy - in their current versions, we’ve been merging up all the new features and bug fixes to the Umbraco 9 codebase. As such all these features will be available at Umbraco 9 launch. And, if you’ve been keeping up to date with the pre-releases of those, you can also try out this new functionality there. Refer to the Umbraco on .NET 5 Updates documentation article for details on how to get started with the Umbraco 9 release candidates.
How to test
First, you need to make a new Forms installation from Form 8.8RC (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.
Similarly for Deploy you’ll need to install the latest code into a new or upgraded product.
If you find things in the RC that are not working, 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 under the Forms 8.7 release or submit new bug reports (click New Issue and select Bug Report), please prefix the issue with 8.8RC (for Forms) and 4.2RC (for Deploy):
How to get your hands on the release candidates
For Forms, installation and release notes can be found on our.umbraco.com download page.
This release candidate is also available from the Umbraco Forms Nuget feed.
For Deploy On-Premises, the release notes can be found on the our.umbraco.com download page and 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, September 7th, 2021. This means Forms 8.8 will be available for upgrade on Umbraco Cloud and via Nuget or the download page. And Deploy will be available for upgrade on Umbraco Cloud and on Nuget for on-premises customers.
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 trackers for Forms and Deploy and, as always, we welcome you to submit product feedback and questions to email@example.com.