Umbraco

Forms in the database

Umbraco Forms 8.5 is here to make your life as a developer easier

Claus Jensen
Written by Claus Jensen

From today, you can get your hands on Forms 8.5 AKA “Forms in the database”. A release that will benefit you, if you’re using Forms in a setup where you have multiple hosts or environments. Especially built for Forms setups in Umbraco Cloud and setups outside Cloud that require load balancing, this release is here to make it simpler and safer for you to store and manage data. This new database setup is an opt-in feature thus, an upgrade and a migration is needed if you want to take advantage of it. Dive into the “history” of this release and then go get your hands on it:

The new release of Forms 8.5 is here - also known as the 'Forms in the database' release.

While this title in itself is pretty descriptive, we want you to know more about why we're doing this and who exactly is going to benefit from it - all of which to help you decide on whether an upgrade and a migration will make sense for your current setup. 

Basically, this new Forms release is a great addition for anyone using Forms in a setup where you have multiple hosts or environments.

A lot of the issues we've seen with Forms being used in Cloud sites (and other similar setups i.e. setups that require load balancing) has come down to the fact that Forms was built to store metadata for a form in a file instead of the actual Umbraco database.

While this works fine in most sites, it turned out to be the main culprit for a bunch of challenges when used in a setup spanning multiple environments/sites. In these setups, keeping things in sync and making sure desired changes are applied while also ensuring that nothing is overwritten by accident during builds and deployments could prove quite difficult to manage. No one wants difficulties - this is why a fix was needed. 

The fix 

To solve this problem, we had to take a step back and look at how Forms would be handling this in an ideal world.

It turned out that the answer was to make sure that all the metadata stored on disk, with a risk of being mishandled, had to be moved to the database where it would be safe and only handled by the Umbraco and Forms code.

Modifying Umbraco Forms to store everything in the database was, however, a fairly complex task. Adding to that, we also needed to ensure that you wouldn't encounter problems when the migrations to move all your existing Forms data into the database were running in a multi-environment setup.

Lots of things can go wrong when migrations are happening in multiple environments and you want the end result to be that everything is in sync across the board. We needed to be sure that this would not create any regression issues when applied to existing sites, so a lot of effort has been put into testing various use cases and configurations with existing data.

How it will work for you

Existing sites

Existing sites with Forms installed that make the upgrade to Forms 8.5, will not be utilizing the new database features by default. You may be fine with how things are working right now and you may actually be relying on that functionality - we do not want to change that.

When upgrading, you will, however, have the option to migrate to the new database storage which in many cases will be a more suitable way to store data.

Simply put: when you upgrade existing sites, nothing will change unless you want it to change. 

For details, please see the documentation

Existing sites using a custom file system provider

If you are using a custom file system provider for Forms, you will need to revert to the standard file system provider before the migration can run, it’s all described in the documentation.

Existing sites on Umbraco Cloud

If you want to update your existing Umbraco Cloud site to store forms in the database, we’ve created a step-by-step guide to get you safely through the migration. 

Alongside the Forms upgrade on Cloud, you’ll also receive Umbraco Deploy 3.5.0. This release contains support for transferring forms stored in the database. There are also a number of bug fixes as well as a new feature that will let you control who can transfer content and media based on User Group Permissions - This is a highly requested feature and we’ll have more details on this in the Product Update later this week. See the full list of features and fixes on the Umbraco Deploy page on Our.

New sites

New installations of Forms 8.5+ will not be using the database as storage by default. This will need to be configured as per the documentation.

New sites created on Umbraco Cloud come with Forms pre-installed and configured to use the new database as storage.

Do I need to upgrade?

We always encourage you to stay on top of the upgrades as you will benefit from other bug fixes as well. This release does contain a few other fixes that you might benefit from and if you’re on Umbraco Cloud, your upgrade also includes a significant upgrade to Deploy.

For those of you who are happy with your current Forms setup, this means you can upgrade and stay on top of the latest bug fixes, while not worrying about anything changing in your data setup.

If you, however, are experiencing the Forms issues described above, we now make it possible for you to move forward. To get this feature, you have to migrate your existing site. Upgrade to Forms 8.5 and then follow the documentation.

Get your hands on Forms 8.5

You might have noticed that we prematurely released Umbraco Forms 8.5 a couple of weeks back on Our. This was caused by a mistake during a test build by an automatic build pipeline which pushed all the way to production. This is why the release today is versioned 8.5.2. The issue has been addressed and we apologise for any confusion this may have caused.  

The latest version of Forms is available on Our.  

On Umbraco Cloud, Forms 8.5 and Deploy 3.5 are available as a minor upgrade for all existing sites using Umbraco Forms 8.x. - be aware that a migration is still needed on Cloud if you want to take advantage of the new Forms database setup.  

All new sites on Umbraco Cloud will run with the new Forms database set-up as a default.