Releases are sets of layouts or layout variations that your submissions will be matched to. You can have multiple live releases at a time.
You can add a new release to your instance in one of two ways:
- Create a completely new release
- Upload an existing release created in another instance of Hyperscience
Create a new release
Language families and releases
Each release can contain layouts from only one language family.
For more information about language families, see Supported Languages.
-
Go to Library > Releases, and click Add Release.
-
Enter a name for your release.
- For each layout you would like to include in the release:
- Find the layout in the table.
- If you have many layouts, you may find it helpful to use the search box to search by the layout's name.
-
You can also click Filters to find layouts with a particular status or that have certain tags.
- Select the checkbox next to its name.
-
If you would like to include only certain variations in the layout, click the arrow next to its name (), and deselect the checkboxes for any variations you don't want to include.
-
By default, the most recent version of the layout is selected. To select a previous version, click the clock icon (), select the version you want to include, and click Apply.
- If you want to apply a field customization to your release, select it from the drop-down list in the Field Customization column.
-
To learn more about field customizations, see Creating Field Customizations.
- Do one of the following:
- To create your release and lock it, click Create.
- To create your release as a draft, click the X in the upper-right corner of the screen.
Upload an existing release
Before you begin, make sure you've already downloaded the release that you want to upload. To learn more, see Exporting a Release.
-
Go to Library > Releases, and click Add Release.
-
Click Upload Existing.
-
Do one of the following:
- Drag and drop the ZIP file into the box provided.
-
Click Choose File to find the file on your machine and upload it.
-
Select an option under How To Handle Duplicate Custom Data Types? - the option is only applicable to data types with a list of expected values To learn more about these data types, see Creating Data Types with a List of Expected Values.
-
Skip if duplicate custom data type exists - selecting this option ensures that the existing custom data type’s list of values will not be overwritten with the JSON from the imported file.
-
Update with data from the JSON - selecting this option ensures that the existing custom data type’s list of values will be overwritten with the JSON from the imported file.
-
- Click Upload.
It may take a few minutes for the system to process your release. You will receive a notification when the processing is finished.
When you upload a release, each layout you’ve included in the release will be added to the Layout Library, if it does not exist in the instance already. Even if you’ve selected only certain variations of a layout to be included in a release, the complete layout will be added to the Layout Library. If you applied a field customization to the release, the customization will be incorporated into the layout’s variations. No field customizations will appear in the Fields and Customizations tab on the layout’s details page.
Re-associating field dictionaries after uploading a release
After exporting a layout release and a field dictionary from one instance and importing them into another, you must manually re-associate the new field dictionaries to the layout releases in the target instance. To do so, run this command on any VM running the Hyperscience application:
docker exec -it hsfe_gunicorn_1 /var/www/venv/bin/python
/var/www/forms/forms/manage.py associate_dictionary_fields
You only need to run the command once after importing. Afterward, verify that field dictionaries have been re-associated with the newly imported layouts in the application.
Changing a release’s status to “Live”
To change a release’s status to Live, you need to:
- Assign the release to a flow.
- Deploy the flow.
To learn more about assigning a release to a flow, see Assigning a Release to a Flow.