# Creating Forms

- Updated on Oct 30, 2024
- Published on Jan 17, 2023
- 5 minute(s) read

Forms are typically created by users in a Business Analyst or other business role who are tasked with designing simple forms for Mobileforce FSM. Typically, such users are not software developers nor have an IT role, so the process of creation, modification, and publication of Simple Forms is kept _simple_, making use of a wysiwyg tool with a browser-based UI.

Actions that might otherwise require coding are made simple in this interface. These simple forms are implicitly laid out, as there is no user ability to specify the layout of the forms.

Each simple form is defined by two elements:

- Form elements: A single form which contains a list of input elements.
- Input elements: An element describing a single field in the form.

During form creation, users can specify details of each individual form fields:

- Field Type
- Any default or initial values for the field
- Whether the form is static or dynamically generated
- The UI label for the form
- Access control
- Actions to initiate when a field is created, updated or read.
- Data validation: Please note that data is validated in a field only if the field is editable. Hidden, disabled, or readonly input fields are not validated.
- Advanced constraints on form fields

**Note:** Only users who have Admin Roles can access the UI for creating simple forms.

Forms are created by Admins using the Forms Publisher. A form creation workflow consists of two sections (or tabs): the **General** section and the **Forms** section.

### General Section

This section provides some general information about the form such as (a) core fields including the form name (b) form screen elements such as location/placement in the UI, icon (c) visibility and access control, and (d) the database table that form submissions are stored in. The following screenshot shows these fields:

### Forms Section

The Forms section has the form input fields organized in sections, as shown in the screenshot below.

**Note:** Forms have a limitation that the overall combined size of all the field types cannot exceed 8000 characters, in terms of space taken by various field types, in internal representation. So, for instance a "Text" field takes up 255 characters, a "Multi-Line Text" field takes up 4 characters (since it is represented as a blob). If a form has 100 fields, it makes sense to make these fields "Multi-Line Text" so as not to exceed the 8000 character overall limit.

## Using the Forms Publisher

To access the form creation UI, select **Forms Publisher** from the Admin page.

The **Forms Publisher** page is displayed, showing the forms that have previously been created.

**Note:** Each form in the table lists both the current **Version** as well as the **Released Version**. This versioning creates flexibility for creators so they can create and test their forms without impacting the end users who will complete and submit the forms.

From here you can:

- Click the  button to create a new form.
- Click the **Edit** hyperlink to review an existing form and edit it if necessary.

Additionally, each form supports the following actions:

### Create Copy

**Create Copy** offers a simple way to duplicate a form which you can use as the basis for creating a different form, without having to go through the entire form creation process. **Create Copy** only duplicates the structure of the form; it does not copy the data collected in the field.

This action is useful for creating two or more similar forms, or for starting all forms from a single _template_ form.

### Copy Into

**Copy Into** copies the data of the form into a form with a similar database structure.

### Export

The **Export** action provides a simple way to copy a form from the Mobileforce system to an external file system, where you can manipulate its structure outside of the Mobileforce form creator and then import the form back into Mobileforce.

Mobileforce exports the form as an XML file, which you can open and then modify, using a simple text editor or as an XML table in a spreadsheet application, such as Excel.

### Release

Mobileforce provides basic version control through its **Release** action, which allows you to continue to edit and develop a form without affecting the use of the form in the field.

Once you release a form, any subsequent changes made to the form go into a newer version. Each time you are ready to promote a new version of the form, replacing the current version, you will release it again, and the latest version will become the new release, replacing the previously released version.

**Note:** A new form will not appear in Mobileforce FSM until its initial release.

**Note:** There can only be one released version of a form in Mobileforce FSM. As soon as a new version is released, the previous released version is no longer accessible.

### Import Simple Forms

The **Import** button allows you to import simple forms from an external file system. Typically, most users import forms that were previously exported and modified using a text editor or spreadsheet application.

Click **Choose File** to select the XML form from your external file system. Once selected, Mobileforce FSM automatically generates an application name and database table name, which you can override if desired.

When finished, click **Import**.

### Import from Spreadsheet

The **Create from Spreadsheet** button allows you to create forms from data in an existing .xlsx spreadsheet.

Click **Choose File** to select the .xlsx spreadsheet file from your external file system. Once selected, Mobileforce FSM automatically generates an application name and database table name, which you can override if desired.

When finished, click **Import**.

## Create a Simple Form

Clicking  opens the **Create New Form App** window, where you specify the form name and its corresponding (backend) database name.

**Note:** The database/backend name of your form must meet specific input requirements, similar to requirements for database table names.

These restrict the use of blank and special characters in the name. For example, if you created a form named Daily & Periodic Health Reporting, the following would be a valid table name: daily_and_periodic_health_reporting.

When finished, click **Create**. Mobileforce creates the form and adds it to the **Forms Publisher** page. To modify the form, click **Edit**.

**Info:** When a new form is created by Mobileforce FSM, it provides an initial list of fields that are required for the form to function, and as such, **cannot be deleted or modified.**
