# Creating and Editing Layouts

- Updated on Feb 13, 2023
- Published on Feb 10, 2023

- 4 minute(s) read

Mobileforce Layouts allow you to customize the user interface/layout options for a specific Mobileforce page/table for the specific needs of your organization.

From the Layout Manager, you can create new layouts or edit existing layouts.

## Creating Layouts

To create a new layout, click the **Add** button.

Click the **Table** dropdown list and select the CPQ table you want to modify to suit your need. Then click the **Add Layout** button.

## Editing Layouts

To edit an existing layout, select the checkbox of the desired layout and click the **Edit** button.

## Updating the Layout Page

The layout page is divided into four main sections.

Make the desired changes to the layout and click **Save** when finished.

### Info

Displays the basic information regarding the layout itself, such as the database name and table ID. Additionally, you can specify the name for the layout.

### Constraints:

Allows you to select which user roles can access the layout, the actions those users can perform (create, read, update, etc), and the device interfaces that can be used to access the layout.

**Layout Type**

Enter the name of the Layout Type, which is displayed in the Layout table.

**Allowed Actions**

Select the actions that users are allowed to perform from this layout:

- **Create:** Users can create new objects from this layout.
- **Update:** Users can update existing objects from this layout.
- **Read:** Users can read existing objects from this layout.

**Allowed Screen Form Factors**

Select the device interfaces from which users can access this layout:

- **Phone**
- **Tablet**
- **Web**

**ACL**

The Access Control List (ACL) allows you to specify the CRM roles that are allowed to access this layout. To allow all user roles to access this constraint, ensure that the (default) value of _No Roles (All Users Allowed)_ is selected.

- Select **All** if users must have all of the specified roles in their profile to access this layout.
- Select **Any** if users only need one of the specified roles in their profile to access this layout.

Click the roles field and select one or more desired roles from the list.

**Priority**

Enter a numerical value representing the priority of the layout. Priority is used if multiple layouts for the same table are available for a user with a role and/or a specific device interface. Mobileforce will select the layout with the lowest number.

**Example:**

If two layouts have been created for Admins viewing the layout from a tablet, the layout with the lowest Priority will be selected.

This can be useful if you have layouts that are temporary or seasonal.

### Update Button

Specify the CRM roles that are allowed to use the **Update** button. To allow all user roles to access this constraint, ensure that the (default) value of _No Roles (All Users Allowed)_ is selected.

Click the roles field and select one or more desired roles from the list.

### Fields

The fields section is where you specify the fields that you want included in the layout and how they are organized.

You can add three components to the layout (headers, external table references, and fields). Components are displayed vertically in the Fields section, and new components are added beneath the lowest current component.

To move a component, click it and drag it to the desired location.

#### Headers

Headers allow you to group fields in the layout (for example, you could group all customer-specific fields under a header named _Client Information_). Headers are useful for creating **sections** in forms.

To add a header, click the **Add Header** button.

In the **Label** field, enter the header name. Specify any additional options, as needed, and click **Update** to add it to the layout.

#### External Table References

If your company has data in external databases that you want to add to the layout, then you can add that using an External Table Reference. To add a reference, click the **Add External TableRef** button.

In the **Label** field, enter the layout name for the table. Specify the location for the external table in the **Static Value** field.

Specify any additional options, as needed, and click **Update** to add it to the layout.

#### Fields

You can add the desired fields from the source table that you want included in the layout by clicking the **Add Field(s)** button.

Click the checkbox(es) associated with the fields that you want to add to the layout and click **Add** when finished.

**Note:**

Any fields with the expand  icon indicates that the field references objects in a separate table.

Click the expand icon to select the associated fields from the table to be added to your layout.

When finished, click **Add** to add the fields to the layout in the selected order.

When editing layouts, one can drag fields and headers up and down to determine the order in which they will appear in the table.
