Umbraco

Release Candidates: Umbraco Forms 8.12/9.4 and Deploy 4.6/9.4

Try the latest features and improvements for Umbraco Forms and Deploy

Andy Butland
Written by Andy Butland

Today we are making available new minor releases for Umbraco Forms and Umbraco Deploy. They each contain some further product improvements and, as usual, we're making them available first as release candidates to review. You can read more about the new features that you can expect in this post.

Overview:

The releases are available for solutions based on both CMS versions 8 and 9 and are mostly 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.12 and Deploy 4.6.  If you’ve started projects with Umbraco 9 running on .NET 5, version 9.4 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.12/9.4?

Start Folders for User Groups

The main focus of the previous Forms release was on improvements to the permissions model. We introduced the ability to manage user access to Forms functionality based on their membership of user groups.  And, leaning on a previous update that supported the organization of forms into folders, allowing for the setting of start folders for users, so they could be restricted to just a subset of the forms available.

With this latest release, we've combined those features, so you can now set start folders at the user group level too.  For installations with many user accounts, this should be a useful timesaver.

With start folders set on user groups, the permission model will work as follows:

  • If the user has a specific user permission set, it is used in preference to anything set on the user groups they are a part of.
    • This means if the user has no start folders defined and the groups they are part of do, they will have access to the root of the forms tree and be able to access all folders and forms.
  • If the user doesn't have a specific user permission set, they are granted access to all the unique folders the groups they are part of have access to.
    • If they are part of any group that has no start folders defined, they will have access to the root of the forms tree and be able to access all folders and forms.

Import/Export of Forms (for Umbraco 9)

With the introduction of Forms 9, we took the decision to support just one method of storage for form definitions - in the database.  Compared to using the file system, as is an option in Forms 8 and was the original method used by the package, database storage offers better support for load-balanced scenarios.

One small downside identified in dropping support for storing form definitions on disk though was for workflows where developers rather than editors are in control of creating forms and want to add the details of those forms to source control.

Of course options from other packages support this more fully, not least Umbraco Deploy which is available both for Cloud and on-premises projects.  If you don't wish to use those though, to at least make available the forms as files that you can include in source control, with Forms 9.4 we've added the ability to import and export of form definitions to and from disk files.

They work in a similar way to the import/export of document types available in Umbraco CMS.  You can select a form and via the actions, menu choose to export it to disk.  By right-clicking on the root of the forms tree, or on a folder, you can import a form from a disk file to the selected location.

Other Updates for Umbraco Forms

The other updates included in the release are as follows:

And Umbraco Deploy 4.6/9.4?

Improvements to Content Comparison

In the last release, we added a feature that allowed you to compare the status of a content item between environments, in order to see what would be changed if proceeding with a transfer or restore operations.

We received some useful feedback on this - thanks Heather! - and with this release have added some additional information.  Firstly, there's a summary table showing when and who edited the content, its URL, and its position in the tree.  And secondly, we've added buttons to the dialog so, after reviewing the changes, you can click to carry out the action you've now decided to proceed with.

Partial Restore For Forms

Umbraco Deploy offers a feature called "partial restore", which allows for the quick retrieval of a single item from an upstream environment, with or without its child items.  Until now this was only fully implemented for content and media.

For Forms, although you could partially restore a single item that already existed in your current environment, it wasn't possible to select one from the remote environment that you didn't already have.

Now you can.  By clicking the "Select folder or form to restore" button you can pick an item to restore from the remote environment.

Although this feature has been implemented for Forms, the integration is offered in an extensible way for third-party packages to utilize. Documentation can be found here.

Extensions to the Deploy "Settings" Dashboard

Within the Settings selection of Umbraco, a Deploy dashboard is available that allows for the manual triggering of operations such as the extraction of schema files to update the Umbraco installation.

We've added a couple of further sections to this dashboard, providing further information about your installation and potentially helping with debugging any issues you may encounter.

Configuration Details

Firstly, there's a section titled "Configuration Details".  The idea here is to surface the current environment's configuration, such that we can make clearer potential other options available or features that aren't yet being used.  Each setting shows the current configuration, alternative options, and provides some notes and links to documentation.

Schema Comparison

The second addition is a section titled "Schema Comparison".  This shows a record for all the items managed as schema within the installation, along with an indication if there are any differences between the information held in Umbraco and that in the serialized files on disk.  If there are discrepancies, a "diff view" that allows them to be compared is available.

As well as displaying details of Umbraco's core entity types such as document and data types, the schema comparison for Umbraco Forms entities are also displayed.  Again this hooks into a generic mechanism for integrating third-party packages with Umbraco Deploy, and is documented here.

Deployment of Culture & Hostnames Details

With this release, we've added the option of including the information managed under "Culture & Hostnames" within Umbraco, which is relevant for culture invariant content, but historically hasn't been included in a deployment operation.

The feature is opt-in by configuration, just to make sure we don't introduce any issues for existing installations that are upgraded and would then deploy this information by default.  For some setups, e.g. where specific hostnames are used in each environment, it may not make sense to have the information deployed.  But, where language information is concerned and where language root paths like "/en" are used, it's likely useful to have this information included in transfers and restores and will save some manual setup.

To configure, you set the following key to one of the options listed below.

Umbraco 8 (in the UmbracoDeploy.Settings.config file):

Or in the appSettings.json file (or equivalent) in Umbraco 9:

The value can be one of:

  • None - the default, where information is not transferred.
  • Culture - only the language setting for the content, defined under "Culture", is transferred.
  • AbsolutePath - only those values defined under "Domains" with an absolute path, e.g. "/en", are transferred
  • Hostname - only values defined under "Domains" with a full hostname, e.g. "en.mysite.com", are transferred.
  • All - all information is transferred

Combinations of these settings can also be applied, e.g. AbsolutePath, Culture.

Clear of Memory Cache

Some customers have reported intermittent and non-replicable issues related to Umbraco's memory cache following deployments, which are resolved by a manual reload of the cache via the Settings > Published Status > Caches dashboard.

By upgrading to the most recent available version of the CMS major you are running, you'll be able to benefit from the latest bug fixes and optimizations in this area.  That should be your first option if encountering cache-related issues. Failing that, or if a CMS upgrade is not an option, then this workaround can be considered.

Umbraco 8 (in the UmbracoDeploy.Settings.config file):

Or in the appSettings.json file (or equivalent) in Umbraco 9:

Or in the appSettings.json file (or equivalent) in V9:

Other Updates for Umbraco Deploy

The other updates included in the release are as follows:

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.12RC or 9.4RC (for Forms) and 4.6RC or 9.4RC (for Deploy):

Screenshot of raising a new issue for Umbraco Deploy 9.3RC on the Umbraco Deploy Github issue tracker.

How to get your hands on the release candidates

For Forms, release notes can be found on the 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 are happy to run some tests there, please reach out to Umbraco support and we can make available the files to run the RC on your project.

When is the public release?

We’re aiming for a full public release on Tuesday, April 26th, 2022, when the packages will be available for new and existing projects 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 product@umbraco.com.