Umbraco Forms on Cloud
In this article you can learn about how Umbraco Forms is handled on Umbraco Cloud and read about the workflow and best practices.
Umbraco Forms is a package that is included with your Umbraco Cloud project. It gives you a nice integrated UI, where you can create forms for your website. The package is built specifically for Umbraco and is maintained by Umbraco HQ.
Read more about the product in the Umbraco Forms section.
How forms are handled on Umbraco Cloud
Forms are handled like content and media. This means that you can transfer your forms between environments, using the same workflow you use for content and media.
Definitions for each specific form, its fields, workflows and prevalues are all stored in the Umbraco database.
Entries submitted are not transferred to the next environment, as they are environment specific. If you need to move entries from one environment to another, you need to run an export/import script on the databases.
You can work with forms on the environment of your choice.
When you need to test or use your forms on another environment you can:
- Transfer the forms to the next environment using Queue for transfer or
- Restore the forms on an environment lower in the workflow
For more information on how to handle content transfer/restores on Umbraco Cloud, checkout the following articles:
Umbraco Forms is part of the auto-upgrades on Umbraco Cloud. Whenever a new patch is ready for release, we will automatically apply it to your Cloud project. There will be a message in the Umbraco Cloud Portal at least 5 days before we roll out new versions.
To avoid having the auto-upgrades overwrite any of your custom settings, we strongly encourage that you use config transforms when you need custom configuration, and Themes when you need to customize your forms.
Whenever a new minor version of Umbraco Forms is ready, eg. 8.x or 7.x, you will get the option to apply the upgrade to your project. When your project is elligible to receive the new version, you will see an "Upgrade available!" label on your Development environment.
Version specific changes
In this section you can find information about version specific changes that might affect the way Umbraco Forms works on your project.
In Umbraco Forms version 9.0.0+, it is only possible to store Form data in the database.
If want to upgrading to Umbraco 9 and using Forms, you should first migrate the Forms to the database using Forms 8.
see the Umbraco Forms in the Database version 8.0.0+ article.
Prior to Umbraco 8.5.0 all forms data was saved as
.json files in the
App_Data/UmbracoForms directory in the file system.
As of Umbraco 8.5.0 you have the option to persist all Forms data directly in the database. This behaviour is default to all new sites created on Umbraco Cloud since September 2020. Was your Cloud project created before, you will need to upgrade the Umbraco Forms version as well as applying a setting in order to perform the migration of the Umbraco Forms data.
In order to switch to persisting all definitions for Umbraco Forms data in the Umbraco database, follow these steps:
Make sure all environments are upgraded to at least Umbraco Forms version 8.5.2 and Deploy 3.5.0
Make sure your forms are in sync between all your Cloud environments
Clone down you Development environment
Restore content and forms to the local clone
Open the configuration file
App_Plugins\UmbracoForms\UmbracoForms.configfrom your local clone
Add the follow key in the
<settings>section, and make sure the value is set to
<setting key="StoreUmbracoFormsInDb" value="True" />
Save the file
Spin up your local clone and verify that everything works as expected
Now it is time to deploy the setting to your Cloud environments.
Follow the steps outlined below for each environment in order for the migration to run on each of them.
- Access KUDU
- Navigate to
- Delete the
- Push the updated setting to the environment
- In order to run the migration, restart the environment from the Cloud portal
- From the Umbraco Backoffice transfer, queue and transfer the forms to the environment
- Repeat steps 1-5 for each of your Cloud environments
Did you create your project before June 2018?
Then your Umbraco Forms data might still be handled as meta data.
If you are migrating an Umbraco Cloud project from Umbraco 7 to Umbraco 8, make sure that your Umbraco Forms data is not handled as content.
In this case, follow these steps before initiating the migration:
- Run an
exportcommand from the
/datafolder to extract UDA files for your forms.
This means that you will need to follow the steps below, in order to persist Umbraco Forms data in the Umbraco database.
Find and open
Config\UmbracoDeploy.settings.configon your local machine
<?xml version="1.0" encoding="utf-8"?> <settings xmlns="urn:umbracodeploy-settings"> <forms transferFormsAsContent="true" /> </settings>
Remove all existing
data\revision\forms-form__*.udafiles, so it's not possible to accidentally revert back to this state (removing
UDAfiles won't remove the actual form on deploy)
Push the change back to the Cloud environment
- If you have more than 1 Cloud environment, make sure to deploy the change through to all of them
You are now able to queue your forms for transfer between the Cloud environments, like content and media
If you do not have the
transferFormsAsContent setting in the
UmbracoDeploy.settings.config file, you do not need to make any further changes.
Common issues with Umbraco Forms on Cloud
The Forms tree is missing
Some times you might experience that you loose the tree in the Forms section in the backoffice after a deployment.
In order to get the tree back, all you need to do is restart the environment from the Umbraco Cloud Portal.